0

Invitation to the 13th Graduation Ceremony & Installation of the 3rd Vice Chancellor & CEO

Invitation to the 13th Graduation Ceremony & Installation of the 3rd Vice Chancellor & CEO

.kcau-eac-overlay { position: fixed; inset: 0; background: rgba(16, 30, 62, 0.72); display: flex; align-items: center; justify-content: center; padding: 20px; z-index: 999999; opacity: 0; visibility: hidden; transition: opacity .25s ease; } .kcau-eac-overlay.kcau-eac-open { opacity: 1; visibility: visible; } .kcau-eac-modal { position: relative; width: auto; max-width: min(480px, 92vw); max-height: 90vh; background: #ffffff; border-radius: 14px; box-shadow: 0 20px 60px rgba(16, 30, 62, 0.35); overflow: hidden; display: flex; flex-direction: column; transform: scale(.96); transition: transform .25s ease; } .kcau-eac-overlay.kcau-eac-open .kcau-eac-modal { transform: scale(1); } .kcau-eac-close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border: none; border-radius: 50%; background: #192C57; color: #CBAE2D; font-size: 20px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; z-index: 2; box-shadow: 0 4px 12px rgba(16, 30, 62, 0.35); transition: background .15s ease, transform .15s ease; } .kcau-eac-close:hover { background: #101E3E; transform: scale(1.06); } .kcau-eac-close:focus-visible { outline: 3px solid #CBAE2D; outline-offset: 2px; } /* Scrolls internally on very small screens / tall posters, while the close button (outside this element) stays fixed in place. */ .kcau-eac-scroll { overflow-y: auto; max-height: 90vh; } .kcau-eac-poster-link { display: block; line-height: 0; } .kcau-eac-poster-link:focus-visible { outline: 3px solid #CBAE2D; outline-offset: -3px; } .kcau-eac-poster { display: block; width: 100%; height: auto; } @media (max-width: 600px) { .kcau-eac-overlay { padding: 14px; } .kcau-eac-modal { border-radius: 12px; } .kcau-eac-close { top: 8px; right: 8px; width: 34px; height: 34px; font-size: 18px; } } @media (prefers-reduced-motion: reduce) { .kcau-eac-overlay, .kcau-eac-modal, .kcau-eac-close { transition: none; } } (function () { var STORAGE_KEY = 'kcau_eac_scholarship_popup_closed'; var overlay = document.getElementById('kcauEacOverlay'); var closeBtn = document.getElementById('kcauEacClose'); var posterLink = document.getElementById('kcauEacPosterLink'); var lastFocused = null; if (!overlay || !closeBtn) return; function kcauEacHasStorage() { try { var t = '__kcau_eac_test__'; window.localStorage.setItem(t, '1'); window.localStorage.removeItem(t); return true; } catch (e) { return false; } } var kcauEacStorageAvailable = kcauEacHasStorage(); function kcauEacAlreadyClosed() { if (!kcauEacStorageAvailable) return false; try { return window.localStorage.getItem(STORAGE_KEY) === '1'; } catch (e) { return false; } } function kcauEacMarkClosed() { if (!kcauEacStorageAvailable) return; try { window.localStorage.setItem(STORAGE_KEY, '1'); } catch (e) { /* ignore storage failures (private mode, quota, etc.) */ } } function kcauEacOpen() { overlay.hidden = false; void overlay.offsetWidth; /* force reflow so the CSS transition runs */ overlay.classList.add('kcau-eac-open'); document.body.style.overflow = 'hidden'; lastFocused = document.activeElement; closeBtn.focus(); document.addEventListener('keydown', kcauEacOnKeydown); } function kcauEacClose(persist) { overlay.classList.remove('kcau-eac-open'); document.body.style.overflow = ''; document.removeEventListener('keydown', kcauEacOnKeydown); window.setTimeout(function () { overlay.hidden = true; }, 250); if (persist) kcauEacMarkClosed(); if (lastFocused && typeof lastFocused.focus === 'function') { lastFocused.focus(); } } function kcauEacOnKeydown(e) { if (e.key === 'Escape' || e.key === 'Esc') { kcauEacClose(true); } } closeBtn.addEventListener('click', function () { kcauEacClose(true); }); overlay.addEventListener('click', function (e) { if (e.target === overlay) { kcauEacClose(true); } }); if (posterLink) { posterLink.addEventListener('click', function () { /* Visitor engaged with the offer — don't show it again either. */ kcauEacMarkClosed(); }); } if (!kcauEacAlreadyClosed()) { if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', kcauEacOpen); } else { kcauEacOpen(); } } })();

Related Posts