@import url("glassmorphism.css");

:root {
    --cmc-navy: #0b2d4d;
    --cmc-blue: #145da0;
    --cmc-blue-dark: #0b3d6e;
    --cmc-sky: rgba(234, 243, 251, 0.65);
    --cmc-ink: #122433;
    --cmc-muted: #475b6d;
    --cmc-border: rgba(255, 255, 255, 0.65);
    --cmc-surface: var(--glass-bg, rgba(255, 255, 255, 0.68));
    --cmc-background: transparent;
    --cmc-shadow: rgba(11,45,77,.08);
    color-scheme: light;
}

[data-theme="dark"] {
    --cmc-navy: #e8f3ff;
    --cmc-blue: #6cc0ff;
    --cmc-blue-dark: #9ed5ff;
    --cmc-sky: rgba(24, 52, 76, 0.5);
    --cmc-ink: #f0f6fc;
    --cmc-muted: #bdd0e0;
    --cmc-border: rgba(255, 255, 255, 0.12);
    --cmc-surface: var(--glass-bg, rgba(18, 24, 34, 0.62));
    --cmc-background: transparent;
    --cmc-shadow: rgba(0,0,0,.32);
    color-scheme: dark;
}

html { scroll-behavior: smooth; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 2000; padding: .65rem .9rem; color: #fff; background: #0b2d4d; border-radius: .4rem; transform: translateY(-180%); transition: transform .2s ease; }
.skip-link:focus { color: #fff; transform: translateY(0); }
body {
    min-height: 100vh;
    color: var(--cmc-ink);
    background: transparent !important;
    font-family: "Open Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
    transition: color .2s ease, background-color .2s ease;
}
body a,
a,
a:hover,
a:focus,
a:active {
    text-decoration: none !important;
    transition: color .2s ease, background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
img, iframe, video { max-width: 100%; }
.container, .container-fluid { width: 100%; }
.form-control, .form-select { color: var(--cmc-ink); border-color: var(--cmc-border); background-color: var(--cmc-surface); }
.form-control::placeholder { color: var(--cmc-muted); opacity: .8; }
.form-control:focus, .form-select:focus { color: var(--cmc-ink); border-color: var(--cmc-blue); box-shadow: 0 0 0 .2rem rgba(20,93,160,.18); background-color: var(--cmc-surface); }

.header-top {
    padding: .28rem 0;
    color: #fff;
    background: var(--cmc-navy);
    border-bottom: 1px solid rgba(255,255,255,.15);
}
.header-top p, .header-top a { color: #f4f8fc !important; text-decoration: none !important; }
.header-top a:hover { color: #b9d9f4 !important; text-decoration: none !important; }
.header-top .blinking { animation: none; color: #b9d9f4 !important; }
.top-link { color: #f4f8fc !important; font-weight: 600; text-decoration: none !important; }
.header-top .row { min-height: 1.65rem; }
.header-top p, .header-top a { line-height: 1.2; }
.breaking-news { padding: .38rem 0; color: #fff; background: var(--cmc-blue-dark); }
.breaking_news { display: flex; align-items: center; gap: .55rem; min-width: max-content; text-transform: uppercase; letter-spacing: .05em; font-size: .78rem; }
.breaking-news .marquee { width: auto; min-width: 0; flex: 1 1 auto; margin-left: 0; padding: 0; overflow: hidden; position: relative; }
.breaking-news .marquee-track { display: flex; align-items: center; width: max-content; animation: cmcNoticeTicker 34s linear infinite; }
.breaking-news .marquee-group { display: inline-flex; align-items: center; flex: 0 0 auto; gap: 3rem; padding-right: 3rem; }
.breaking-news .marquee1 { float: none; margin-right: 0; }
.breaking-news .marquee-empty { color: rgba(255,255,255,.78); font-size: .85rem; }
.breaking-news .marquee:hover .marquee-track, .breaking-news .marquee:focus-within .marquee-track { animation-play-state: paused; }
.breaking-news .marquee1 { flex: 0 0 auto; white-space: nowrap; }
.breaking-news .breaking { color: #fff; font-size: .78rem; text-decoration: none !important; }
.breaking-news .breaking:hover { color: #b9d9f4; text-decoration: none !important; }
[data-theme="dark"] .header-top {
    color: #eef7ff;
    background: #071a2a;
    border-bottom-color: #29445a;
}
[data-theme="dark"] .header-top p,
[data-theme="dark"] .header-top a,
[data-theme="dark"] .header-top .top-link {
    color: #eef7ff !important;
}
[data-theme="dark"] .header-top a:hover,
[data-theme="dark"] .header-top .blinking {
    color: #9ed5ff !important;
}
[data-theme="dark"] .breaking-news {
    color: #f4f9ff;
    background: #103f62;
    border-bottom: 1px solid #285878;
}
[data-theme="dark"] .breaking-news .breaking_news strong,
[data-theme="dark"] .breaking-news .breaking_news .fa,
[data-theme="dark"] .breaking-news .breaking_news i,
[data-theme="dark"] .breaking-news .breaking {
    color: #f4f9ff !important;
}
[data-theme="dark"] .breaking-news .breaking:hover {
    color: #bfe3ff !important;
}
[data-theme="dark"] .breaking-news .marquee-empty {
    color: #d9edff;
}
@keyframes cmcNoticeTicker {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

/* ==========================================================================
   Icon Micro-Animations (Top Menu, Latest Notices, View, Download, Scroll-Top,
   Theme Toggle, Search, QAA Ticker, Badges, Cards & Action Icons)
   ========================================================================== */
@keyframes cmcPinBounce {
    0%, 100% { transform: translateY(0) scale(1); }
    35% { transform: translateY(-3px) scale(1.12); }
    65% { transform: translateY(1px) scale(0.97); }
}

@keyframes cmcMegaphoneWave {
    0%, 100% { transform: rotate(0deg) scale(1); }
    15% { transform: rotate(-14deg) scale(1.16); }
    30% { transform: rotate(10deg) scale(1.14); }
    45% { transform: rotate(-8deg) scale(1.08); }
    60% { transform: rotate(4deg) scale(1.04); }
}

@keyframes cmcBellSwing {
    0%, 100% { transform: rotate(0deg); }
    20% { transform: rotate(15deg); }
    40% { transform: rotate(-13deg); }
    60% { transform: rotate(8deg); }
    80% { transform: rotate(-5deg); }
}

@keyframes cmcPhoneRing {
    0%, 70%, 100% { transform: rotate(0deg) scale(1); }
    75% { transform: rotate(-14deg) scale(1.1); }
    80% { transform: rotate(14deg) scale(1.1); }
    85% { transform: rotate(-10deg) scale(1.08); }
    90% { transform: rotate(10deg) scale(1.08); }
    95% { transform: rotate(-5deg) scale(1.04); }
}

@keyframes cmcFloatBob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2.5px); }
}

@keyframes cmcLoginNudge {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(3px); }
}

@keyframes cmcBadgePulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(1.14); opacity: .9; }
}

@keyframes cmcEyeBlink {
    0%, 42%, 52%, 100% { transform: scaleY(1) scaleX(1); }
    47% { transform: scaleY(0.14) scaleX(1.08); }
}

@keyframes cmcDownloadBounce {
    0%, 100% { transform: translateY(0); }
    40% { transform: translateY(3px); }
    65% { transform: translateY(-1.5px); }
}

@keyframes cmcScrollUpFloat {
    0%, 100% { transform: translateY(1.5px); }
    50% { transform: translateY(-3.5px); }
}

@keyframes cmcBackToTopPulse {
    0%, 100% { box-shadow: 0 8px 20px rgba(11, 45, 77, 0.28), 0 0 0 0 rgba(19, 105, 180, 0.45); }
    60% { box-shadow: 0 10px 24px rgba(11, 45, 77, 0.34), 0 0 0 8px rgba(19, 105, 180, 0); }
}

@keyframes cmcSunSpin {
    0% { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(180deg) scale(1.12); }
    100% { transform: rotate(360deg) scale(1); }
}

@keyframes cmcMoonRock {
    0%, 100% { transform: rotate(0deg) scale(1); }
    35% { transform: rotate(-14deg) scale(1.1); }
    70% { transform: rotate(10deg) scale(1.05); }
}

@keyframes cmcSearchScan {
    0%, 100% { transform: translate(0, 0) rotate(0deg) scale(1); }
    25% { transform: translate(-1.5px, -1.5px) rotate(-8deg) scale(1.08); }
    60% { transform: translate(1.5px, -1px) rotate(6deg) scale(1.05); }
}

@keyframes cmcQaaSealPulse {
    0%, 100% { transform: scale(1) rotate(0deg); filter: drop-shadow(0 0 0 rgba(14, 165, 233, 0)); }
    50% { transform: scale(1.16) rotate(6deg); filter: drop-shadow(0 2px 6px rgba(14, 165, 233, 0.45)); }
}

@keyframes cmcQaaPillGlow {
    0%, 100% { box-shadow: 0 0 0 0 rgba(19, 105, 180, 0.2); }
    50% { box-shadow: 0 0 0 4px rgba(19, 105, 180, 0.08); }
}

@keyframes cmcHotBadgePulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.08); }
}

@keyframes cmcSendGlide {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    50% { transform: translate(2.5px, -2px) rotate(-6deg); }
}

@keyframes cmcCompassSwing {
    0%, 100% { transform: rotate(0deg); }
    30% { transform: rotate(18deg); }
    70% { transform: rotate(-14deg); }
}

@keyframes cmcStarTwinkle {
    0%, 100% { transform: scale(1) rotate(0deg); opacity: 1; }
    50% { transform: scale(1.18) rotate(12deg); opacity: .85; }
}

@keyframes cmcClockTick {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(8deg); }
    75% { transform: rotate(-8deg); }
}

/* 1. Location & Pin Icons */
.header-top .bi-geo-alt-fill,
.bi-geo-alt-fill,
.bi-geo-alt,
.fa-map-marker {
    display: inline-block;
    animation: cmcPinBounce 2.2s ease-in-out infinite;
    filter: drop-shadow(0 2px 4px rgba(250, 204, 21, 0.45));
}

/* 2. Latest Notice Ticker Megaphone, Bell & Hot Badges */
.breaking_news i,
.breaking_news .bi-megaphone-fill,
.bi-megaphone-fill,
.bi-megaphone {
    display: inline-block;
    animation: cmcMegaphoneWave 2s ease-in-out infinite;
    transform-origin: left center;
}

.breaking_news i,
.breaking_news .bi-megaphone-fill {
    color: #fde047 !important;
    filter: drop-shadow(0 0 6px rgba(253, 224, 71, 0.55));
}

.notice-item-icon,
.bi-bell-fill,
.bi-bell {
    display: inline-block;
    animation: cmcBellSwing 2.6s ease-in-out infinite;
    transform-origin: top center;
}

.notice-item-icon {
    font-size: .72rem;
}

.breaking-news .badge.text-bg-danger,
.bi-fire {
    display: inline-block;
    animation: cmcHotBadgePulse 1.6s ease-in-out infinite;
}

/* 3. Eye / View Icons (Preview, Detail Modals, Tables & Cards) */
.bi-eye,
.bi-eye-fill,
.bi-eye-slash,
.fa-eye {
    display: inline-block;
    animation: cmcEyeBlink 3.4s ease-in-out infinite;
    transform-origin: center center;
    transition: transform .2s ease, color .2s ease;
}

a:hover .bi-eye,
a:hover .bi-eye-fill,
a:hover .fa-eye,
button:hover .bi-eye,
button:hover .bi-eye-fill,
.btn:hover .bi-eye {
    transform: scale(1.22);
}

/* 4. Download Icons (Buttons, Nav Links, File Tables & Cards) */
.bi-download,
.bi-file-earmark-arrow-down,
.bi-file-earmark-arrow-down-fill,
.bi-cloud-arrow-down,
.bi-arrow-down-circle,
.fa-arrow-circle-o-down,
.fa-download {
    display: inline-block;
    animation: cmcDownloadBounce 2.1s ease-in-out infinite;
    transition: transform .2s ease;
}

a:hover .bi-download,
a:hover .bi-file-earmark-arrow-down,
a:hover .bi-file-earmark-arrow-down-fill,
a:hover .bi-cloud-arrow-down,
a:hover .bi-arrow-down-circle,
a:hover .fa-arrow-circle-o-down,
button:hover .bi-download,
button:hover .bi-file-earmark-arrow-down,
.btn:hover .bi-download {
    animation-duration: 0.75s;
}

/* 5. Scroll-to-Top / Go-to-Top Button & Arrow Icons */
.cmc-back-to-top.is-visible {
    animation: cmcBackToTopPulse 2.6s ease-in-out infinite;
}

.cmc-back-to-top i,
.bi-arrow-up,
.bi-chevron-up,
.bi-arrow-up-circle-fill {
    display: inline-block;
    animation: cmcScrollUpFloat 1.6s ease-in-out infinite;
}

.cmc-back-to-top:hover i {
    animation-duration: 0.65s;
    transform: translateY(-4px) scale(1.15);
}

/* 6. Theme Switcher Icons (Sun & Moon Stars) */
.theme-switcher i,
.bi-sun {
    display: inline-block;
    animation: cmcSunSpin 9s linear infinite;
    transform-origin: center center;
    transition: transform .25s ease, color .25s ease;
}

.bi-moon-stars,
.theme-switcher .bi-moon-stars {
    display: inline-block;
    animation: cmcMoonRock 3.2s ease-in-out infinite;
    transform-origin: center center;
}

.theme-switcher:hover i {
    transform: scale(1.22) rotate(22deg);
    color: #f59e0b;
}

/* 7. Search Icons (Navbar Trigger, Notice Search, Course Search, Global Modal) */
.bi-search,
.fa-search {
    display: inline-block;
    animation: cmcSearchScan 2.8s ease-in-out infinite;
    transform-origin: center center;
    transition: transform .2s ease;
}

button:hover .bi-search,
a:hover .bi-search,
.input-group:focus-within .bi-search,
.notice-search:focus-within .bi-search {
    transform: scale(1.2) rotate(-10deg);
}

/* 8. QAA Ticker, Accreditation & Verified Shield Icons */
.brand-accent {
    animation: cmcQaaPillGlow 3s ease-in-out infinite;
}

.brand-accent i,
.hero-eyebrow i,
.bi-patch-check,
.bi-patch-check-fill,
.bi-award,
.bi-award-fill,
.bi-shield-check,
.bi-shield-lock {
    display: inline-block;
    animation: cmcQaaSealPulse 2.5s ease-in-out infinite;
}

/* 9. Phone, Headset, Mail, Send, Globe, Compass, Stars, Clock & Academic Icons */
.header-top .bi-telephone-fill,
.contact-detail-icon .fa-phone,
.bi-telephone-fill,
.bi-telephone,
.bi-headset {
    display: inline-block;
    animation: cmcPhoneRing 3.2s ease-in-out infinite;
}

.bi-envelope,
.bi-envelope-fill,
.bi-envelope-paper,
.bi-send,
.bi-send-check,
.fa-envelope,
.fa-envelope-o {
    display: inline-block;
    animation: cmcSendGlide 2.7s ease-in-out infinite;
}

.bi-globe2,
.bi-compass,
.fa-globe {
    display: inline-block;
    animation: cmcCompassSwing 3.6s ease-in-out infinite;
}

.bi-stars,
.bi-star-fill,
.bi-lightning-charge-fill {
    display: inline-block;
    animation: cmcStarTwinkle 2.2s ease-in-out infinite;
}

.bi-calendar3,
.bi-calendar-event,
.bi-calendar2-check,
.bi-clock,
.bi-clock-fill,
.bi-clock-history {
    display: inline-block;
    animation: cmcClockTick 3.2s ease-in-out infinite;
}

.header-top .bi-mortarboard,
.bi-mortarboard-fill,
.bi-mortarboard,
.bi-book,
.bi-journal-richtext,
.bi-people,
.bi-people-fill,
.bi-building,
.bi-images,
.bi-chat-quote {
    display: inline-block;
    animation: cmcFloatBob 2.8s ease-in-out infinite;
}

.header-top .bi-journal-bookmark {
    display: inline-block;
    animation: cmcFloatBob 3s ease-in-out infinite .4s;
}

.header-top .blinking i,
.bi-box-arrow-in-right {
    display: inline-block;
    animation: cmcLoginNudge 1.8s ease-in-out infinite;
}

.dashboard-icon i,
.contact-card-icon i,
.servi-shadow .icon i,
.about-campus-stats-title i {
    display: inline-block;
    animation: cmcFloatBob 3.2s ease-in-out infinite;
    transition: transform .25s ease;
}

.dashboard-panel:hover .dashboard-icon i,
.contact-info-card:hover .contact-card-icon i,
.servi-shadow:hover .icon i {
    transform: scale(1.18) rotate(-8deg);
}

/* 10. Interactive Hover Micro-Animations for Arrows, Zoom, Fullscreen & Refresh */
a:hover .bi-arrow-right,
a:hover .bi-chevron-right,
a:hover .fa-angle-right,
a:hover .fa-arrow-right,
button:hover .bi-arrow-right,
button:hover .bi-chevron-right {
    display: inline-block;
    transform: translateX(3px);
    transition: transform .2s ease;
}

a:hover .bi-arrow-left,
button:hover .bi-arrow-left {
    display: inline-block;
    transform: translateX(-3px);
    transition: transform .2s ease;
}

a:hover .bi-box-arrow-up-right,
button:hover .bi-box-arrow-up-right {
    display: inline-block;
    transform: translate(2px, -2px) scale(1.12);
    transition: transform .2s ease;
}

button:hover .bi-zoom-in,
button:hover .bi-zoom-out,
button:hover .bi-arrows-fullscreen,
button:hover .bi-fullscreen-exit {
    display: inline-block;
    transform: scale(1.2);
    transition: transform .2s ease;
}

button:hover .bi-arrow-clockwise,
a:hover .bi-arrow-clockwise {
    display: inline-block;
    transform: rotate(180deg);
    transition: transform .35s ease;
}

@media (prefers-reduced-motion: reduce) {
    .bi-geo-alt-fill, .bi-geo-alt, .fa-map-marker,
    .breaking_news i, .bi-megaphone-fill, .bi-megaphone,
    .notice-item-icon, .bi-bell-fill, .bi-bell,
    .bi-eye, .bi-eye-fill, .bi-eye-slash, .fa-eye,
    .bi-download, .bi-file-earmark-arrow-down, .bi-file-earmark-arrow-down-fill,
    .bi-cloud-arrow-down, .bi-arrow-down-circle, .fa-arrow-circle-o-down,
    .cmc-back-to-top.is-visible, .cmc-back-to-top i, .bi-arrow-up, .bi-chevron-up,
    .theme-switcher i, .bi-sun, .bi-moon-stars,
    .bi-search, .fa-search,
    .brand-accent, .brand-accent i, .bi-patch-check, .bi-patch-check-fill,
    .bi-award, .bi-award-fill, .bi-shield-check, .bi-shield-lock,
    .bi-telephone-fill, .bi-telephone, .bi-headset,
    .bi-envelope, .bi-envelope-fill, .bi-envelope-paper, .bi-send, .bi-send-check,
    .bi-globe2, .bi-compass, .bi-stars, .bi-star-fill, .bi-lightning-charge-fill,
    .bi-calendar3, .bi-calendar-event, .bi-calendar2-check, .bi-clock, .bi-clock-fill {
        animation: none !important;
    }
}
.section-kicker { display: inline-block; padding: .35rem .7rem; color: var(--cmc-blue-dark); background: var(--cmc-sky); border-radius: 50rem; font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.notice-search { border: 1px solid var(--cmc-border); }
.notice-search .form-control { height: 46px; box-shadow: none; }
.notice-search .form-control:focus { box-shadow: none; }

/* Homepage dashboard */
.home-hero-wrap { padding: 1rem 0 0; background: var(--cmc-background); }
.home-hero-wrap .carousel { overflow: hidden; border-radius: 1rem; box-shadow: 0 14px 34px var(--cmc-shadow); }
.home-dashboard { background: var(--cmc-background); }
.dashboard-panel { padding: 1.25rem; border: 1px solid var(--cmc-border); border-radius: .9rem; background: var(--cmc-surface); box-shadow: 0 8px 22px var(--cmc-shadow); }
.home-leadership { background: var(--cmc-background); }
.home-leadership-card { display: flex; overflow: hidden; border: 1px solid var(--cmc-border); border-radius: 1rem; background: var(--cmc-surface); box-shadow: 0 8px 22px var(--cmc-shadow); }
.home-leadership-photo { flex: 0 0 34%; min-height: 250px; background: var(--cmc-sky); }
.home-leadership-photo img { display: block; width: 100%; height: 100%; min-height: 250px; object-fit: cover; }
.home-leadership-content { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.5rem; }
.home-leadership-content h3 { margin: .45rem 0 .8rem; color: var(--cmc-navy); font-size: 1.35rem; font-weight: 800; }
.home-leadership-content p { display: -webkit-box; margin: 0 0 1rem; overflow: hidden; color: var(--cmc-muted); line-height: 1.75; -webkit-box-orient: vertical; -webkit-line-clamp: 5; }
.home-leadership-content .dashboard-text-link { margin-top: auto; }
.dashboard-panel-heading { display: flex; align-items: flex-start; gap: .75rem; margin-bottom: 1rem; }
.dashboard-panel-heading h2 { margin: .35rem 0 0; color: var(--cmc-navy); font-family: "Raleway", sans-serif; font-size: 1.12rem; font-weight: 800; }
.dashboard-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.35rem; width: 2.35rem; height: 2.35rem; color: #fff; background: var(--cmc-blue); border-radius: .65rem; }
.dashboard-icon-soft { color: var(--cmc-blue-dark); background: var(--cmc-sky); }
.dashboard-panel .section-kicker { padding: 0; color: var(--cmc-blue); background: transparent; font-size: .64rem; }
.quick-access-list, .dashboard-news-list { display: grid; gap: .55rem; }
.quick-access-list a, .dashboard-news-list a { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .72rem .8rem; color: var(--cmc-ink); border: 1px solid var(--cmc-border); border-radius: .55rem; font-size: .82rem; font-weight: 700; }
.quick-access-list a:hover, .dashboard-news-list a:hover { color: var(--cmc-blue-dark); background: var(--cmc-sky); border-color: var(--cmc-blue); transform: translateX(2px); }
.quick-access-list a span { display: flex; align-items: center; gap: .55rem; }
.quick-access-list a i, .dashboard-news-list a > i { color: var(--cmc-blue); }
.dashboard-welcome { background: linear-gradient(140deg, var(--cmc-surface), var(--cmc-sky)); }
.dashboard-welcome > p { margin: 0 0 1.2rem; color: var(--cmc-muted); line-height: 1.7; }
.dashboard-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .55rem; margin-bottom: 1.2rem; }
.dashboard-metrics div { padding: .7rem .45rem; text-align: center; border: 1px solid var(--cmc-border); border-radius: .55rem; background: var(--cmc-surface); }
.dashboard-metrics strong { display: block; color: var(--cmc-blue); font-size: 1.2rem; }
.dashboard-metrics span { display: block; margin-top: .2rem; color: var(--cmc-muted); font-size: .62rem; line-height: 1.25; }
.dashboard-button { border-radius: .5rem; font-size: .8rem; font-weight: 700; }
.dashboard-news-list a { display: grid; grid-template-columns: 1fr auto; gap: .2rem .55rem; }
.dashboard-news-list a .news-date { grid-column: 1 / -1; color: var(--cmc-blue); font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.dashboard-news-list a strong { font-size: .78rem; }
.dashboard-text-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1rem; color: var(--cmc-blue); font-size: .78rem; font-weight: 800; }
.dashboard-text-link:hover { color: var(--cmc-blue-dark); }

.header {
    position: sticky;
    top: 0;
    z-index: 1030;
    background: var(--glass-bg-elevated) !important;
    border-bottom: 1px solid var(--glass-border) !important;
    box-shadow: var(--glass-shadow-sm), inset 0 1px 1.5px var(--glass-highlight) !important;
    backdrop-filter: blur(var(--blur-xl)) saturate(var(--glass-saturate)) !important;
    -webkit-backdrop-filter: blur(var(--blur-xl)) saturate(var(--glass-saturate)) !important;
}
.header .navbar { min-height: 64px; padding: .35rem 0; }
.header .navbar-brand { display: inline-flex; float: none; align-items: center; gap: .55rem; padding: 0; margin-right: .5rem; min-width: 0; overflow: hidden; color: var(--cmc-navy); text-decoration: none; }
.navbar-brand:hover { color: var(--cmc-blue); }
.navbarImage {
    width: 46px; height: 46px; flex-shrink: 0; object-fit: contain; padding: 2px;
    background: #fff; border: 1px solid var(--cmc-border); border-radius: .65rem;
}
.brand-copy { display: flex; flex-direction: column; line-height: 1.12; min-width: 0; max-width: 265px; overflow: hidden; }
.brand-copy strong { font-family: "Raleway", sans-serif; font-size: .98rem; letter-spacing: .01em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand-copy small { margin-top: .12rem; color: var(--cmc-muted); font-size: .62rem; font-weight: 600; letter-spacing: .02em; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.brand-accent {
    color: #dc2626;
    font-style: italic;
    letter-spacing: .04em;
}
.navbar-toggler { padding: .45rem .6rem; border-color: var(--cmc-border); }
.navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(20,93,160,.2); }
.navbar-toggler-icon { width: 1.25em; height: 1.25em; }
.header .navbar-nav { float: none; width: auto; gap: .1rem; }
.header .navbar-nav > li,
.header .navbar-nav .nav-item { float: none; width: auto; flex-shrink: 0; text-align: left; }
.navbar-nav .nav-link {
    padding: .55rem .62rem !important;
    color: var(--cmc-ink);
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
    border-radius: .4rem;
}
.navbar-nav .nav-link:hover, .navbar-nav .nav-link:focus, .navbar-nav .nav-link.active {
    color: var(--cmc-blue);
    background: var(--cmc-sky);
}
.navbar-nav .nav-cta { color: #fff !important; background: var(--cmc-blue); margin-left: .25rem; padding-inline: .9rem !important; }
.navbar-nav .nav-cta:hover, .navbar-nav .nav-cta:focus { color: #fff !important; background: var(--cmc-blue-dark); }
.theme-switcher { display: inline-flex !important; align-items: center; justify-content: center; gap: .35rem; min-width: auto; white-space: nowrap; border: 0; background: transparent; cursor: pointer; }
.theme-switcher .theme-label { font-size: .74rem; }
.dropdown-menu { min-width: 13rem; padding: .45rem; border: 1px solid var(--cmc-border); box-shadow: 0 12px 28px rgba(11,45,77,.12); }
.dropdown-item { padding: .55rem .7rem; color: var(--cmc-ink); border-radius: .3rem; font-size: .82rem; }
.dropdown-item:hover, .dropdown-item:focus { color: var(--cmc-blue-dark); background: var(--cmc-sky); }

/* Shared inner-page presentation */
.services-breadcrumb {
    padding: .85rem 0;
    background: var(--cmc-sky);
    border-bottom: 1px solid var(--cmc-border);
}
.inner_breadcrumb { max-width: 1140px; margin: 0 auto; padding: 0 1rem; }
.short_ls { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin: 0; padding: 0; list-style: none; color: var(--cmc-muted); font-size: .82rem; }
.short_ls a { color: var(--cmc-blue-dark); font-weight: 700; }
.short_ls a:hover { color: var(--cmc-blue); }
.about-sec, .gallery, .contact, .team, .aitsresumethree { padding: 4.5rem 0; background: var(--cmc-surface); }
.staff-page { min-height: 60vh; background: var(--cmc-background) !important; }
.page-intro { max-width: 650px; margin: 0 0 1rem; color: var(--cmc-muted); line-height: 1.7; }
.message-page { background: var(--cmc-background) !important; }
.message-card { display: flex; flex-direction: column; align-items: stretch; width: 100%; margin-bottom: 1.5rem; overflow: hidden; border: 1px solid var(--cmc-border); border-radius: .9rem; background: #fff; box-shadow: 0 8px 22px rgba(11,45,77,.07); }
.message-card .about_bottom_left { border: 0; border-radius: 0; }
.message-card .about2-info { order: -1; display: grid; place-items: center; max-width: none; padding: 2.5rem 2rem; background: linear-gradient(145deg, var(--cmc-sky), var(--cmc-surface)); perspective: 900px; }
.message-card .about2-info img { width: 310px; height: 310px; min-height: 0; border: .75rem solid var(--cmc-surface); border-radius: 50%; object-fit: cover; box-shadow: 0 1rem 1.5rem rgba(11,45,77,.22), 0 .35rem 0 var(--cmc-blue); transform: rotateY(-6deg) translateZ(0); transition: transform .3s ease, box-shadow .3s ease; }
.message-card .about2-info img:hover { box-shadow: 0 1.25rem 1.75rem rgba(11,45,77,.28), 0 .45rem 0 var(--cmc-blue); transform: rotateY(0) translateY(-.35rem) scale(1.03); }
.message-card .about_bottom_left { padding: 2rem 2.25rem 2.25rem; }
.message-card h2 { margin: .65rem 0 1rem; color: var(--cmc-navy); font-size: 1.35rem; }
.message-copy { color: var(--cmc-muted); font-size: 1rem; line-height: 1.85; }
.committee-page { background: var(--cmc-background) !important; }
.committee-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.staff-page #staffDirectory { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.staff-page #staffDirectory > .col { min-width: 0; }
.staff-page .team-agileits { overflow: hidden; }
.staff-photo-wrap { aspect-ratio: 4 / 4.5; overflow: hidden; background: var(--cmc-sky); }
.staff-photo { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center top; transition: transform .35s ease; }
.team-agileits:hover .staff-photo { transform: scale(1.04); }
.staff-card-body { padding: 1rem 1.1rem 1.15rem; }
.staff-card-body h2 { margin: 0 0 .35rem; color: var(--cmc-navy); font-family: "Raleway", sans-serif; font-size: 1rem; font-weight: 800; }
.staff-card-body p { margin: 0; color: var(--cmc-blue); font-size: .8rem; font-weight: 700; line-height: 1.45; }
.about-sub, .contact-row, .team-row-agileinfo, .agileinfo-gallery-row { display: flex; flex-wrap: wrap; gap: 1.5rem; }
.about_bottom_left, .contact-text1, .contact-w3lsright { flex: 1 1 320px; min-width: 0; }
.about_bottom_left, .contact-text1 { padding: 1.5rem; background: var(--cmc-surface); border: 1px solid var(--cmc-border); border-radius: .8rem; }
.about_bottom_left h4, .contact-text1 h4 { color: var(--cmc-navy); font-size: 1.3rem; font-weight: 800; }
.about_bottom_left h4 span, .contact-text1 h4 span, .about_bottom_left h3 span { color: var(--cmc-blue); }
.about_bottom_left p { color: var(--cmc-muted); line-height: 1.8; }
.about2-info { flex: 1 1 320px; min-width: 0; }
.about2-info img { width: 100%; height: 100%; min-height: 280px; object-fit: cover; border-radius: .8rem; box-shadow: 0 12px 28px rgba(11,45,77,.12); }
.gallery .w3gallery-grids { flex: 1 1 calc(33.333% - 1.5rem); min-width: 240px; }
.gallery .w3gallery-grids a, .gallery .w3gallery-grids button { display: block; overflow: hidden; position: relative; border-radius: .8rem; background: var(--cmc-surface); border: 1px solid var(--cmc-border); box-shadow: 0 5px 16px rgba(11,45,77,.07); }
.gallery .w3gallery-grids img { display: block; width: 100%; height: 230px; object-fit: cover; transition: transform .3s ease; }
.gallery .w3gallery-grids a:hover img, .gallery .w3gallery-grids button:hover img { transform: scale(1.04); }
.gallery-photo-trigger { width: 100%; padding: 0; border: 0; text-align: left; cursor: pointer; }
.gallery-photo-trigger.is-empty, .homepage-gallery-card.is-empty { cursor: default; opacity: .75; }
.gallery-photo-trigger:focus-visible { outline: 3px solid var(--cmc-gold); outline-offset: 3px; }
.gallery-photo-trigger .agile-figcaption p span { color: var(--cmc-primary); font-weight: 700; }
.gallery-lightbox-items { display: none; }
.sl-overlay { z-index: 3000 !important; background: rgba(0,0,0,.72); opacity: 1; }
.sl-wrapper.gallery-lightbox,
.sl-wrapper.simple-lightbox { z-index: 3010 !important; }
.sl-wrapper .sl-image { overflow: visible; }
.sl-wrapper .sl-image { transform: none !important; z-index: 3020 !important; }
.sl-wrapper .sl-image img { max-width: 90vw; max-height: calc(78vh - 4.5rem); object-fit: contain; transition: transform .2s ease; transform-origin: center center; }
.sl-wrapper .sl-counter { z-index: 3030 !important; top: 1rem; left: 1rem; background: rgba(0,0,0,.72); border-radius: .25rem; padding: .5rem .75rem; }
.sl-wrapper .sl-image .sl-caption { background: rgba(0,0,0,.72); border-radius: .25rem; padding: .5rem .75rem; }
.sl-wrapper .sl-close { display: flex !important; align-items: center; justify-content: center; z-index: 3030 !important; width: 2.75rem; height: 2.75rem; margin: 0; top: 1rem; right: 1rem; border: 1px solid rgba(255,255,255,.55); border-radius: 50%; background: rgba(0,0,0,.65); color: #fff; font-size: 2rem; line-height: 1; }
.sl-wrapper .sl-close:hover, .sl-wrapper .sl-close:focus-visible { background: rgba(0,0,0,.9); opacity: 1; }
.sl-wrapper .sl-navigation button,
.sl-wrapper .sl-gallery-toolbar,
.sl-wrapper .sl-gallery-thumbnails { z-index: 3030 !important; }
.sl-wrapper .sl-gallery-toolbar { position: fixed; right: 1.25rem; bottom: 4.65rem; z-index: 10020; display: flex; gap: .35rem; padding: .35rem; background: rgba(0,0,0,.82); border: 1px solid rgba(255,255,255,.2); border-radius: .35rem; box-shadow: 0 .25rem .8rem rgba(0,0,0,.35); }
.sl-wrapper .sl-gallery-toolbar button { min-width: 2rem; height: 2rem; color: #fff; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.35); border-radius: .2rem; font-size: 1rem; line-height: 1; }
.sl-wrapper .sl-gallery-toolbar button:hover,
.sl-wrapper .sl-gallery-toolbar button:focus-visible { color: #fff; background: var(--cmc-blue); }
.sl-wrapper .sl-gallery-thumbnails { position: fixed; right: 1.25rem; bottom: .75rem; left: 1.25rem; z-index: 10015; display: flex; gap: .35rem; max-width: 1100px; margin: 0 auto; padding: .35rem; overflow-x: auto; background: rgba(0,0,0,.78); border-radius: .3rem; scrollbar-width: thin; }
.sl-wrapper .sl-gallery-thumbnail { flex: 0 0 4.5rem; width: 4.5rem; height: 3.25rem; padding: 0; overflow: hidden; background: #222; border: 2px solid transparent; border-radius: .2rem; opacity: .8; }
.sl-wrapper .sl-gallery-thumbnail img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sl-wrapper .sl-gallery-thumbnail:hover, .sl-wrapper .sl-gallery-thumbnail:focus-visible, .sl-wrapper .sl-gallery-thumbnail.is-active { border-color: #fff; opacity: 1; }
@media (max-width: 575.98px) {
    .sl-wrapper .sl-gallery-toolbar { right: .75rem; bottom: 4.5rem; }
    .sl-wrapper .sl-gallery-thumbnails { right: .5rem; bottom: .5rem; left: .5rem; }
    .sl-wrapper .sl-gallery-thumbnail { flex-basis: 3.75rem; width: 3.75rem; height: 2.75rem; }
}
.gallery-photo-modal .modal-dialog { max-width: min(94vw, 1180px); margin: 1rem auto; align-items: flex-start; }
.gallery-photo-modal .modal-dialog-centered { min-height: calc(100% - 2rem); }
.gallery-photo-modal .modal-content { max-height: calc(100vh - 2rem); overflow: hidden; border: 0; border-radius: .9rem; background: #101820; box-shadow: 0 1rem 3rem rgba(0,0,0,.35); }
.gallery-photo-modal { z-index: 1060; }
.gallery-photo-modal .modal-header { display: flex; justify-content: space-between; align-items: center; gap: .9rem; color: #fff; background: #101820; border-bottom-color: rgba(255,255,255,.12); }
.gallery-photo-modal .modal-header .gallery-zoom-controls { order: 1; margin-left: auto; }
.gallery-photo-modal .modal-header .modal-title { margin: 0; }
.gallery-photo-modal .btn-close { filter: invert(1); }
.gallery-zoom-controls .btn { min-width: 2rem; padding: .25rem .5rem; }
.gallery-modal-image-wrap { display: flex; align-items: center; justify-content: center; height: auto; min-height: 0; max-height: 65vh; overflow: auto; background: #101820; overscroll-behavior: contain; }
.gallery-modal-image { display: block; width: auto !important; max-width: 100%; height: auto; max-height: 65vh; object-fit: contain; background: #101820; transform-origin: center center; user-select: none; }
.gallery-photo-modal .gallery-modal-image { transition: transform .2s ease; }
.gallery-photo-modal .carousel-caption { right: 0; bottom: 0; left: 0; padding: 2.5rem 1rem 1rem; background: linear-gradient(transparent, rgba(0,0,0,.78)); }
.gallery-photo-modal .carousel-control-prev,
.gallery-photo-modal .carousel-control-next { z-index: 20; top: 50%; bottom: auto; display: flex; align-items: center; justify-content: center; width: 12%; height: 3.5rem; transform: translateY(-50%); opacity: 1; pointer-events: auto; }
.gallery-photo-modal .carousel-control-prev { left: .35rem; }
.gallery-photo-modal .carousel-control-next { right: .35rem; }
.gallery-carousel-arrow { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; width: 2.7rem; height: 2.7rem; color: #fff; background: rgba(7,29,51,.88); border: 1px solid rgba(255,255,255,.6); border-radius: 50%; box-shadow: 0 0 14px rgba(0,0,0,.35); font-size: 1.15rem; }
.gallery-photo-modal .carousel-control-prev:hover .gallery-carousel-arrow,
.gallery-photo-modal .carousel-control-next:hover .gallery-carousel-arrow { background: var(--cmc-blue); box-shadow: 0 0 18px rgba(20,93,160,.6); }
.gallery .agile-figcaption { padding: .9rem 1rem; color: var(--cmc-navy); background: #fff; }
.gallery .agile-figcaption h4 { margin: .15rem 0 0; font-size: .95rem; }
.gallery .gallery-name-list { display: -webkit-box; margin-top: .35rem; overflow: hidden; color: var(--cmc-muted); font-size: .76rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.gallery .agile-figcaption p { margin: .3rem 0 0; color: var(--cmc-muted); font-size: .78rem; }
.gallery-home { position: relative; background: var(--cmc-surface); clear: both; }
.homepage-gallery-card { display: block; position: relative; width: 100%; overflow: hidden; min-height: 190px; padding: 0; border: 1px solid var(--cmc-border); border-radius: .8rem; box-shadow: 0 8px 20px var(--cmc-shadow); cursor: pointer; text-align: left; }
.homepage-gallery-card img { width: 100%; height: 190px; object-fit: cover; transition: transform .3s ease; }
.homepage-gallery-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(7,29,51,.82) 100%); }
.homepage-gallery-card > span,
.homepage-gallery-card .cmc-gallery-card-footer { position: absolute; z-index: 1; right: .8rem; bottom: .75rem; left: .8rem; display: flex; justify-content: space-between; align-items: center; gap: .5rem; color: #fff; font-size: .82rem; font-weight: 700; }
.homepage-gallery-card:hover img { transform: scale(1.06); }
.homepage-gallery-card:focus-visible { outline: 3px solid var(--cmc-gold); outline-offset: 3px; }
.gallery-home + .services { position: relative; clear: both; }
.gallery-home ~ .services { margin-top: 0 !important; }
@media (max-width: 575.98px) {
    .gallery-photo-modal .modal-dialog { margin: .5rem; }
    .gallery-photo-modal .modal-header { align-items: center; padding: .75rem; }
    .gallery-photo-modal .modal-title { max-width: 38%; font-size: .95rem; }
    .gallery-zoom-controls { gap: .25rem !important; }
    .gallery-zoom-controls .btn { min-width: 1.8rem; padding: .2rem .35rem; font-size: .72rem; }
    .gallery-modal-image-wrap { max-height: calc(100vh - 9rem); min-height: 0; }
    .gallery-modal-image { max-height: calc(100vh - 9rem); min-height: 0; }
    .gallery-photo-modal .carousel-caption { padding: 2rem .5rem .6rem; font-size: .78rem; }
}
.page-heading { margin: 3rem 0 1.5rem; }
.table { --bs-table-striped-bg: #f7fafc; border-color: var(--cmc-border); }
.container > .table { display: block; overflow-x: auto; }
.table thead th { padding: 1rem; color: #fff; background: var(--cmc-navy); border-color: var(--cmc-navy); font-size: .82rem; text-transform: uppercase; letter-spacing: .04em; }
.table tbody td { padding: .9rem 1rem; color: var(--cmc-muted); vertical-align: middle; }
.table tbody a { color: var(--cmc-blue); font-weight: 700; }
.contact .mapouter, .contact .gmap_canvas { width: 100% !important; height: 380px !important; }
.contact iframe { width: 100%; height: 380px; border: 0; border-radius: .8rem; }
.contact-lsleft { padding: 2.5rem 0; background: var(--cmc-navy); }
.address-grid { color: #fff; }
.address-grid h4 { margin-bottom: 1rem; font-size: 1.15rem; }
.contact-modern { position: relative; overflow: hidden; background: radial-gradient(circle at 8% 18%, rgba(20,93,160,.12), transparent 30%), var(--cmc-surface); }
.contact-modern::before { content: ""; position: absolute; top: 5rem; right: -8rem; width: 18rem; height: 18rem; border: 1px solid rgba(20,93,160,.18); border-radius: 50%; box-shadow: 0 0 36px rgba(20,93,160,.12); pointer-events: none; }
.contact-heading { position: relative; z-index: 1; max-width: 680px; }
.contact-heading .page-intro { max-width: 600px; margin: .8rem 0 0; }
.contact-info-card, .contact-map-card { position: relative; overflow: hidden; min-height: 380px; padding: 2rem; border: 1px solid var(--cmc-border); border-radius: 1rem; background: var(--cmc-surface); box-shadow: 0 12px 30px var(--cmc-shadow); }
.contact-info-card::after { content: ""; position: absolute; right: -3rem; bottom: -4rem; width: 12rem; height: 12rem; border: 1px solid rgba(20,93,160,.22); border-radius: 50%; box-shadow: 0 0 28px rgba(20,93,160,.15); }
.contact-card-icon { display: inline-flex; align-items: center; justify-content: center; width: 3rem; height: 3rem; margin-bottom: 1.3rem; color: #fff; background: var(--cmc-blue); border-radius: .8rem; box-shadow: 0 0 18px rgba(20,93,160,.45); }
.contact-info-card h2 { position: relative; z-index: 1; color: var(--cmc-navy); font-size: 1.5rem; font-weight: 800; }
.contact-info-card h2 span { color: var(--cmc-blue); }
.contact-card-lead { position: relative; z-index: 1; max-width: 28rem; color: var(--cmc-muted); line-height: 1.75; }
.contact-detail-list { position: relative; z-index: 1; display: grid; gap: .75rem; margin-top: 1.5rem; }
.contact-detail-list a { display: flex; align-items: center; gap: .8rem; color: var(--cmc-ink); text-decoration: none; }
.contact-detail-list a:hover { color: var(--cmc-blue); }
.contact-detail-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 2.3rem; width: 2.3rem; height: 2.3rem; color: var(--cmc-blue); border: 1px solid var(--cmc-blue); border-radius: 50%; box-shadow: 0 0 12px rgba(20,93,160,.2); }
.contact-detail-list small { display: block; color: var(--cmc-muted); font-size: .7rem; text-transform: uppercase; letter-spacing: .08em; }
.contact-map-card { padding: .65rem; }
.contact-map-label { display: flex; align-items: center; gap: .5rem; padding: .65rem .7rem; color: var(--cmc-navy); font-size: .82rem; font-weight: 700; }
.contact-map-label i { color: var(--cmc-blue); text-shadow: 0 0 10px rgba(20,93,160,.6); }
.contact-map-card iframe { display: block; height: calc(100% - 2.6rem); min-height: 320px; border: 1px solid var(--cmc-border); border-radius: .7rem; }
.contact-location-strip { background: linear-gradient(110deg, #071d33, #0b3d6e) !important; }
.contact-location-strip .address-grid { display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.contact-location-strip h2 { margin: .65rem 0 0; color: #fff; font-size: 1.35rem; }
.contact-location-copy { margin: 0; color: #d7eaff; }
.contact-location-copy i { margin-right: .45rem; color: #72b8f2; text-shadow: 0 0 12px rgba(114,184,242,.75); }
[data-theme="dark"] .contact-modern { background: radial-gradient(circle at 8% 18%, rgba(114,184,242,.1), transparent 30%), var(--cmc-background); }
[data-theme="dark"] .contact-info-card, [data-theme="dark"] .contact-map-card { background: var(--cmc-surface); }
@media (max-width: 767.98px) {
    .contact-info-card, .contact-map-card { min-height: auto; }
    .contact-info-card { padding: 1.4rem; }
    .contact-map-card iframe { min-height: 280px; }
    .contact-location-strip .address-grid { align-items: flex-start; flex-direction: column; gap: 1rem; }
}
.w3_address { margin: 0; padding: 0; list-style: none; }
.w3_address li { display: flex; gap: .7rem; align-items: center; padding: .55rem 0; color: #d7e4ef; }
.w3_address a { color: #fff; }
.w3_address .fa { width: 1rem; color: #9cc8ee; }
.pagination a, .pagination span { border-color: var(--cmc-border); color: var(--cmc-blue); }
.pagination .active a, .pagination .active span { color: #fff; background: var(--cmc-blue); border-color: var(--cmc-blue); }

.carousel { overflow: hidden; }
.carousel .carousel-item { min-height: 430px; background-position: center; background-size: cover; }
.carousel .carousel-item::before { display: none; }
.carousel .carousel-caption {
    z-index: 2;
    top: 1rem;
    bottom: auto;
    left: 1.25rem;
    right: auto;
    max-width: 310px;
    padding: .5rem .75rem;
    text-align: left;
    background: rgba(7, 29, 51, 0.18);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: .65rem;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.1);
}
.hero-eyebrow {
    display: inline-flex;
    align-items: center;
    margin-bottom: .2rem;
    color: #dbeafe;
    font-size: .56rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}
.carousel .carousel-caption h1 {
    margin-bottom: .2rem;
    color: #fff;
    font-family: "Raleway", sans-serif;
    font-size: clamp(.92rem, 1.35vw, 1.15rem);
    font-weight: 800;
    line-height: 1.18;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.8);
}
.carousel .carousel-caption p {
    max-width: 290px;
    margin-bottom: .4rem !important;
    color: rgba(255, 255, 255, 0.94);
    font-size: .68rem;
    line-height: 1.35;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.8);
}
.carousel .carousel-caption .btn {
    padding: .2rem .55rem !important;
    font-size: .64rem;
    line-height: 1.25;
}
.carousel .carousel-caption .btn-outline-light {
    background: rgba(7, 29, 51, 0.25);
    border-color: rgba(255, 255, 255, 0.65);
}
.carousel .hero-empty { background: linear-gradient(120deg, #0b2d4d, #145da0); }
.carousel .hero-empty::before { display: none; }
.hero-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.hero-actions .btn { padding: .7rem 1.1rem; border-radius: .45rem; font-weight: 700; }
.hero-actions .btn-primary { color: #fff; background: var(--cmc-blue); border-color: var(--cmc-blue); }
.hero-actions .btn-primary:hover { background: #0d4a83; border-color: #0d4a83; }
.carousel .carousel-indicators button { width: 2rem; height: .25rem; border: 0; border-radius: 1rem; }
.carousel .carousel-control-prev, .carousel .carousel-control-next { width: 8%; }
.banner-bottom-w3l, .services, #notices-section, #courses-section, .team {
    background: var(--cmc-surface) !important;
    background-image: none !important;
    border-top: 1px solid var(--cmc-border);
    border-bottom: 1px solid var(--cmc-border);
}
.title-div h3, .tittle, #courses-section h2, #notices-section h2 { color: var(--cmc-navy) !important; }
.title-div { position: relative; }
.title-div .tittle { margin-bottom: .65rem; font-size: clamp(1.65rem, 3vw, 2.25rem); font-weight: 800; }
.tittle-style { width: 3.25rem; height: .2rem; background: var(--cmc-blue); border-radius: 2rem; }
.title-div h3 span, .tittle span { color: var(--cmc-blue); }
.servi-shadow, .team-agileits, .course-card .card, .news-item-card .card, .stats-grid {
    background: var(--cmc-surface) !important;
    border: 1px solid var(--cmc-border) !important;
    border-radius: .8rem !important;
    box-shadow: 0 5px 16px rgba(11,45,77,.07) !important;
    transition: transform .2s ease, box-shadow .2s ease;
}
.servi-shadow:hover, .team-agileits:hover, .course-card .card:hover, .news-item-card .card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgba(11,45,77,.13) !important;
}
.servi-shadow .icon, .services-grids-w3l .icon { color: #fff !important; background: var(--cmc-blue) !important; }
.card-title, .course-card h4, .news-item-card h5, .team-agileits h4 { color: var(--cmc-navy) !important; }
.card-text, .course-card p, .news-item-card p, .team-agileits p, .banner_bottom_left, .comment { color: var(--cmc-muted) !important; }
.banner_bottom_left { padding: 1.5rem; border: 1px solid var(--cmc-border); border-radius: .8rem; background: var(--cmc-surface); }
.banner_bottom_left h3 span { color: var(--cmc-blue); }
.about-campus-copy { margin-bottom: .45rem; }
.about-campus-more[hidden] { display: none; }
.about-campus-layout { align-items: flex-start !important; }
.about-campus-layout .about-campus-panel,
.about-campus-layout .about-campus-stats { height: auto !important; }
.about-campus-layout .about-campus-panel,
.about-campus-layout .about-campus-stats { flex: 0 1 auto; }
.about-campus-layout .stats-grid { min-height: 0; height: auto !important; }
.about-campus-stats-section { margin-top: 1.5rem; }
.about-campus-stats-title { color: var(--cmc-navy); font-weight: 800; }
.about-campus-stats-title i { color: var(--cmc-blue); }
.about-campus-stats-section .stats-info-agile {
    min-height: 0 !important;
    padding: 0 !important;
    background: var(--cmc-background) !important;
    background-image: none !important;
    box-shadow: none !important;
}
.about-campus-stats-section .stats-grid { min-height: 120px; }
.about-campus-toggle { color: var(--cmc-blue); font-size: .85rem; font-weight: 700; text-decoration: none; }
.about-campus-toggle:hover, .about-campus-toggle:focus { color: var(--cmc-blue-dark); text-decoration: none; }
.stats-grid { display: flex; flex-direction: column; justify-content: center; padding: 1rem; text-align: center; }
.stats-grid .numscroller { color: var(--cmc-blue); font-size: 2rem; font-weight: 800; line-height: 1; }
.stats-grid p { margin-top: .55rem; font-size: .78rem; letter-spacing: 0; }
.servi-shadow { padding: 1.5rem; text-align: center; }
.servi-shadow .icon { display: inline-flex; align-items: center; justify-content: center; width: 2.7rem; height: 2.7rem; margin-bottom: 1rem; border-radius: 50%; }

.mkl_footer .sub-footer { padding: 3rem 0 2rem; background: var(--cmc-navy); }
.mkl_footer .mkls_footer_grid_left { padding: 0; }
.mkl_footer .mkls_footer_grid_left h4 { margin-bottom: .7rem; font-size: 1rem; }
.mkl_footer h4, .mkl_footer h2 { color: #fff; }
.mkl_footer p, .mkl_footer a { color: #d7e4ef; }
.botttom-nav-allah ul { display: flex; flex-wrap: wrap; justify-content: center; gap: .4rem; margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.16); }
.botttom-nav-allah li { list-style: none; }
.botttom-nav-allah a { display: block; padding: .45rem .7rem; border-radius: .35rem; }
.botttom-nav-allah a:hover { color: #fff; background: rgba(255,255,255,.1); }
.footer-copy-right { padding: 1rem 0; background: #071d33; }
.reveal-on-scroll { opacity: 0; transform: translateY(1rem); transition: opacity .6s ease, transform .6s ease; }
.reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }

[data-theme="dark"] body,
[data-theme="dark"] .banner-bottom-w3l,
[data-theme="dark"] .services,
[data-theme="dark"] #notices-section,
[data-theme="dark"] #courses-section,
[data-theme="dark"] .team,
[data-theme="dark"] .gallery,
[data-theme="dark"] .contact,
[data-theme="dark"] .about-sec,
[data-theme="dark"] .aitsresumethree {
    color: var(--cmc-ink);
    background: var(--cmc-background) !important;
}
[data-theme="dark"] .header { background: rgba(18,37,54,.96); }
[data-theme="dark"] .dropdown-menu,
[data-theme="dark"] .navbar-collapse,
[data-theme="dark"] .navbar-brand img,
[data-theme="dark"] .card,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] .alert-light,
[data-theme="dark"] .modal-content,
[data-theme="dark"] .banner_bottom_left,
[data-theme="dark"] .about_bottom_left,
[data-theme="dark"] .contact-text1,
[data-theme="dark"] .message-card,
[data-theme="dark"] .servi-shadow,
[data-theme="dark"] .team-agileits,
[data-theme="dark"] .stats-grid,
[data-theme="dark"] .course-card .card,
[data-theme="dark"] .news-item-card .card,
[data-theme="dark"] .gallery .w3gallery-grids a,
[data-theme="dark"] .gallery .w3gallery-grids button,
[data-theme="dark"] .notice-search .input-group-text,
[data-theme="dark"] .notice-search .form-control {
    color: var(--cmc-ink);
    background-color: var(--cmc-surface) !important;
    border-color: var(--cmc-border) !important;
}
[data-theme="dark"] .dashboard-welcome { background: linear-gradient(140deg, var(--cmc-surface), #183b56); }
[data-theme="dark"] .dropdown-item,
[data-theme="dark"] .navbar-nav .nav-link,
[data-theme="dark"] .card h1,
[data-theme="dark"] .card h2,
[data-theme="dark"] .card h3,
[data-theme="dark"] .card h4,
[data-theme="dark"] .card h5,
[data-theme="dark"] .card h6,
[data-theme="dark"] .card p,
[data-theme="dark"] .card-text,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] .alert-light,
[data-theme="dark"] .modal-body,
[data-theme="dark"] .page-intro,
[data-theme="dark"] .comment,
[data-theme="dark"] .about_bottom_left p,
[data-theme="dark"] .contact-text1 p,
[data-theme="dark"] .news-item-card p,
[data-theme="dark"] .course-card p,
[data-theme="dark"] .team-agileits p,
[data-theme="dark"] .card-title,
[data-theme="dark"] .course-card h4,
[data-theme="dark"] .news-item-card h5,
[data-theme="dark"] .team-agileits h4,
[data-theme="dark"] .gallery .agile-figcaption,
[data-theme="dark"] .gallery .agile-figcaption h4,
[data-theme="dark"] .gallery .agile-figcaption p,
[data-theme="dark"] .gallery .page-intro,
[data-theme="dark"] .gallery .alert,
[data-theme="dark"] .form-control {
    color: var(--cmc-ink) !important;
}
[data-theme="dark"] .card p,
[data-theme="dark"] .card-text,
[data-theme="dark"] .list-group-item,
[data-theme="dark"] .alert-light,
[data-theme="dark"] .modal-body,
[data-theme="dark"] .page-intro,
[data-theme="dark"] .comment,
[data-theme="dark"] .about_bottom_left p,
[data-theme="dark"] .contact-text1 p,
[data-theme="dark"] .news-item-card p,
[data-theme="dark"] .course-card p,
[data-theme="dark"] .team-agileits p {
    color: var(--cmc-muted) !important;
}
[data-theme="dark"] .card a,
[data-theme="dark"] .list-group-item a,
[data-theme="dark"] .modal-body a {
    color: var(--cmc-blue) !important;
}
[data-theme="dark"] .gallery .agile-figcaption {
    color: var(--cmc-ink) !important;
    background: var(--cmc-surface) !important;
}
[data-theme="dark"] .gallery .agile-figcaption h4 {
    color: var(--cmc-ink) !important;
}
[data-theme="dark"] .gallery .agile-figcaption p {
    color: var(--cmc-muted) !important;
}
[data-theme="dark"] .gallery .agile-figcaption p span,
[data-theme="dark"] .gallery .agile-figcaption p i {
    color: var(--cmc-blue) !important;
}
[data-theme="dark"] .gallery .w3gallery-grids button {
    color: var(--cmc-ink);
    background: var(--cmc-surface) !important;
}
[data-theme="dark"] .gallery-photo-modal .modal-header {
    color: #f4f9ff;
    background: #07131e;
    border-bottom-color: #29445a;
}
[data-theme="dark"] .gallery-photo-modal .modal-title { color: #f4f9ff !important; }
[data-theme="dark"] .gallery-photo-modal .gallery-zoom-controls .btn {
    color: #102333;
    background: #e5f2fc;
    border-color: #b8d2e5;
}
[data-theme="dark"] .gallery-photo-modal .gallery-zoom-controls .btn:hover {
    color: #07131e;
    background: #fff;
}
[data-theme="dark"] .gallery-carousel-arrow {
    color: #fff;
    background: rgba(20,93,160,.9);
    border-color: #9ed5ff;
}
[data-theme="dark"] .dropdown-item:hover,
[data-theme="dark"] .dropdown-item:focus,
[data-theme="dark"] .navbar-nav .nav-link:hover,
[data-theme="dark"] .navbar-nav .nav-link:focus,
[data-theme="dark"] .navbar-nav .nav-link.active {
    color: var(--cmc-ink) !important;
    background: var(--cmc-sky) !important;
}
[data-theme="dark"] .table { --bs-table-bg: var(--cmc-surface); --bs-table-striped-bg: #183247; --bs-table-color: var(--cmc-ink); }
[data-theme="dark"] .table tbody td { color: var(--cmc-muted); }
[data-theme="dark"] .services-breadcrumb { background: #142d43; }
[data-theme="dark"] .short_ls { color: var(--cmc-muted); }
[data-theme="dark"] .short_ls a,
[data-theme="dark"] .table tbody a { color: var(--cmc-blue); }
[data-theme="dark"] .contact-lsleft { background: #07131e; }
[data-theme="dark"] .footer-copy-right { background: #050c12; }
[data-theme="dark"] .mkl_footer .sub-footer { background: #0a1d2c; }

@media (min-width: 992px) and (max-width: 1199.98px) {
    .brand-copy { max-width: 200px; }
    .brand-copy strong { font-size: .88rem; }
    .brand-copy small { font-size: .56rem; }
    .brand-accent { font-size: .54rem !important; }
    .navbarImage { width: 42px; height: 42px; }
    .navbar-nav .nav-link { padding: .55rem .45rem !important; font-size: .76rem; }
    .navbar-nav .nav-cta { padding-inline: .7rem !important; }
    .theme-switcher { min-width: auto; }
    .theme-switcher .theme-label { display: none; }
}
@media (min-width: 1200px) and (max-width: 1399.98px) {
    .brand-copy { max-width: 240px; }
    .brand-copy strong { font-size: .92rem; }
    .navbar-nav .nav-link { padding: .6rem .55rem !important; font-size: .8rem; }
}
@media (max-width: 991.98px) {
    .navbar-nav { padding-top: .75rem; }
    .navbar-nav .nav-link { margin: .1rem 0; }
    .navbar-nav .nav-cta { margin: .35rem 0 0; text-align: center; }
    .gallery .w3gallery-grids { flex-basis: calc(50% - 1.5rem); }
    .staff-page #staffDirectory { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .committee-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 575.98px) {
    .header-top { padding: .22rem 0; }
    .header-top .row { min-height: 1.45rem; }
    .breaking-news { padding: .3rem 0; }
}
@media (max-width: 575.98px) {
    .header-top { text-align: center; }
    .header-top .text-right { text-align: center !important; line-height: 1.6rem !important; }
    .brand-copy strong { font-size: .9rem; }
    .brand-copy small { font-size: .58rem; }
    .navbarImage { width: 42px; height: 42px; }
    .breaking-news .container { align-items: stretch !important; flex-direction: column; gap: .2rem !important; }
    .about-sec, .gallery, .contact, .team, .aitsresumethree { padding: 3rem 0; }
    .gallery .w3gallery-grids { flex-basis: 100%; min-width: 0; }
    .staff-page #staffDirectory { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
    .staff-card-body { padding: .8rem; }
    .staff-card-body h2 { font-size: .88rem; }
    .staff-card-body p { font-size: .72rem; }
    .message-card .about2-info { padding: 1.75rem 1rem; }
    .message-card .about2-info img { width: min(78vw, 260px); height: min(78vw, 260px); }
    .message-card .about_bottom_left { padding: 1.5rem; }
    .committee-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
    .table { min-width: 680px; }
    .carousel .carousel-item { min-height: 360px; }
    .carousel .carousel-caption { top: .75rem; bottom: auto; left: .75rem; right: auto; max-width: min(82%, 280px); padding: .45rem .65rem; }
    .carousel .carousel-caption p { font-size: .64rem; }
    .hero-actions .btn { width: 100%; }
    .home-hero-wrap { padding-top: .5rem; }
    .home-hero-wrap .carousel { border-radius: .65rem; }
    .dashboard-panel { padding: 1rem; }
    .home-leadership-card { flex-direction: column; }
    .home-leadership-photo, .home-leadership-photo img { min-height: 220px; height: 220px; }
    .home-leadership-content { padding: 1.25rem; }
    .dashboard-metrics strong { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
    .breaking-news .marquee-track { animation: none; }
}

/* ==========================================================================
   Multi-Campus CMS Enterprise Component Enhancements
   ========================================================================== */
.cmc-page-hero {
    position: relative;
    padding: 2rem 0 1.85rem;
    background:
        radial-gradient(circle at 88% 18%, rgba(20, 93, 160, 0.14), transparent 28rem),
        linear-gradient(135deg, var(--cmc-sky), var(--cmc-surface));
    border-bottom: 1px solid var(--cmc-border);
}

.cmc-breadcrumb {
    font-size: 0.82rem;
}

.cmc-breadcrumb .breadcrumb-item a {
    color: var(--cmc-blue-dark);
    font-weight: 700;
    text-decoration: none;
}

.cmc-breadcrumb .breadcrumb-item a:hover {
    color: var(--cmc-blue);
    text-decoration: none;
}

.cmc-breadcrumb .breadcrumb-item.active {
    color: var(--cmc-muted);
    font-weight: 600;
}

.cmc-page-hero-title {
    margin: 0.35rem 0 0;
    color: var(--cmc-navy);
    font-family: "Raleway", sans-serif;
    font-size: clamp(1.6rem, 3.2vw, 2.35rem);
    font-weight: 800;
}

.cmc-page-hero-subtitle {
    max-width: 720px;
    color: var(--cmc-muted);
    font-size: 0.96rem;
    line-height: 1.65;
}

.cmc-modal-header-gradient {
    background: linear-gradient(135deg, #0b2d4d 0%, #145da0 100%) !important;
    color: #ffffff !important;
}

.staff-hover-overlay {
    position: absolute;
    inset: 0;
    background: rgba(11, 45, 77, 0.52);
    opacity: 0;
    transition: opacity 0.25s ease;
}

.staff-profile-trigger:hover .staff-hover-overlay,
.staff-profile-trigger:focus-visible .staff-hover-overlay {
    opacity: 1;
}

.cmc-gallery-img-wrap {
    position: relative;
    overflow: hidden;
}

.cmc-gallery-badge {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2;
    padding: 0.3rem 0.65rem;
    color: #fff;
    background: rgba(11, 45, 77, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50rem;
    font-size: 0.72rem;
    font-weight: 700;
    backdrop-filter: blur(4px);
}

.cmc-event-badge {
    color: var(--cmc-blue-dark);
    background: var(--cmc-sky);
    border: 1px solid var(--cmc-border);
    min-width: 4.5rem;
}

.cmc-cms-article h3 {
    color: var(--cmc-navy);
    font-weight: 800;
}

.cmc-cms-article ul {
    padding-left: 1.25rem;
}

.cmc-cms-article li {
    margin-bottom: 0.45rem;
}

.cmc-modern-footer {
    color: #dbeafe;
}

.cmc-footer-links {
    display: grid;
    gap: 0.45rem;
}

.cmc-footer-links a {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #d7e4ef;
    font-size: 0.85rem;
    text-decoration: none;
    transition: color 0.2s ease, transform 0.2s ease;
}

.cmc-footer-links a:hover {
    color: #ffffff;
    transform: translateX(3px);
}

.cmc-social-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 50%;
    text-decoration: none;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.cmc-social-btn:hover {
    background: var(--cmc-blue);
    transform: translateY(-2px);
}

.cmc-back-to-top {
    position: fixed;
    right: 1.25rem;
    bottom: 1.25rem;
    z-index: 1040;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    color: #fff;
    background: var(--cmc-blue);
    border: 0;
    border-radius: 50%;
    box-shadow: 0 8px 20px rgba(11, 45, 77, 0.28);
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease, background-color 0.2s ease;
}

.cmc-back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.cmc-back-to-top:hover {
    background: var(--cmc-blue-dark);
}

/* Downloads & PDF Viewer Shared Styles */
.download-card {
    border-radius: 1rem;
    overflow: hidden;
    background: var(--cmc-surface);
    border: 1px solid var(--cmc-border);
}

#downloadsTable thead th {
    font-size: 0.78rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--cmc-navy);
    background: var(--cmc-sky);
    border-bottom: 2px solid var(--cmc-border);
    padding-top: 0.65rem;
    padding-bottom: 0.65rem;
}

.file-type-badge {
    color: var(--cmc-blue-dark);
    background: var(--cmc-sky);
    border: 1px solid var(--cmc-border);
    font-size: 0.7rem;
    white-space: normal;
}

.pdf-viewer-card {
    min-height: 72vh;
    overflow: hidden;
    border: 1px solid var(--cmc-border);
    border-radius: 1rem;
    background: var(--cmc-surface);
    box-shadow: 0 12px 30px var(--cmc-shadow);
}

.pdf-document {
    display: block;
    width: 100%;
    height: 72vh;
    min-height: 620px;
    border: 0;
}

.image-preview,
.file-preview-state,
.pdf-empty-state {
    min-height: 68vh;
    display: grid;
    place-content: center;
    justify-items: center;
    padding: 2rem;
    text-align: center;
}

.image-preview img {
    max-width: 100%;
    max-height: 64vh;
    object-fit: contain;
    border-radius: .6rem;
    box-shadow: 0 8px 24px rgba(11,45,77,.12);
}

.file-preview-state i,
.pdf-empty-state i {
    margin-bottom: 1rem;
    color: var(--cmc-blue);
    font-size: 3rem;
}

body.viewer-fullscreen {
    overflow: hidden;
}

body.viewer-fullscreen > *:not(.pdf-viewer-shell) {
    display: none !important;
}

body.viewer-fullscreen .pdf-viewer-shell {
    position: fixed;
    inset: 0;
    z-index: 2000;
    max-width: 100vw !important;
    width: 100vw !important;
    overflow: auto;
    padding: 0 !important;
    background: var(--cmc-surface);
}

body.viewer-fullscreen .pdf-page-heading {
    display: none !important;
}

body.viewer-fullscreen .pdf-viewer-card,
body.viewer-fullscreen .pdf-document {
    width: 100vw;
    height: 100vh;
    min-height: 100vh;
    border: 0;
    border-radius: 0;
}

[data-theme="dark"] .cmc-page-hero {
    background:
        radial-gradient(circle at 88% 18%, rgba(114, 184, 242, 0.12), transparent 28rem),
        linear-gradient(135deg, #0f2437, var(--cmc-surface));
}

[data-theme="dark"] .bg-body-tertiary,
[data-theme="dark"] .bg-body-secondary {
    background-color: #0e1e2c !important;
    color: var(--cmc-ink) !important;
    border-color: var(--cmc-border) !important;
}

[data-theme="dark"] .bg-light,
[data-theme="dark"] .bg-white:not(img):not(.navbarImage):not(.btn-close) {
    background-color: var(--cmc-surface) !important;
    color: var(--cmc-ink) !important;
    border-color: var(--cmc-border) !important;
}

[data-theme="dark"] .badge.bg-light,
[data-theme="dark"] .badge.bg-white,
[data-theme="dark"] .badge.text-bg-light {
    background-color: #1c3952 !important;
    color: #f0f6fc !important;
    border-color: #355975 !important;
}

[data-theme="dark"] .text-dark:not(.badge) {
    color: var(--cmc-ink) !important;
}

[data-theme="dark"] .text-muted,
[data-theme="dark"] .text-secondary {
    color: var(--cmc-muted) !important;
}

[data-theme="dark"] .text-primary {
    color: var(--cmc-blue) !important;
}

[data-theme="dark"] .bg-primary-subtle {
    background-color: rgba(108, 192, 255, 0.16) !important;
    color: #9ed5ff !important;
}

[data-theme="dark"] .bg-success-subtle {
    background-color: rgba(16, 185, 129, 0.18) !important;
    color: #6ee7b7 !important;
}

[data-theme="dark"] .text-success {
    color: #6ee7b7 !important;
}

[data-theme="dark"] .dashboard-panel {
    background-color: var(--cmc-surface) !important;
    border-color: var(--cmc-border) !important;
    color: var(--cmc-ink);
}

[data-theme="dark"] .dashboard-icon:not(.dashboard-icon-soft) {
    color: #ffffff !important;
    background-color: #1967b2 !important;
}

[data-theme="dark"] .dashboard-icon-soft {
    color: #9ed5ff !important;
    background-color: #18344c !important;
}

[data-theme="dark"] .navbar-nav .nav-cta,
[data-theme="dark"] .cmc-back-to-top {
    color: #ffffff !important;
    background-color: #1967b2 !important;
}

[data-theme="dark"] .navbar-nav .nav-cta:hover,
[data-theme="dark"] .navbar-nav .nav-cta:focus,
[data-theme="dark"] .cmc-back-to-top:hover {
    color: #ffffff !important;
    background-color: #247cd0 !important;
}

[data-theme="dark"] .btn-outline-primary {
    color: var(--cmc-blue) !important;
    border-color: var(--cmc-blue) !important;
}

[data-theme="dark"] .btn-outline-primary:hover,
[data-theme="dark"] .btn-outline-primary:focus,
[data-theme="dark"] .btn-outline-primary.active {
    color: #071929 !important;
    background-color: var(--cmc-blue) !important;
    border-color: var(--cmc-blue) !important;
}

[data-theme="dark"] .btn-outline-secondary {
    color: var(--cmc-ink) !important;
    border-color: var(--cmc-border) !important;
}

[data-theme="dark"] .btn-outline-secondary:hover,
[data-theme="dark"] .btn-outline-secondary:focus,
[data-theme="dark"] .btn-outline-secondary.active {
    color: #ffffff !important;
    background-color: var(--cmc-sky) !important;
    border-color: var(--cmc-blue) !important;
}

[data-theme="dark"] .table thead th,
[data-theme="dark"] #downloadsTable thead th {
    color: #f0f6fc !important;
    background-color: #173854 !important;
    border-color: #2e5475 !important;
}

[data-theme="dark"] .table tbody td {
    color: var(--cmc-ink);
    border-color: var(--cmc-border);
}

[data-theme="dark"] .accordion-item {
    background-color: var(--cmc-surface) !important;
    border-color: var(--cmc-border) !important;
    color: var(--cmc-ink) !important;
}

[data-theme="dark"] .accordion-button {
    background-color: var(--cmc-surface) !important;
    color: var(--cmc-ink) !important;
}

[data-theme="dark"] .accordion-button:not(.collapsed) {
    background-color: var(--cmc-sky) !important;
    color: var(--cmc-blue-dark) !important;
    box-shadow: inset 0 -1px 0 var(--cmc-border);
}

[data-theme="dark"] .accordion-body {
    background-color: var(--cmc-surface) !important;
    color: var(--cmc-muted) !important;
}

[data-theme="dark"] .cmc-cms-article,
[data-theme="dark"] .cmc-cms-article p,
[data-theme="dark"] .cmc-cms-article li {
    color: var(--cmc-muted) !important;
}

[data-theme="dark"] .cmc-cms-article h1,
[data-theme="dark"] .cmc-cms-article h2,
[data-theme="dark"] .cmc-cms-article h3,
[data-theme="dark"] .cmc-cms-article h4,
[data-theme="dark"] .cmc-cms-article strong {
    color: var(--cmc-ink) !important;
}

[data-theme="dark"] .dt-container .dt-search input,
[data-theme="dark"] .dt-container .dt-length select,
[data-theme="dark"] .dataTables_wrapper .dataTables_filter input,
[data-theme="dark"] .dataTables_wrapper .dataTables_length select {
    background-color: #0e1e2c !important;
    color: var(--cmc-ink) !important;
    border-color: var(--cmc-border) !important;
}

[data-theme="dark"] .dt-container .dt-info,
[data-theme="dark"] .dt-container label,
[data-theme="dark"] .dataTables_wrapper .dataTables_info,
[data-theme="dark"] .dataTables_wrapper label {
    color: var(--cmc-muted) !important;
}

[data-theme="dark"] .pagination .page-link {
    background-color: var(--cmc-surface);
    border-color: var(--cmc-border);
    color: var(--cmc-blue);
}

[data-theme="dark"] .pagination .page-item.active .page-link {
    background-color: #1967b2;
    border-color: #1967b2;
    color: #ffffff;
}

[data-theme="dark"] .pagination .page-item.disabled .page-link {
    background-color: #0e1e2c;
    border-color: var(--cmc-border);
    color: #6d8499;
}
