writer

.opinion-author-image { background-size: contain; background-repeat: no-repeat; height: 60px; width: 60px; border-radius: 100%; } .opinion-item:not(:last-child) { margin-bottom: 35px; } .opinion-author-name { font-family: Myriad Pro,Arial; font-size: 11.63px; font-weight: 500; line-height: 14px; letter-spacing: -0.11999999731779099px; text-align: left; text-underline-position: from-font; text-decoration-skip-ink: none; color: #A2A2A2; } .opinion-title { font-family: Myriad Pro,Arial; font-weight: 700; font-size: 23px; line-height: 30px; letter-spacing: -0.36px; text-align: left; text-underline-position: from-font; text-decoration-skip-ink: none; } .opinions-title { font-family: Myriad Pro,Arial; font-size: 21px; font-weight: 700; line-height: 25.41px; letter-spacing: -0.01em; text-align: left; text-underline-position: from-font; text-decoration-skip-ink: none; color: #333333; border-bottom: solid 1px #333333; } .author-name-margin { margin-bottom: 40px; } .opinion-content-margin { margin : 9px 0px 7px 0px ; }
.last-opinion-text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.alert-success { color :#A3656F ; } .alert-danger { color : red ; }

Join Our Newsletters

Sign up by email to receive news.

document.addEventListener('DOMContentLoaded', function () { function validateEmail(email) { return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email); } function showModal(message, type) { const messageContainer = document.getElementById("messageContainer"); messageContainer.textContent = message; messageContainer.className = `alert alert-${type} mt-3`; // Bootstrap alert styling messageContainer.classList.remove("d-none"); // Hide message after 5 seconds setTimeout(() => { messageContainer.classList.add("d-none"); }, 5000); } document.getElementById("emailForm").addEventListener("submit", function (event) { event.preventDefault(); const emailInput = document.getElementById("email"); const email = emailInput.value.trim(); if (!validateEmail(email)) { showModal('Invalid email format', 'danger'); return; } const url = `/subscribeNewsletter?email=${encodeURIComponent(email)}`; fetch(url, { method: "GET", headers: { "Accept": "application/json" } }) .then(response => { if (!response.ok) { showModal("Error submitting email. Try again.", 'danger'); } return response.json(); }) .then(data => { showModal(data.message, 'success'); }) .catch(error => { showModal("Error submitting email. Try again.", 'danger'); }); }); });
.epaper-separator{ height: 1px; width: 100%; background-color: #D0D0D0; margin: 15px 0; }

Today’s Paper

.alert-success { color :#A3656F ; } .alert-danger { color : red ; } .footer { font-family:Myriad Pro,Arial; } .newspaper-footer{ visibility:hidden; } .socialFixOuter { position: fixed; top: 50%; margin-top: 40px; right: 0; transition: .2s; z-index: 20; height: 217px; width: 40px; } .socialFix { height: 30px; width: 30px; display: block; position: relative; cursor: pointer; background-size: 18px 18px; transition: .2s; background-position: center; background-repeat: no-repeat; border-radius: 2px; margin-top: 1px; } .socialFix:hover { width: 40px; margin-left: -10px; } .app-badge-img { height: 36px; width: auto; } @media (max-width: 768px) { .app-badge-img { height: 32px; } .app-badges { justify-content: center !important; } }
document.addEventListener("DOMContentLoaded", function () { const socialFix = document.querySelector(".socialFixOuter"); if (!socialFix) return; let firstInteraction = false; let hideTimeout = null; function checkMobileScreen() { if (window.innerWidth < 768) { socialFix.style.display = "none"; } else { socialFix.style.display = "block"; } } checkMobileScreen(); window.addEventListener("resize", checkMobileScreen); function handleFirstInteraction() { if (firstInteraction) return; if (window.innerWidth < 768) return; firstInteraction = true; socialFix.style.right = "-25px"; } socialFix.addEventListener("mouseenter", function () { if (window.innerWidth < 768) return; if (hideTimeout) clearTimeout(hideTimeout); socialFix.style.right = "0"; }); socialFix.addEventListener("mouseleave", function () { if (window.innerWidth < 768) return; if (hideTimeout) clearTimeout(hideTimeout); hideTimeout = setTimeout(() => { socialFix.style.right = "-25px"; }, 500); }); ["click", "touchstart"].forEach((evt) => { socialFix.addEventListener(evt, handleFirstInteraction); }); }); function validateEmail(email) { if (email.length > 255) return false; const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; if (!emailRegex.test(email)) return false; if (email.includes('..') || email.startsWith('.') || email.endsWith('.')) return false; return true; } function sanitizeInput(input) { input = input.replace(/<[^>]*>/g, ''); input = input.replace(/javascript:/gi, ''); input = input.replace(/on\w+\s*=/gi, ''); input = input.replace(/[<>"'&(){}[\]]/g, ''); return input.trim(); } document.addEventListener('DOMContentLoaded', function () { function showModal(message, type) { const messageContainer = document.getElementById("messageContainerFooter"); messageContainer.textContent = message; messageContainer.className = `alert alert-${type} mt-3`; messageContainer.classList.remove("d-none"); setTimeout(() => { messageContainer.classList.add("d-none"); }, 5000); } document.getElementById("emailFormFooter").addEventListener("submit", function(event) { event.preventDefault(); const emailInput = document.getElementById("emailFooter"); const email = sanitizeInput(emailInput.value.trim()); if (!validateEmail(email)) { showModal('Invalid email format', 'danger'); return; } const formData = new FormData(); formData.append('email', email); fetch('/subscribeNewsletter', { method: "POST", body: formData, headers: { "Accept": "application/json", "X-Requested-With": "XMLHttpRequest" } }) .then(response => { if (!response.ok) { showModal("Error submitting email. Try again.", 'danger'); } return response.json(); }) .then(data => { showModal(data.message, 'success'); }) .catch(error => { showModal("Error submitting email. Try again.", 'danger'); }); }); });