/* =========================================================
   ST. ALOYSIUS SCHOOL WEBSITE
   COMPLETE HEADER CSS
========================================================= */


/* =========================================================
   GLOBAL
========================================================= */

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;
    font-family: "Poppins", Arial, sans-serif;
    background: #ffffff;
    color: #333;
}


/* =========================================================
   SCHOOL HEADER
========================================================= */

.school-header {
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;

    z-index: 9999;

    background: #d9e7fb;

    box-shadow:
        0 5px 25px rgba(0, 0, 0, 0.08);

    transition:
        all 0.4s ease;
}


/* Header after scroll */

.school-header.scrolled {
    box-shadow:
        0 8px 30px rgba(0, 0, 0, 0.14);
}


/* =========================================================
   SCHOOL TOP ROW
========================================================= */

.school-top {
    width: 100%;

    background: #d9e7fb;

    border-bottom: 1px solid #eeeeee;

    transition: all 0.4s ease;
}


.school-brand {
    min-height: 105px;

    display: flex;

    align-items: center;

    gap: 20px;
}


/* =========================================================
   SCHOOL LOGO
========================================================= */

.school-logo {
    width: 120px;
    height: 120px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    text-decoration: none;
}


.school-logo img {
    width: 100%;
    height: 100%;

    object-fit: contain;

    display: block;
}


/* =========================================================
   SCHOOL INFORMATION
========================================================= */

.school-info {
    flex: 1;

    min-width: 0;
}


.school-info h1 {
    margin: 0;

    font-size: 30px;

    line-height: 1.2;

    font-weight: 1000;

    letter-spacing: 0.4px;

    color: #172554;
}


.school-info h2 {
    margin: 3px 0 0;

    font-size: 22px;

    line-height: 1.3;

    font-weight: 800;

    color: #b91c1c;
}


.school-info p {
    margin: 5px 0 0;

    font-size: 15px;

    line-height: 1.3;
	
	font-weight: 600;

    font-style: italic;

    color: #0b3787;
}


/* =========================================================
   SCHOOL CONTACT
========================================================= */

.school-contact {
    display: flex;

    flex-direction: column;

    gap: 8px;

    flex-shrink: 0;
}


.school-contact div {
    display: flex;

    align-items: center;

    gap: 9px;

    font-size: 13px;

    color: #555555;

    white-space: nowrap;
}


.school-contact i {
    width: 18px;

    text-align: center;

    font-size: 15px;

    color: #b91c1c;
}


/* =========================================================
   NAVIGATION ROW
========================================================= */

.navigation-row {
    position: relative;

    width: 100%;

    background:
        linear-gradient(
            90deg,
            #111f4d,
            #172554,
            #1e3a8a
        );

    border-bottom: 3px solid #fbbf24;
}


.navigation-row .navbar {
    min-height: 58px;

    padding: 0;
}


/* =========================================================
   NAVIGATION LIST
========================================================= */

.navigation-row .navbar-nav {
    display: flex;

    align-items: center;

    justify-content: center;

    gap: 3px;

    width: 100%;
}


/* =========================================================
   NAVIGATION LINKS
========================================================= */

.navigation-row .nav-link {
    position: relative;

    display: flex;

    align-items: center;

    justify-content: center;

    gap: 6px;

    min-height: 58px;

    padding: 0 17px !important;

    color: rgba(255, 255, 255, 0.92) !important;

    font-size: 14px;

    font-weight: 600;

    text-transform: uppercase;

    white-space: nowrap;

    transition:
        color 0.3s ease,
        background 0.3s ease;
}


.navigation-row .nav-link:hover {
    color: #ffffff !important;

    background:
        rgba(255, 255, 255, 0.08);
}


/* Active */

.navigation-row .nav-link.active {
    color: #ffffff !important;

    background:
        rgba(255, 255, 255, 0.10);
}


/* =========================================================
   NAVIGATION UNDERLINE ANIMATION
========================================================= */

.navigation-row .nav-link::after {
    content: "";

    position: absolute;

    left: 17px;
    right: 17px;

    bottom: 5px;

    height: 2px;

    background: #fbbf24;

    transform: scaleX(0);

    transform-origin: center;

    transition:
        transform 0.3s ease;
}


.navigation-row .nav-link:hover::after,
.navigation-row .nav-link.active::after {
    transform: scaleX(1);
}


/* =========================================================
   DROPDOWN MAIN MENU
========================================================= */

.navigation-row .dropdown-menu {
    position: absolute;

    top: 100%;
    left: 0;

    min-width: 235px;

    margin: 0 !important;

    padding: 8px;

    border: none;

    border-radius: 0 0 10px 10px;

    background: #ffffff;

    box-shadow:
        0 15px 35px rgba(0, 0, 0, 0.18);

    z-index: 99999;
}


/* =========================================================
   DESKTOP MAIN DROPDOWN ANIMATION
========================================================= */

@media (min-width: 992px) {

    .navigation-row .nav-item.dropdown > .dropdown-menu {
        display: block;

        opacity: 0;

        visibility: hidden;

        transform:
            translateY(10px);

        transition:
            opacity 0.25s ease,
            transform 0.25s ease,
            visibility 0.25s ease;
    }


    .navigation-row
    .nav-item.dropdown:hover
    > .dropdown-menu {

        opacity: 1;

        visibility: visible;

        transform:
            translateY(0);
    }

}


/* =========================================================
   DROPDOWN ITEMS
========================================================= */

.navigation-row .dropdown-item {
    position: relative;

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 10px;

    width: 100%;

    padding: 11px 13px;

    border-radius: 6px;

    color: #333333;

    font-size: 14px;

    font-weight: 500;

    line-height: 1.4;

    white-space: nowrap;

    transition:
        color 0.25s ease,
        background 0.25s ease,
        padding 0.25s ease;
}


.navigation-row .dropdown-item:hover {
    color: #172554;

    background: #eef2ff;

    padding-left: 19px;
}


/* =========================================================
   SUBMENU PARENT
========================================================= */

.dropdown-submenu {
    position: relative;
}


/* =========================================================
   SUBMENU TOGGLE
========================================================= */

.submenu-toggle {
    display: flex !important;

    align-items: center;

    justify-content: space-between;
}


.submenu-toggle i {
    font-size: 11px;

    transition:
        transform 0.25s ease;
}


/* =========================================================
   DESKTOP SIDE SUBMENU
   IMPORTANT FIX FOR MOUSE DISAPPEARING ISSUE
========================================================= */

@media (min-width: 992px) {

    .dropdown-submenu > .dropdown-menu {

        position: absolute;

        top: -8px;

        left: 100%;

        /*
           IMPORTANT:
           NO margin gap
        */

        margin-left: 0 !important;

        min-width: 235px;

        padding: 8px;

        border-radius: 8px;

        background: #ffffff;

        box-shadow:
            0 15px 35px rgba(0, 0, 0, 0.18);

        display: none;

        opacity: 0;

        visibility: hidden;

        transform:
            translateX(8px);

        transition:
            opacity 0.2s ease,
            transform 0.2s ease,
            visibility 0.2s ease;

        z-index: 100000;
    }


    /*
       Show submenu on hover
    */

    .dropdown-submenu:hover
    > .dropdown-menu {

        display: block;

        opacity: 1;

        visibility: visible;

        transform:
            translateX(0);
    }


    /*
       IMPORTANT INVISIBLE BRIDGE

       This prevents submenu from disappearing
       while moving mouse from parent to child.
    */

    .dropdown-submenu::after {

        content: "";

        position: absolute;

        top: 0;

        right: -20px;

        width: 20px;

        height: 100%;

        background: transparent;

        z-index: 99999;
    }


    /*
       Arrow animation
    */

    .dropdown-submenu:hover
    > .submenu-toggle i {

        transform:
            translateX(3px);
    }

}


/* =========================================================
   MOBILE NAVBAR BUTTON
========================================================= */

.navbar-toggler {

    border: 1px solid
        rgba(255, 255, 255, 0.45);

    border-radius: 8px;

    padding: 7px 10px;

    outline: none;
}


.navbar-toggler:focus {
    box-shadow:
        0 0 0 3px
        rgba(255, 255, 255, 0.15);
}


.navbar-toggler-icon {
    filter:
        brightness(0)
        invert(1);
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 991.98px) {


    /* -----------------------------------------
       SCHOOL TOP
    ----------------------------------------- */

    .school-brand {

        min-height: 82px;

        gap: 12px;
    }


    .school-logo {

        width: 58px;

        height: 58px;
    }


    .school-info h1 {

        font-size: 18px;

        letter-spacing: 0;

        line-height: 1.2;
    }


    .school-info h2 {

        font-size: 13px;

        margin-top: 2px;
    }


    .school-info p {

        font-size: 10px;

        margin-top: 3px;
    }


    /* Hide contact on mobile */

    .school-contact {
        display: none;
    }


    /* -----------------------------------------
       NAVIGATION
    ----------------------------------------- */

    .navigation-row {

        padding: 7px 0;

        border-bottom-width: 2px;
    }


    .navigation-row .navbar {

        min-height: auto;

        padding: 0;
    }


    .navigation-row .navbar-toggler {

        margin-left: auto;
    }


    /* -----------------------------------------
       MOBILE MENU
    ----------------------------------------- */

    .navigation-row .navbar-collapse {

        margin-top: 8px;

        padding: 8px;

        background: #ffffff;

        border-radius: 10px;

        box-shadow:
            0 15px 35px rgba(0, 0, 0, 0.20);

        max-height: calc(100vh - 160px);

        overflow-y: auto;
    }


    /* -----------------------------------------
       MOBILE NAV LINKS
    ----------------------------------------- */

    .navigation-row .navbar-nav {

        display: block;

        width: 100%;
    }


    .navigation-row .nav-link {

        width: 100%;

        min-height: auto;

        justify-content: space-between;

        padding: 12px 13px !important;

        color: #172554 !important;

        text-transform: none;

        font-size: 15px;

        border-radius: 6px;
    }


    .navigation-row .nav-link:hover {

        color: #b91c1c !important;

        background: #f1f5f9;
    }


    .navigation-row .nav-link.active {

        color: #b91c1c !important;

        background: #f1f5f9;
    }


    /* Disable underline on mobile */

    .navigation-row .nav-link::after {

        display: none;
    }


    /* -----------------------------------------
       MOBILE MAIN DROPDOWN
    ----------------------------------------- */

    .navigation-row .dropdown-menu {

        position: static !important;

        width: 100%;

        min-width: 0;

        margin: 0 !important;

        padding: 5px;

        border-radius: 6px;

        background: #f8fafc;

        box-shadow: none;

        border: none;

        display: none;

        opacity: 1;

        visibility: visible;

        transform: none;
    }


    /*
       Bootstrap adds .show
    */

    .navigation-row .dropdown-menu.show {

        display: block;
    }


    /* -----------------------------------------
       MOBILE DROPDOWN ITEMS
    ----------------------------------------- */

    .navigation-row .dropdown-item {

        width: 100%;

        padding: 11px 13px;

        color: #333333;

        font-size: 14px;

        white-space: normal;
    }


    .navigation-row .dropdown-item:hover {

        color: #172554;

        background: #e8eefc;

        padding-left: 17px;
    }


    /* -----------------------------------------
       MOBILE SUBMENU
    ----------------------------------------- */

    .dropdown-submenu > .dropdown-menu {

        position: static !important;

        width: calc(100% - 10px);

        min-width: 0;

        margin: 3px 0 3px 10px !important;

        padding: 5px;

        border-radius: 6px;

        background: #edf2f7;

        box-shadow: none;

        display: none;

        opacity: 1;

        visibility: visible;

        transform: none;
    }


    .dropdown-submenu > .dropdown-menu.show {

        display: block;
    }


    /* -----------------------------------------
       MOBILE SUBMENU ARROW
    ----------------------------------------- */

    .submenu-toggle i {

        font-size: 11px;

        color: #172554;
    }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 575.98px) {


    .school-brand {

        min-height: 72px;

        gap: 9px;
    }


    .school-logo {

        width: 48px;

        height: 48px;
    }


    .school-info h1 {

        font-size: 15px;
    }


    .school-info h2 {

        font-size: 11px;
    }


    .school-info p {

        font-size: 9px;
    }


    .navigation-row .navbar-collapse {

        max-height: calc(100vh - 130px);
    }

}


/* =========================================================
   VERY SMALL DEVICES
========================================================= */

@media (max-width: 380px) {

    .school-logo {

        width: 43px;

        height: 43px;
    }


    .school-info h1 {

        font-size: 13px;
    }


    .school-info h2 {

        font-size: 10px;
    }


    .school-info p {

        display: none;
    }

}


/* =========================================================
   PAGE CONTENT OFFSET
   Because header is fixed
========================================================= */

main {
    padding-top: 163px;
}


@media (max-width: 991.98px) {

    main {
        padding-top: 135px;
    }

}


@media (max-width: 575.98px) {

    main {
        padding-top: 125px;
    }

}


/* =========================================================
   SCROLLBAR FOR MOBILE MENU
========================================================= */

.navbar-collapse::-webkit-scrollbar {
    width: 5px;
}

.navbar-collapse::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.navbar-collapse::-webkit-scrollbar-thumb {
    background: #cbd5e1;

    border-radius: 10px;
}


/* =========================================================
   PAGE LOADED ANIMATION
========================================================= */

body {
    opacity: 0;

    animation:
        pageFadeIn 0.5s ease forwards;
}


@keyframes pageFadeIn {

    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }

}
/* =========================================================
   PREMIUM HEADER ANIMATIONS
========================================================= */


/* =========================================================
   1. HEADER INITIAL ANIMATION
========================================================= */

.school-header {
    animation: headerReveal 0.8s cubic-bezier(.22, .61, .36, 1) both;
}

@keyframes headerReveal {

    from {
        opacity: 0;
        transform: translateY(-25px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   2. SCHOOL LOGO ANIMATION
========================================================= */

.school-logo {
    transition:
        transform 0.4s ease,
        filter 0.4s ease;
}

.school-logo:hover {
    transform:
        scale(1.07)
        rotate(-2deg);

    filter:
        drop-shadow(0 8px 15px rgba(23, 37, 84, 0.25));
}


/* Logo subtle shine */

.school-logo {
    position: relative;
    overflow: hidden;
}

.school-logo::after {

    content: "";

    position: absolute;

    top: -100%;
    left: -120%;

    width: 70%;
    height: 300%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.65),
            transparent
        );

    transform: rotate(25deg);

    transition:
        left 0.7s ease;
}

.school-logo:hover::after {
    left: 150%;
}


/* =========================================================
   3. SCHOOL NAME ANIMATION
========================================================= */

.school-info h1 {
    animation:
        schoolTitleIn
        0.8s
        0.15s
        cubic-bezier(.22,.61,.36,1)
        both;
}

.school-info h2 {
    animation:
        schoolSubtitleIn
        0.8s
        0.25s
        cubic-bezier(.22,.61,.36,1)
        both;
}

.school-info p {
    animation:
        schoolTaglineIn
        0.8s
        0.35s
        cubic-bezier(.22,.61,.36,1)
        both;
}


@keyframes schoolTitleIn {

    from {
        opacity: 0;
        transform: translateX(-25px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


@keyframes schoolSubtitleIn {

    from {
        opacity: 0;
        transform: translateX(-20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


@keyframes schoolTaglineIn {

    from {
        opacity: 0;
        transform: translateX(-15px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* =========================================================
   4. CONTACT ANIMATION
========================================================= */

.school-contact > div {

    opacity: 0;

    animation:
        contactFade
        0.6s
        ease
        forwards;
}

.school-contact > div:nth-child(1) {
    animation-delay: .25s;
}

.school-contact > div:nth-child(2) {
    animation-delay: .4s;
}


@keyframes contactFade {

    from {
        opacity: 0;
        transform: translateX(20px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }

}


/* =========================================================
   5. NAV ITEMS STAGGER ANIMATION
========================================================= */

.navigation-row .navbar-nav > .nav-item {

    opacity: 0;

    animation:
        navItemReveal
        .55s
        cubic-bezier(.22,.61,.36,1)
        forwards;
}


.navigation-row .navbar-nav > .nav-item:nth-child(1) {
    animation-delay: .20s;
}

.navigation-row .navbar-nav > .nav-item:nth-child(2) {
    animation-delay: .27s;
}

.navigation-row .navbar-nav > .nav-item:nth-child(3) {
    animation-delay: .34s;
}

.navigation-row .navbar-nav > .nav-item:nth-child(4) {
    animation-delay: .41s;
}

.navigation-row .navbar-nav > .nav-item:nth-child(5) {
    animation-delay: .48s;
}

.navigation-row .navbar-nav > .nav-item:nth-child(6) {
    animation-delay: .55s;
}

.navigation-row .navbar-nav > .nav-item:nth-child(7) {
    animation-delay: .62s;
}


@keyframes navItemReveal {

    from {
        opacity: 0;
        transform: translateY(12px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }

}


/* =========================================================
   6. NAV LINK PREMIUM HOVER
========================================================= */

.navigation-row .nav-link {

    overflow: hidden;

    transition:
        color .3s ease,
        background .3s ease,
        transform .3s ease;
}


.navigation-row .nav-link:hover {

    transform: translateY(-1px);
}


/* =========================================================
   7. NAV LINK LIGHT SWEEP
========================================================= */

.navigation-row .nav-link::before {

    content: "";

    position: absolute;

    top: 0;
    left: -120%;

    width: 70%;
    height: 100%;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.08),
            transparent
        );

    transform: skewX(-20deg);

    transition:
        left .6s ease;

    pointer-events: none;
}


.navigation-row .nav-link:hover::before {
    left: 150%;
}


/* =========================================================
   8. MAIN DROPDOWN PREMIUM ANIMATION
========================================================= */

@media (min-width: 992px) {

    .navigation-row
    .nav-item.dropdown
    > .dropdown-menu {

        transform:
            translateY(15px)
            scale(.97);

        transform-origin:
            top center;

        transition:
            opacity .25s ease,
            transform .3s cubic-bezier(.22,.61,.36,1),
            visibility .25s ease;
    }


    .navigation-row
    .nav-item.dropdown:hover
    > .dropdown-menu {

        transform:
            translateY(0)
            scale(1);
    }

}


/* =========================================================
   9. DROPDOWN ITEM ANIMATION
========================================================= */

.navigation-row .dropdown-item {

    overflow: hidden;

    transition:
        background .25s ease,
        color .25s ease,
        padding-left .25s ease,
        transform .25s ease;
}


.navigation-row .dropdown-item:hover {

    transform:
        translateX(3px);
}


/* Small left indicator */

.navigation-row .dropdown-item::before {

    content: "";

    position: absolute;

    left: 0;
    top: 50%;

    width: 3px;
    height: 0;

    border-radius: 10px;

    background: #b91c1c;

    transform:
        translateY(-50%);

    transition:
        height .25s ease;
}


.navigation-row .dropdown-item:hover::before {

    height: 55%;
}


/* =========================================================
   10. SIDE MENU ANIMATION
========================================================= */

@media (min-width: 992px) {

    .dropdown-submenu > .dropdown-menu {

        transform:
            translateX(12px)
            scale(.97);

        transform-origin:
            left center;

        transition:
            opacity .25s ease,
            transform .3s cubic-bezier(.22,.61,.36,1),
            visibility .25s ease;
    }


    .dropdown-submenu:hover
    > .dropdown-menu {

        transform:
            translateX(0)
            scale(1);
    }

}


/* =========================================================
   11. DROPDOWN ARROW ANIMATION
========================================================= */

.navigation-row .dropdown-toggle::after {

    transition:
        transform .3s ease;
}


.navigation-row
.nav-item.dropdown:hover
> .dropdown-toggle::after {

    transform:
        rotate(180deg);
}


.submenu-toggle i {

    transition:
        transform .3s cubic-bezier(.22,.61,.36,1);
}


/* =========================================================
   12. SCROLL COMPACT HEADER
========================================================= */

.school-header.scrolled .school-brand {

    min-height: 82px;

    transition:
        min-height .4s ease;
}


.school-header.scrolled .school-logo {

    width: 62px;
    height: 62px;

    transition:
        width .4s ease,
        height .4s ease;
}


.school-header.scrolled .school-info h1 {

    font-size: 22px;

    transition:
        font-size .4s ease;
}


.school-header.scrolled .school-info h2 {

    font-size: 15px;

    transition:
        font-size .4s ease;
}


.school-header.scrolled .school-info p {

    display: none;
}


/* =========================================================
   13. NAVIGATION ACTIVE GLOW
========================================================= */

.navigation-row
.nav-link.active {

    text-shadow:
        0 0 15px rgba(255,255,255,.25);
}


/* =========================================================
   14. MOBILE MENU ANIMATION
========================================================= */

@media (max-width: 991.98px) {

    .navigation-row .navbar-collapse {

        animation:
            mobileMenuReveal
            .3s
            cubic-bezier(.22,.61,.36,1);
    }


    @keyframes mobileMenuReveal {

        from {
            opacity: 0;
            transform:
                translateY(-10px)
                scale(.98);
        }

        to {
            opacity: 1;
            transform:
                translateY(0)
                scale(1);
        }

    }


    /* Mobile dropdown */

    .navigation-row
    .dropdown-menu {

        animation:
            mobileDropdownReveal
            .25s
            ease;
    }


    @keyframes mobileDropdownReveal {

        from {
            opacity: 0;
            transform:
                translateY(-5px);
        }

        to {
            opacity: 1;
            transform:
                translateY(0);
        }

    }


    /* Mobile submenu */

    .dropdown-submenu
    > .dropdown-menu.show {

        animation:
            mobileSubmenuReveal
            .25s
            ease;
    }


    @keyframes mobileSubmenuReveal {

        from {
            opacity: 0;
            transform:
                translateX(-8px);
        }

        to {
            opacity: 1;
            transform:
                translateX(0);
        }

    }

}


/* =========================================================
   15. NAVBAR TOGGLER ANIMATION
========================================================= */

.navbar-toggler {

    transition:
        transform .3s ease,
        background .3s ease;
}


.navbar-toggler:hover {

    transform:
        rotate(2deg)
        scale(1.05);

    background:
        rgba(255,255,255,.08);
}


/* =========================================================
   16. REDUCE MOTION
   Accessibility
========================================================= */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {

        animation-duration: 0.01ms !important;

        animation-iteration-count: 1 !important;

        transition-duration: 0.01ms !important;

        scroll-behavior: auto !important;
    }

}
/* =========================================
   SHARP & PREMIUM SILVER JUBILEE
========================================= */

.silver-jubilee {
    position: relative;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-width: 190px;
    padding: 7px 22px 8px;

    border: 1.5px solid #f5c542;
    border-radius: 50px;

    background: linear-gradient(
        135deg,
        #071a52 0%,
        #123b88 50%,
        #071a52 100%
    );

    box-shadow: 0 4px 12px rgba(0, 0, 0, .18);

    overflow: hidden;

    transition: transform .3s ease, box-shadow .3s ease;
}


/* Moving shine */

.silver-jubilee::before {
    content: "";
    position: absolute;

    top: 0;
    left: -100%;

    width: 35%;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.45),
        transparent
    );

    transform: skewX(-20deg);

    animation: jubileeShine 3.5s ease-in-out infinite;
}


/* =========================================
   TITLE
========================================= */

.jubilee-text {
    position: relative;
    z-index: 2;

    color: #ffffff;

    font-size: 12px;
    font-weight: 800;

    letter-spacing: 2px;

    /* NO BLUR */
    text-shadow: none;

    animation: titlePulse 2.5s ease-in-out infinite;
}


/* =========================================
   YEARS
========================================= */

.jubilee-years {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    gap: 9px;
    margin-top: 2px;

    color: #ffffff;

    font-size: 10px;
    font-weight: 600;
}

.jubilee-years b {
    font-size: 19px;
    font-weight: 900;

    color: #ffd43b;

    /* Sharp gold text */
    text-shadow: none;

    animation: numberPulse 2.2s ease-in-out infinite;
}


/* =========================================
   SPARKLES
========================================= */

.jubilee-sparkle {
    position: absolute;

    z-index: 3;

    color: #ffd43b;

    font-size: 12px;

    text-shadow: none;

    animation: sparkle 1.8s ease-in-out infinite;
}

.jubilee-sparkle:first-child {
    left: 12px;
    top: 8px;
}

.jubilee-sparkle:last-child {
    right: 12px;
    bottom: 8px;

    animation-delay: .9s;
}


/* =========================================
   ANIMATIONS
========================================= */

@keyframes jubileeShine {

    0% {
        left: -100%;
    }

    45%,
    100% {
        left: 140%;
    }
}


@keyframes titlePulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.035);
    }
}


@keyframes numberPulse {

    0%,
    100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.12);
    }
}


@keyframes sparkle {

    0%,
    100% {
        opacity: .45;
        transform: scale(.8) rotate(0deg);
    }

    50% {
        opacity: 1;
        transform: scale(1.25) rotate(20deg);
    }
}


/* =========================================
   HOVER
========================================= */

.silver-jubilee:hover {
    transform: translateY(-2px) scale(1.04);

    box-shadow:
        0 7px 18px rgba(0, 0, 0, .22);
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 991.98px) {

    .silver-jubilee {
        min-width: 160px;
        padding: 5px 15px 6px;
    }

    .jubilee-text {
        font-size: 9px;
        letter-spacing: 1.5px;
    }

    .jubilee-years {
        font-size: 8px;
        gap: 6px;
    }

    .jubilee-years b {
        font-size: 15px;
    }
}
/* =========================================================
   SCHOOL HERO CAROUSEL
   Premium Cinematic Animation
========================================================= */

.school-hero {
    position: relative;
    width: 100%;
    overflow: hidden;
    background: #071a52;
}


/* =========================================================
   CAROUSEL HEIGHT
========================================================= */

.school-hero .carousel,
.school-hero .carousel-inner,
.school-hero .carousel-item {
    width: 100%;
}

.school-hero .carousel-item {
    position: relative;

    height: calc(100vh - 163px);

    min-height: 540px;
    max-height: 760px;

    overflow: hidden;
}


/* =========================================================
   IMAGE
========================================================= */

.school-hero .hero-image {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    transform: scale(1.15);

    transition:
        transform 7s cubic-bezier(.20, .70, .20, 1);
}


/* =========================================================
   IMAGE ANIMATION - SLIDE 1
========================================================= */

.school-hero .carousel-item:nth-child(1) .hero-image {
    transform: scale(1.15);
}

.school-hero .carousel-item:nth-child(1).active .hero-image {
    transform: scale(1);
}


/* =========================================================
   IMAGE ANIMATION - SLIDE 2
========================================================= */

.school-hero .carousel-item:nth-child(2) .hero-image {
    transform: scale(1.15) translateX(-2%);
}

.school-hero .carousel-item:nth-child(2).active .hero-image {
    transform: scale(1) translateX(0);
}


/* =========================================================
   IMAGE ANIMATION - SLIDE 3
========================================================= */

.school-hero .carousel-item:nth-child(3) .hero-image {
    transform: scale(1.15) translateX(2%);
}

.school-hero .carousel-item:nth-child(3).active .hero-image {
    transform: scale(1) translateX(0);
}


/* =========================================================
   IMAGE ANIMATION - SLIDE 4
========================================================= */

.school-hero .carousel-item:nth-child(4) .hero-image {
    transform: scale(1.15) translateY(-2%);
}

.school-hero .carousel-item:nth-child(4).active .hero-image {
    transform: scale(1) translateY(0);
}


/* =========================================================
   DARK IMAGE OVERLAY
========================================================= */

.hero-overlay {
    position: absolute;
    inset: 0;

    z-index: 1;

    opacity: 0;

    background:
        linear-gradient(
            90deg,
            rgba(3, 17, 55, .88) 0%,
            rgba(3, 17, 55, .62) 38%,
            rgba(3, 17, 55, .18) 75%,
            rgba(3, 17, 55, .05) 100%
        );

    transition:
        opacity 1.2s ease;
}

.carousel-item.active .hero-overlay {
    opacity: 1;
}


/* =========================================================
   BOTTOM GRADIENT
========================================================= */

.hero-overlay::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;
    bottom: 0;

    height: 28%;

    background:
        linear-gradient(
            to top,
            rgba(0,0,0,.48),
            transparent
        );
}


/* =========================================================
   CAPTION
========================================================= */

.hero-caption {
    position: absolute;

    z-index: 4;

    top: 50%;
    left: 8%;

    width: 80%;
    max-width: 760px;

    color: #fff;

    transform: translateY(-50%);
}


/* =========================================================
   CAPTION INITIAL STATE
========================================================= */

.hero-caption .hero-small,
.hero-caption h1,
.hero-caption h2,
.hero-caption p,
.hero-caption .hero-btn {

    opacity: 0;

    transform: translateY(45px);
}


/* =========================================================
   SMALL TITLE
========================================================= */

.hero-small {
    display: inline-block;

    margin-bottom: 14px;

    padding: 7px 16px;

    border-left: 3px solid #f5c542;

    background: rgba(255,255,255,.08);

    backdrop-filter: blur(5px);

    color: #f5c542;

    font-size: 13px;
    font-weight: 700;

    letter-spacing: 3px;
}


/* =========================================================
   MAIN TITLE
========================================================= */

.hero-caption h1 {

    margin: 0;

    font-size: clamp(38px, 5vw, 68px);

    line-height: 1.08;

    font-weight: 800;

    letter-spacing: -1px;

    color: #fff;

    text-shadow:
        0 3px 15px rgba(0,0,0,.35);
}


/* =========================================================
   SUB TITLE
========================================================= */

.hero-caption h2 {

    margin: 10px 0;

    font-size: clamp(22px, 3vw, 36px);

    line-height: 1.2;

    font-weight: 600;

    color: #f5c542;
}


/* =========================================================
   DESCRIPTION
========================================================= */

.hero-caption p {

    margin: 12px 0 26px;

    font-size: 18px;

    line-height: 1.6;

    color: rgba(255,255,255,.92);
}


/* =========================================================
   CAPTION ANIMATIONS
========================================================= */

.carousel-item.active .hero-small {
    animation:
        captionUp .8s ease forwards;

    animation-delay: .20s;
}


.carousel-item.active .hero-caption h1 {
    animation:
        captionUp .9s ease forwards;

    animation-delay: .40s;
}


.carousel-item.active .hero-caption h2 {
    animation:
        captionUp .9s ease forwards;

    animation-delay: .60s;
}


.carousel-item.active .hero-caption p {
    animation:
        captionUp .9s ease forwards;

    animation-delay: .78s;
}


.carousel-item.active .hero-caption .hero-btn {
    animation:
        captionUp .9s ease forwards;

    animation-delay: 1s;
}


@keyframes captionUp {

    from {
        opacity: 0;
        transform: translateY(45px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}


/* =========================================================
   BUTTON
========================================================= */

.hero-btn {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 13px 25px;

    border-radius: 5px;

    background: #f5c542;

    color: #071a52;

    font-size: 14px;
    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 6px 18px rgba(0,0,0,.20);

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}

.hero-btn i {
    transition:
        transform .3s ease;
}

.hero-btn:hover {

    background: #fff;

    color: #071a52;

    transform: translateY(-3px);

    box-shadow:
        0 10px 25px rgba(0,0,0,.28);
}

.hero-btn:hover i {
    transform: translateX(5px);
}


/* =========================================================
   CINEMATIC LIGHT SWEEP
========================================================= */

.school-hero .carousel-item::after {

    content: "";

    position: absolute;

    top: 0;
    left: -100%;

    width: 40%;
    height: 100%;

    z-index: 3;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(255,255,255,.08),
            transparent
        );

    transform: skewX(-18deg);
}


.school-hero .carousel-item.active::after {

    animation:
        lightSweep 5.5s ease-in-out forwards;
}


@keyframes lightSweep {

    0% {
        left: -100%;
    }

    55% {
        left: 120%;
    }

    100% {
        left: 120%;
    }
}


/* =========================================================
   PREVIOUS / NEXT BUTTONS
========================================================= */

.school-hero .carousel-control-prev,
.school-hero .carousel-control-next {

    z-index: 6;

    width: 8%;

    opacity: 1;
}


/* =========================================================
   ARROW CIRCLE
========================================================= */

.hero-arrow {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 50px;
    height: 50px;

    border-radius: 50%;

    border: 1px solid rgba(255,255,255,.35);

    background: rgba(255,255,255,.12);

    color: #fff;

    backdrop-filter: blur(5px);

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;
}

.hero-arrow i {
    font-size: 20px;
}


/* Previous hover */

.carousel-control-prev:hover .hero-arrow {

    background: #f5c542;

    color: #071a52;

    transform:
        translateX(-6px)
        scale(1.08);
}


/* Next hover */

.carousel-control-next:hover .hero-arrow {

    background: #f5c542;

    color: #071a52;

    transform:
        translateX(6px)
        scale(1.08);
}


/* =========================================================
   INDICATORS
========================================================= */

.school-hero .carousel-indicators {

    z-index: 7;

    bottom: 25px;

    gap: 7px;

    margin-bottom: 0;
}


.school-hero .carousel-indicators button {

    width: 28px;
    height: 4px;

    margin: 0;

    border: 0;

    border-radius: 10px;

    background: #fff;

    opacity: .55;

    transition:
        width .4s ease,
        opacity .4s ease,
        background .4s ease,
        transform .3s ease;
}


.school-hero .carousel-indicators button.active {

    width: 55px;

    background: #f5c542;

    opacity: 1;

    transform: scaleY(1.3);
}


/* =========================================================
   MOBILE TABLET
========================================================= */

@media (max-width: 991.98px) {

    .school-hero .carousel-item {

        height: calc(100vh - 120px);

        min-height: 560px;

        max-height: none;
    }


    .hero-overlay {

        background:
            linear-gradient(
                90deg,
                rgba(3,17,55,.86),
                rgba(3,17,55,.40)
            );
    }


    .hero-caption {

        left: 7%;
        right: 7%;

        width: auto;
        max-width: none;
    }


    .hero-caption h1 {

        font-size: 40px;
    }


    .hero-caption h2 {

        font-size: 25px;
    }


    .hero-caption p {

        font-size: 16px;
    }


    .hero-small {

        font-size: 10px;

        letter-spacing: 2px;
    }


    .hero-arrow {

        width: 42px;
        height: 42px;
    }


    .hero-arrow i {

        font-size: 17px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .school-hero .carousel-item {

        height: 580px;

        min-height: 580px;
    }


    .hero-caption {

        left: 24px;
        right: 24px;

        width: auto;
    }


    .hero-caption h1 {

        font-size: 31px;

        line-height: 1.12;
    }


    .hero-caption h2 {

        font-size: 21px;
    }


    .hero-caption p {

        font-size: 14px;

        line-height: 1.5;

        margin-bottom: 20px;
    }


    .hero-small {

        font-size: 9px;

        letter-spacing: 1.5px;

        padding: 6px 12px;
    }



    .hero-btn {

        padding: 11px 18px;

        font-size: 13px;
    }


    .school-hero .carousel-control-prev,
    .school-hero .carousel-control-next {

        width: 13%;
    }


    .hero-arrow {

        width: 34px;
        height: 34px;
    }


    .hero-arrow i {

        font-size: 14px;
    }


    .school-hero .carousel-indicators {

        bottom: 18px;
    }


    .school-hero .carousel-indicators button {

        width: 20px;
    }


    .school-hero .carousel-indicators button.active {

        width: 40px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .school-hero .hero-image,
    .hero-caption *,
    .school-hero .carousel-item::after {

        animation: none !important;

        transition: none !important;
    }

    .school-hero .hero-image {

        transform: scale(1) !important;
    }

    .hero-caption .hero-small,
    .hero-caption h1,
    .hero-caption h2,
    .hero-caption p,
    .hero-caption .hero-btn {

        opacity: 1;

        transform: none;
    }
}
/* =========================================================
   AIM & OBJECTIVES + NOTICE BOARD
========================================================= */

.aim-notice-section {
    position: relative;
    padding: 80px 0;
    background: #f7f9fc;
    overflow: hidden;
}


/* =========================================================
   AIM CARD
========================================================= */

.aim-card {
    height: 100%;
    padding: 38px;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e8edf5;
    box-shadow: 0 12px 35px rgba(7, 26, 82, .08);
    transition: .4s ease;
}

.aim-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 45px rgba(7, 26, 82, .13);
}


/* Heading */

.section-heading {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 22px;
}

.heading-line {
    width: 5px;
    height: 55px;
    border-radius: 5px;
    background: #f5c542;
}

.heading-small {
    display: block;
    margin-bottom: 4px;
    color: #f5b900;
    font-size: 13px;
    font-weight: 9000;
    letter-spacing: 2px;
}

.section-heading h2 {
    margin: 0;
    color: #071a52;
    font-size: 30px;
    font-weight: 800;
}


/* Intro */

.aim-intro {
    margin: 0 0 28px;
    color: #667085;
    font-size: 15px;
    line-height: 1.8;
}


/* Objectives */

.objective-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.objective-item {
    display: flex;
    gap: 15px;
    padding: 14px;
    border-radius: 10px;
    background: #f8faff;
    border: 1px solid #edf1f7;
    transition: .3s ease;
}

.objective-item:hover {
    background: #fff;
    border-color: #f5c542;
    transform: translateX(5px);
    box-shadow: 0 7px 20px rgba(7,26,82,.07);
}

.objective-icon {
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #071a52;
    color: #f5c542;
    font-size: 19px;
}

.objective-item h4 {
    margin: 0 0 4px;
    color: #071a52;
    font-size: 16px;
    font-weight: 750;
}

.objective-item p {
    margin: 0;
    color: #727b8d;
    font-size: 13px;
    line-height: 1.55;
}


/* =========================================================
   NOTICE CARD
========================================================= */

.notice-card {
    height: 100%;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: #fff;
    border-radius: 14px;
    border: 1px solid #e8edf5;
    box-shadow: 0 12px 35px rgba(7, 26, 82, .08);
}


/* Header */

.notice-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 25px 28px;
    background: #071a52;
}

.notice-title {
    display: flex;
    align-items: center;
    gap: 14px;
}

.notice-icon {
    width: 45px;
    height: 45px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #f5c542;
    color: #071a52;
    font-size: 19px;
}

.notice-title span {
    display: block;
    color: #f5c542;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 2px;
}

.notice-title h2 {
    margin: 2px 0 0;
    color: #fff;
    font-size: 27px;
    font-weight: 800;
}


/* Live */

.live-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border-radius: 20px;
    background: rgba(255,255,255,.1);
    color: #fff;
    font-size: 9px;
    font-weight: 700;
}

.live-badge i {
    color: #ff5b5b;
    font-size: 6px;
    animation: liveBlink 1.2s infinite;
}

@keyframes liveBlink {
    0%,100% {
        opacity: 1;
    }
    50% {
        opacity: .25;
    }
}


/* =========================================================
   NOTICE SCROLL AREA
========================================================= */

.notice-wrapper {
    position: relative;
    height: 490px;
    overflow: hidden;
}


/* Fade top */

.notice-wrapper::before,
.notice-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 35px;
    z-index: 5;
    pointer-events: none;
}

.notice-wrapper::before {
    top: 0;
    background: linear-gradient(
        to bottom,
        #fff,
        rgba(255,255,255,0)
    );
}

.notice-wrapper::after {
    bottom: 0;
    background: linear-gradient(
        to top,
        #fff,
        rgba(255,255,255,0)
    );
}


/* Moving list */

.notice-scroll {
    padding: 12px 24px;

    animation: noticeScroll 18s linear infinite;
}

.notice-wrapper:hover .notice-scroll {
    animation-play-state: paused;
}


@keyframes noticeScroll {

    0% {
        transform: translateY(-50%);
    }

    100% {
        transform: translateY(0);
    }

}


/* Notice item */

.notice-item {
    display: flex;
    gap: 15px;
    padding: 18px 5px;
    border-bottom: 1px solid #edf0f5;
}

.notice-date {
    flex: 0 0 55px;
    width: 55px;
    height: 58px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border-radius: 8px;
    background: #f5c542;
    color: #071a52;
}

.notice-date strong {
    font-size: 20px;
    line-height: 1;
    font-weight: 900;
}

.notice-date span {
    margin-top: 4px;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1px;
}


/* Notice content */

.notice-content {
    flex: 1;
}

.notice-content h4 {
    margin: 0 0 5px;
    color: #071a52;
    font-size: 15px;
    font-weight: 750;
    line-height: 1.4;
}

.notice-content p {
    margin: 0 0 8px;
    color: #727b8d;
    font-size: 12px;
    line-height: 1.55;
}


/* New */

.new-badge {
    display: inline-block;
    margin-left: 5px;
    padding: 3px 6px;
    border-radius: 4px;
    background: #e63946;
    color: #fff;
    font-size: 7px;
    font-weight: 800;
    vertical-align: middle;
}


/* Read more */

.notice-more {
    padding: 0;
    border: 0;
    background: transparent;
    color: #071a52;
    font-size: 11px;
    font-weight: 750;
    cursor: pointer;
}

.notice-more i {
    margin-left: 4px;
    transition: .3s ease;
}

.notice-more:hover {
    color: #d49d00;
}

.notice-more:hover i {
    transform: translateX(4px);
}


/* Footer */

.notice-footer {
    padding: 15px 25px;
    border-top: 1px solid #edf0f5;
    text-align: right;
}

.notice-footer a {
    color: #071a52;
    font-size: 12px;
    font-weight: 750;
    text-decoration: none;
}

.notice-footer a i {
    margin-left: 5px;
    transition: .3s ease;
}

.notice-footer a:hover {
    color: #d49d00;
}

.notice-footer a:hover i {
    margin-left: 9px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .aim-notice-section {
        padding: 60px 0;
    }

    .aim-card {
        padding: 30px;
    }

    .notice-wrapper {
        height: 350px;
    }

}


@media (max-width: 575.98px) {

    .aim-notice-section {
        padding: 45px 0;
    }

    .aim-card {
        padding: 23px;
    }

    .section-heading h2 {
        font-size: 25px;
    }

    .notice-header {
        padding: 20px;
    }

    .notice-title h2 {
        font-size: 23px;
    }

    .notice-icon {
        width: 40px;
        height: 40px;
    }

    .notice-wrapper {
        height: 330px;
    }

    .notice-scroll {
        padding: 10px 18px;
    }

    .notice-item {
        gap: 11px;
    }

    .notice-date {
        flex: 0 0 48px;
        width: 48px;
        height: 52px;
    }

    .notice-date strong {
        font-size: 18px;
    }

}
/* =========================================================
   OUR PATRON SECTION
========================================================= */

.patron-section {
    position: relative;
    padding: 95px 0;
    background: #ffffff;
    overflow: hidden;
}


/* Soft background decoration */

.patron-section::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    left: -220px;
    top: 50%;
    transform: translateY(-50%);
    border-radius: 50%;
    background: #f5f8ff;
    z-index: 0;
}

.patron-section .container {
    position: relative;
    z-index: 1;
}


/* =========================================================
   PHOTO AREA
========================================================= */

.patron-photo-area {
    position: relative;
    max-width: 430px;
    margin: auto;
    padding: 20px;
}


/* Gold corner decoration */

.patron-photo-area::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;

    width: 95px;
    height: 95px;

    border-left: 4px solid #f5c542;
    border-top: 4px solid #f5c542;

    z-index: 1;
}

.patron-photo-area::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 55px;

    width: 95px;
    height: 95px;

    border-right: 4px solid #f5c542;
    border-bottom: 4px solid #f5c542;

    z-index: 1;
}


/* Photo frame */

.patron-photo-frame {
    position: relative;
    padding: 10px;
    background: #fff;
    border: 1px solid #e6eaf2;
    box-shadow: 0 20px 55px rgba(7, 26, 82, .16);
}


/* Image */

.patron-photo {
    position: relative;
    height: 500px;
    overflow: hidden;
    background: #eef2f8;
}

.patron-photo img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;

    transition: transform .8s ease;
}

.patron-photo-frame:hover .patron-photo img {
    transform: scale(1.04);
}


/* Image overlay */

.patron-photo-overlay {
    position: absolute;
    inset: 0;

    background: linear-gradient(
        to top,
        rgba(7, 26, 82, .72),
        rgba(7, 26, 82, 0) 45%
    );

    pointer-events: none;
}


/* =========================================================
   NAME CARD
========================================================= */

.patron-name-card {
    position: absolute;

    left: 30px;
    right: 30px;
    bottom: 30px;

    padding: 18px 20px;

    background: rgba(7, 26, 82, .94);

    border-left: 4px solid #f5c542;

    color: #fff;

    box-shadow: 0 10px 30px rgba(0,0,0,.18);

    z-index: 3;
}

.patron-name-card span {
    display: block;

    margin-bottom: 5px;

    color: #f5c542;

    font-size: 13px;
    font-weight: 800;
    letter-spacing: 2px;
}

.patron-name-card h3 {
    margin: 0;

    color: #fff;

    font-size: 18px;
    font-weight: 750;
    line-height: 1.3;
}

.patron-name-card p {
    margin: 5px 0 0;

    color: rgba(255,255,255,.75);

    font-size: 12px;
}


/* =========================================================
   DECORATIVE DOTS
========================================================= */

.patron-decoration {
    position: absolute;
    border-radius: 50%;
    background: #f5c542;
}

.patron-dot-1 {
    width: 12px;
    height: 12px;
    right: 12px;
    top: 20px;
}

.patron-dot-2 {
    width: 7px;
    height: 7px;
    left: 12px;
    bottom: 45px;
}


/* =========================================================
   CONTENT
========================================================= */

.patron-content {
    padding-left: 20px;
    max-width: 720px;
}


/* Heading */

.patron-small-title {
    display: block;

    margin-bottom: 8px;

    color: #d39d00;

    font-size: 20px;
    font-weight: 1000;
    letter-spacing: 3px;
}

.patron-heading h2 {
    margin: 0;

    color: #071a52;

    font-size: clamp(38px, 4vw, 52px);

    font-weight: 800;
    line-height: 1.1;
}

.patron-heading h2 span {
    color: #dcae18;
}

.patron-heading-line {
    width: 65px;
    height: 4px;

    margin-top: 17px;

    border-radius: 5px;

    background: #f5c542;
}


/* Paragraph */

.patron-intro {
    margin-top: 27px !important;

    color: #465268;

    font-size: 14px !important;

    line-height: 1.8 !important;

    font-weight: 500;
}

.patron-content > p {
    margin-bottom: 12px;

    color: #737d90;

    font-size: 14px;

    line-height: 1.8;
}


/* =========================================================
   HIGHLIGHTS
========================================================= */

.patron-highlights {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 12px;

    margin-top: 28px;
}

.patron-highlight {
    padding: 17px 14px;

    border: 1px solid #e9edf4;

    background: #fafbfe;

    border-radius: 9px;

    transition: .35s ease;
}

.patron-highlight:hover {
    transform: translateY(-5px);

    background: #fff;

    border-color: #f5c542;

    box-shadow: 0 10px 25px rgba(7,26,82,.08);
}

.highlight-icon {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 10px;

    border-radius: 8px;

    background: #071a52;

    color: #f5c542;

    font-size: 16px;
}

.patron-highlight h4 {
    margin: 0 0 5px;

    color: #071a52;

    font-size: 13px;
    font-weight: 750;
}

.patron-highlight p {
    margin: 0;

    color: #7b8495;

    font-size: 11px;

    line-height: 1.5;
}


/* =========================================================
   QUOTE
========================================================= */

.patron-quote {
    position: relative;

    display: flex;

    gap: 15px;

    margin-top: 30px;

    padding: 20px 22px;

    background: #071a52;

    border-radius: 8px;

    overflow: hidden;
}

.patron-quote::after {
    content: "";

    position: absolute;

    right: -25px;
    top: -35px;

    width: 110px;
    height: 110px;

    border: 1px solid rgba(245,197,66,.25);

    border-radius: 50%;
}

.quote-icon {
    flex: 0 0 38px;

    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f5c542;

    color: #071a52;

    font-size: 21px;
}

.patron-quote p {
    position: relative;
    z-index: 2;

    margin: 0;

    color: rgba(255,255,255,.9);

    font-size: 13px;

    font-style: italic;

    line-height: 1.7;
}


/* =========================================================
   SIGNATURE
========================================================= */

.patron-signature {
    display: flex;
    align-items: center;
    gap: 12px;

    margin-top: 20px;
}

.patron-signature span {
    color: #929aaa;

    font-size: 11px;
}

.patron-signature strong {
    color: #071a52;

    font-size: 13px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .patron-section {
        padding: 70px 0;
    }

    .patron-photo-area {
        max-width: 400px;
    }

    .patron-photo {
        height: 460px;
    }

    .patron-content {
        padding-left: 0;
    }

    .patron-highlights {
        grid-template-columns: repeat(3, 1fr);
    }

}


@media (max-width: 575.98px) {

    .patron-section {
        padding: 55px 0;
    }

    .patron-photo-area {
        padding: 14px;
    }

    .patron-photo {
        height: 400px;
    }

    .patron-photo-area::before,
    .patron-photo-area::after {
        width: 65px;
        height: 65px;
    }

    .patron-name-card {
        left: 23px;
        right: 23px;
        bottom: 23px;
        padding: 14px 15px;
    }

    .patron-name-card h3 {
        font-size: 15px;
    }

    .patron-heading h2 {
        font-size: 36px;
    }

    .patron-intro {
        font-size: 15px !important;
    }

    .patron-highlights {
        grid-template-columns: 1fr;
    }

    .patron-highlight {
        display: flex;
        align-items: center;
        gap: 12px;
    }

    .highlight-icon {
        flex: 0 0 38px;
        margin-bottom: 0;
    }

    .patron-quote {
        padding: 17px;
    }

    .patron-signature {
        flex-wrap: wrap;
    }

}
/* =========================================================
   QUICK LINKS SECTION
========================================================= */

.quick-links-section {
    position: relative;
    padding: 85px 0;
    background: #f6f8fc;
    overflow: hidden;
}


/* Decorative background */

.quick-links-section::before {
    content: "";
    position: absolute;

    width: 500px;
    height: 500px;

    top: -250px;
    right: -200px;

    border-radius: 50%;

    background: rgba(7, 26, 82, .035);
}

.quick-links-section::after {
    content: "";
    position: absolute;

    width: 350px;
    height: 350px;

    bottom: -200px;
    left: -150px;

    border-radius: 50%;

    background: rgba(245, 197, 66, .07);
}

.quick-links-section .container {
    position: relative;
    z-index: 2;
}


/* =========================================================
   HEADING
========================================================= */

.quick-heading {
    margin-bottom: 45px;
}

.quick-heading > span {
    display: block;

    margin-bottom: 7px;

    color: #d39d00;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 3px;
}

.quick-heading h2 {
    margin: 0;

    color: #071a52;

    font-size: 42px;
    font-weight: 800;
}

.quick-heading-line {
    width: 65px;
    height: 4px;

    margin: 15px auto 13px;

    border-radius: 5px;

    background: #f5c542;
}

.quick-heading p {
    margin: 0;

    color: #7b8495;

    font-size: 14px;
}


/* =========================================================
   QUICK LINK CARD
========================================================= */

.quick-link-card {
    position: relative;

    display: block;

    min-height: 205px;

    padding: 27px 25px;

    overflow: hidden;

    border-radius: 13px;

    border: 1px solid #e5e9f1;

    background: #ffffff;

    text-decoration: none;

    box-shadow: 0 8px 25px rgba(7,26,82,.055);

    transition:
        transform .4s ease,
        box-shadow .4s ease,
        border-color .4s ease;
}


/* Gold top line */

.quick-link-card::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 0;
    height: 4px;

    background: #f5c542;

    transition: width .45s ease;
}


/* Background circle */

.quick-link-card::after {
    content: "";

    position: absolute;

    width: 150px;
    height: 150px;

    right: -70px;
    bottom: -75px;

    border-radius: 50%;

    background: #f5f8ff;

    transition:
        transform .5s ease,
        background .5s ease;
}


/* Hover */

.quick-link-card:hover {
    transform: translateY(-8px);

    border-color: #dce2ec;

    box-shadow: 0 18px 40px rgba(7,26,82,.12);
}

.quick-link-card:hover::before {
    width: 100%;
}

.quick-link-card:hover::after {
    transform: scale(1.5);

    background: #fff8df;
}


/* =========================================================
   ICON
========================================================= */

.quick-icon {
    position: relative;
    z-index: 3;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 20px;

    border-radius: 12px;

    background: #071a52;

    color: #f5c542;

    font-size: 24px;

    box-shadow: 0 7px 18px rgba(7,26,82,.15);

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease;
}


/* ICON ANIMATION */

.quick-link-card:hover .quick-icon {
    background: #f5c542;

    color: #071a52;

    transform:
        translateY(-3px)
        rotate(-6deg);

    animation: quickIconPulse .7s ease;
}

@keyframes quickIconPulse {

    0% {
        transform: scale(1) rotate(0);
    }

    40% {
        transform: scale(1.12) rotate(-8deg);
    }

    70% {
        transform: scale(.96) rotate(5deg);
    }

    100% {
        transform: scale(1) rotate(-6deg);
    }

}


/* =========================================================
   NUMBER
========================================================= */

.quick-number {
    position: absolute;

    top: 20px;
    right: 20px;

    color: #e9edf4;

    font-size: 30px;
    font-weight: 900;

    line-height: 1;

    transition: color .35s ease;
}

.quick-link-card:hover .quick-number {
    color: #f5e6ad;
}


/* =========================================================
   CONTENT
========================================================= */

.quick-content {
    position: relative;
    z-index: 3;
}

.quick-content h3 {
    margin: 0 0 7px;

    color: #071a52;

    font-size: 17px;
    font-weight: 750;

    line-height: 1.35;

    transition: color .3s ease;
}

.quick-link-card:hover .quick-content h3 {
    color: #c28f00;
}

.quick-content p {
    margin: 0;

    color: #7c8494;

    font-size: 12px;

    line-height: 1.5;
}


/* =========================================================
   ARROW
========================================================= */

.quick-arrow {
    position: absolute;

    right: 23px;
    bottom: 23px;

    z-index: 4;

    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f5f7fa;

    color: #071a52;

    font-size: 13px;

    transition:
        transform .35s ease,
        background .35s ease,
        color .35s ease;
}

.quick-link-card:hover .quick-arrow {
    background: #071a52;

    color: #f5c542;

    transform: rotate(45deg);
}


/* =========================================================
   PAYMENT SPECIAL EFFECT
========================================================= */

.quick-payment {
    border-color: #e4e8f0;
}

.quick-payment .quick-icon {
    background: #071a52;
}

.quick-payment:hover {
    border-color: #f5c542;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .quick-links-section {
        padding: 70px 0;
    }

    .quick-heading h2 {
        font-size: 36px;
    }

}


@media (max-width: 575.98px) {

    .quick-links-section {
        padding: 55px 0;
    }

    .quick-heading {
        margin-bottom: 30px;
    }

    .quick-heading h2 {
        font-size: 32px;
    }

    .quick-heading p {
        padding: 0 15px;
    }

    .quick-link-card {
        min-height: 185px;
        padding: 23px 21px;
    }

    .quick-icon {
        width: 52px;
        height: 52px;

        margin-bottom: 17px;

        font-size: 21px;
    }

    .quick-content h3 {
        font-size: 16px;
    }

}
/* =========================================================
   LEADERSHIP / TESTIMONIAL SECTION
========================================================= */

.leadership-section {
    position: relative;
    padding: 90px 0 100px;
    background: #f7f9fc;
    overflow: hidden;
}


/* BACKGROUND DECOR */

.leadership-section::before {
    content: "";
    position: absolute;
    top: -180px;
    right: -180px;
    width: 420px;
    height: 420px;
    border-radius: 50%;
    background: rgba(245, 197, 66, .08);
}

.leadership-section::after {
    content: "";
    position: absolute;
    bottom: -200px;
    left: -200px;
    width: 450px;
    height: 450px;
    border-radius: 50%;
    background: rgba(7, 26, 82, .05);
}


/* =========================================================
   SECTION HEADING
========================================================= */

.section-heading {
    position: relative;
    z-index: 2;
    margin-bottom: 45px;
}

.section-heading span {
    display: inline-block;
    margin-bottom: 8px;

    color: #c69a24;
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 3px;
}

.section-heading h2 {
    margin: 0;

    color: #071a52;
    font-size: clamp(30px, 4vw, 42px);
    font-weight: 800;
}

.heading-line {
    width: 55px;
    height: 3px;
    margin: 15px auto 0;

    background: #f5c542;
    border-radius: 5px;

    position: relative;
}

.heading-line::after {
    content: "";

    position: absolute;
    left: 50%;
    top: 0;

    width: 12px;
    height: 3px;

    transform: translateX(-50%);

    background: #071a52;
}


/* =========================================================
   CAROUSEL
========================================================= */

.leadership-carousel {
    position: relative;
    z-index: 2;

    max-width: 1100px;
    margin: auto;

    padding: 0 65px;
}


/* =========================================================
   LEADERSHIP CARD
========================================================= */

.leadership-card {

    min-height: 390px;

    display: flex;
    align-items: center;

    gap: 70px;

    padding: 50px 65px;

    background: #fff;

    border-radius: 18px;

    box-shadow:
        0 15px 45px rgba(7, 26, 82, .10);

    border: 1px solid rgba(7, 26, 82, .06);

    overflow: hidden;

    position: relative;
}


/* GOLD TOP LINE */

.leadership-card::before {

    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 100%;
    height: 4px;

    background:
        linear-gradient(
            90deg,
            #071a52,
            #f5c542,
            #071a52
        );
}


/* =========================================================
   IMAGE
========================================================= */

.leader-image-box {

    position: relative;

    flex: 0 0 280px;

    display: flex;
    justify-content: center;
    align-items: center;
}


.leader-image-circle {

    width: 240px;
    height: 240px;

    border-radius: 50%;

    padding: 7px;

    background:
        linear-gradient(
            135deg,
            #071a52,
            #f5c542,
            #071a52
        );

    box-shadow:
        0 12px 30px rgba(7, 26, 82, .20);

    position: relative;

    animation: leaderFloat 4s ease-in-out infinite;
}


.leader-image-circle::before {

    content: "";

    position: absolute;

    inset: -10px;

    border-radius: 50%;

    border: 1px dashed rgba(198,154,36,.55);

    animation: rotateLeader 18s linear infinite;
}


.leader-image-circle img {

    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 50%;

    display: block;

    background: #f1f3f7;
}


/* QUOTE BADGE */

.leader-decor {

    position: absolute;

    right: 12px;
    bottom: 12px;

    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #071a52;

    border: 5px solid #fff;

    box-shadow: 0 7px 18px rgba(0,0,0,.18);

    color: #f5c542;

    z-index: 3;
}


.leader-decor i {
    font-size: 25px;
}


/* =========================================================
   CONTENT
========================================================= */

.leader-content {

    flex: 1;

    max-width: 650px;
}


.leader-label {

    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #c69a24;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2.5px;
}


.leader-label i {
    font-size: 14px;
}


.leader-content h3 {

    margin: 10px 0 12px;

    color: #071a52;

    font-size: clamp(28px, 3vw, 38px);

    font-weight: 800;
}


.quote-line {

    width: 55px;
    height: 3px;

    margin-bottom: 20px;

    background: #f5c542;

    border-radius: 5px;
}


.leader-content p {

    margin: 0 0 25px;

    color: #596579;

    font-size: 16px;

    line-height: 1.8;
}


/* =========================================================
   NAME
========================================================= */

.leader-name {

    display: flex;

    flex-direction: column;

    padding-left: 18px;

    border-left: 3px solid #f5c542;
}


.leader-name strong {

    color: #071a52;

    font-size: 17px;

    font-weight: 800;
}


.leader-name span {

    margin-top: 3px;

    color: #8a94a6;

    font-size: 13px;

    font-weight: 600;

    letter-spacing: .5px;
}


/* =========================================================
   CAROUSEL ANIMATION
========================================================= */

.leadership-carousel .carousel-item {

    transition:
        transform .9s ease-in-out,
        opacity .9s ease-in-out;
}


.carousel-item .leader-image-box,
.carousel-item .leader-content {

    opacity: 0;

    transform: translateY(30px);
}


.carousel-item.active .leader-image-box {

    animation:
        leaderImageIn .8s ease forwards;

    animation-delay: .15s;
}


.carousel-item.active .leader-content {

    animation:
        leaderContentIn .9s ease forwards;

    animation-delay: .30s;
}


@keyframes leaderImageIn {

    from {
        opacity: 0;
        transform: translateX(-50px) scale(.92);
    }

    to {
        opacity: 1;
        transform: translateX(0) scale(1);
    }
}


@keyframes leaderContentIn {

    from {
        opacity: 0;
        transform: translateX(50px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}


@keyframes leaderFloat {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-7px);
    }
}


@keyframes rotateLeader {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* =========================================================
   ARROWS
========================================================= */

.leadership-carousel .carousel-control-prev,
.leadership-carousel .carousel-control-next {

    width: 55px;

    opacity: 1;

    z-index: 5;
}


.leadership-arrow {

    width: 44px;
    height: 44px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #071a52;

    color: #fff;

    box-shadow:
        0 7px 18px rgba(7,26,82,.18);

    transition:
        .3s ease;
}


.leadership-arrow i {
    font-size: 17px;
}


.carousel-control-prev:hover .leadership-arrow,
.carousel-control-next:hover .leadership-arrow {

    background: #f5c542;

    color: #071a52;

    transform: scale(1.1);
}


/* =========================================================
   INDICATORS
========================================================= */

.leadership-carousel .carousel-indicators {

    position: absolute;

    bottom: -35px;

    margin: 0;

    gap: 7px;
}


.leadership-carousel .carousel-indicators button {

    width: 22px;
    height: 4px;

    margin: 0;

    border: 0;

    border-radius: 10px;

    background: #071a52;

    opacity: .25;

    transition: .35s ease;
}


.leadership-carousel .carousel-indicators button.active {

    width: 45px;

    background: #f5c542;

    opacity: 1;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .leadership-section {
        padding: 70px 0 85px;
    }

    .leadership-carousel {
        padding: 0 45px;
    }

    .leadership-card {

        gap: 40px;

        padding: 45px 40px;
    }

    .leader-image-box {
        flex: 0 0 220px;
    }

    .leader-image-circle {
        width: 190px;
        height: 190px;
    }

    .leader-decor {
        width: 48px;
        height: 48px;
        right: 0;
        bottom: 5px;
    }

    .leader-decor i {
        font-size: 20px;
    }

    .leader-content p {
        font-size: 15px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .leadership-section {
        padding: 60px 0 75px;
    }

    .section-heading {
        margin-bottom: 30px;
    }

    .leadership-carousel {
        padding: 0;
    }

    .leadership-card {

        min-height: auto;

        flex-direction: column;

        text-align: center;

        gap: 28px;

        padding: 40px 25px 50px;

        border-radius: 14px;
    }

    .leader-image-box {
        flex: none;
    }

    .leader-image-circle {
        width: 175px;
        height: 175px;
    }

    .leader-decor {
        right: -3px;
        bottom: 2px;
    }

    .leader-content {
        max-width: 100%;
    }

    .leader-content h3 {
        font-size: 27px;
    }

    .quote-line {
        margin-left: auto;
        margin-right: auto;
    }

    .leader-content p {
        font-size: 14px;
        line-height: 1.7;
    }

    .leader-name {
        text-align: left;
        display: inline-flex;
    }

    .leadership-carousel .carousel-control-prev,
    .leadership-carousel .carousel-control-next {
        width: 38px;
    }

    .leadership-arrow {
        width: 34px;
        height: 34px;
    }

    .leadership-arrow i {
        font-size: 14px;
    }

    .leadership-carousel .carousel-indicators {
        bottom: -28px;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .leadership-card {
        padding: 35px 20px 45px;
    }

    .leader-image-circle {
        width: 155px;
        height: 155px;
    }

    .leader-content h3 {
        font-size: 24px;
    }

    .leader-content p {
        font-size: 13px;
    }

    .leader-label {
        font-size: 9px;
        letter-spacing: 1.8px;
    }
}


/* =========================================================
   REDUCED MOTION
========================================================= */

@media (prefers-reduced-motion: reduce) {

    .leader-image-circle,
    .leader-image-circle::before,
    .carousel-item .leader-image-box,
    .carousel-item .leader-content {
        animation: none !important;
        transition: none !important;
    }

    .carousel-item .leader-image-box,
    .carousel-item .leader-content {
        opacity: 1;
        transform: none;
    }
}
/* =========================================================
   SCHOOL STATISTICS SECTION
========================================================= */

.school-stats-section {
    position: relative;

    padding: 65px 0;

    background: #071a52;

    overflow: hidden;
}


/* Top decorative line */

.school-stats-section::before {
    content: "";

    position: absolute;

    left: 0;
    top: 0;

    width: 100%;
    height: 3px;

    background: #f5c542;
}


/* Background circles */

.school-stats-section::after {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    right: -250px;
    top: -200px;

    border-radius: 50%;

    border: 1px solid rgba(245,197,66,.12);

    box-shadow:
        0 0 0 40px rgba(245,197,66,.025),
        0 0 0 80px rgba(245,197,66,.018);
}


/* =========================================================
   STAT BOX
========================================================= */

.stat-box {
    position: relative;

    padding: 10px 25px;

    text-align: center;

    color: #fff;

    border-right: 1px solid rgba(255,255,255,.13);
}


/* Remove border from last item */

.col-lg-3:last-child .stat-box {
    border-right: 0;
}


/* =========================================================
   ICON
========================================================= */

.stat-icon {
    width: 55px;
    height: 55px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin: 0 auto 16px;

    border-radius: 50%;

    border: 1px solid rgba(245,197,66,.45);

    background: rgba(245,197,66,.08);

    color: #f5c542;

    font-size: 22px;

    transition:
        transform .5s ease,
        background .4s ease,
        box-shadow .4s ease;
}


/* Icon animation */

.stat-box:hover .stat-icon {
    background: #f5c542;

    color: #071a52;

    transform:
        translateY(-5px)
        rotate(8deg);

    box-shadow:
        0 8px 25px rgba(245,197,66,.22);
}


/* =========================================================
   NUMBER
========================================================= */

.stat-number {
    display: flex;

    align-items: baseline;
    justify-content: center;

    min-height: 65px;

    color: #fff;

    line-height: 1;
}

.stat-number .counter {
    font-size: clamp(38px, 4vw, 52px);

    font-weight: 850;

    letter-spacing: -1px;
}

.stat-number b {
    margin-left: 3px;

    color: #f5c542;

    font-size: 27px;

    font-weight: 800;
}


/* =========================================================
   TITLE
========================================================= */

.stat-box h3 {
    margin: 8px 0 13px;

    color: rgba(255,255,255,.88);

    font-size: 14px;

    font-weight: 600;

    letter-spacing: .4px;
}


/* Gold line */

.stat-line {
    width: 30px;
    height: 2px;

    margin: auto;

    border-radius: 5px;

    background: #f5c542;

    transition:
        width .4s ease;
}

.stat-box:hover .stat-line {
    width: 55px;
}


/* =========================================================
   MOBILE / TABLET
========================================================= */

@media (max-width: 991.98px) {

    .school-stats-section {
        padding: 50px 0;
    }

    .stat-box {
        padding: 25px 15px;

        border-right: 0;
        border-bottom: 1px solid rgba(255,255,255,.12);
    }

    .col-md-6:nth-child(3) .stat-box,
    .col-md-6:nth-child(4) .stat-box {
        border-bottom: 0;
    }

}


@media (max-width: 575.98px) {

    .school-stats-section {
        padding: 40px 0;
    }

    .stat-box {
        padding: 23px 10px;
    }

    .stat-icon {
        width: 48px;
        height: 48px;

        margin-bottom: 13px;

        font-size: 19px;
    }

    .stat-number .counter {
        font-size: 38px;
    }

    .stat-number b {
        font-size: 22px;
    }

    .stat-box h3 {
        font-size: 13px;
    }

}
/* =========================================================
   LATEST NEWS + SOCIAL SECTION
========================================================= */

.news-social-section {
    position: relative;
    padding: 90px 0;
    background: #f7f9fc;
    overflow: hidden;
}


/* Decorative background */

.news-social-section::before {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    left: -250px;
    bottom: -250px;

    border-radius: 50%;

    background: rgba(7,26,82,.035);
}

.news-social-section .container {
    position: relative;
    z-index: 2;
}


/* =========================================================
   NEWS PANEL
========================================================= */

.news-panel {
    height: 100%;
    padding: 35px;

    background: #fff;

    border: 1px solid #e6eaf1;
    border-radius: 14px;

    box-shadow: 0 12px 35px rgba(7,26,82,.07);
}


/* Heading */

.news-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 20px;

    padding-bottom: 22px;

    border-bottom: 1px solid #edf0f5;
}

.news-section-heading > div > span {
    display: block;

    margin-bottom: 6px;

    color: #d39d00;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 2.5px;
}

.news-section-heading h2 {
    margin: 0;

    color: #071a52;

    font-size: 29px;
    font-weight: 800;
}

.view-all-news {
    display: inline-flex;
    align-items: center;
    gap: 7px;

    padding: 8px 13px;

    border-radius: 5px;

    background: #f7f8fb;

    color: #071a52;

    font-size: 11px;
    font-weight: 750;

    text-decoration: none;

    white-space: nowrap;

    transition: .3s ease;
}

.view-all-news:hover {
    background: #071a52;
    color: #f5c542;
}

.view-all-news i {
    transition: transform .3s ease;
}

.view-all-news:hover i {
    transform: translateX(4px);
}


/* =========================================================
   NEWS LIST
========================================================= */

.news-list {
    margin-top: 8px;
}

.news-item {
    position: relative;

    display: flex;
    align-items: center;

    gap: 17px;

    padding: 19px 5px;

    border-bottom: 1px solid #edf0f5;

    text-decoration: none;

    transition: .35s ease;
}

.news-item:last-child {
    border-bottom: 0;
}


/* Hover background */

.news-item::before {
    content: "";

    position: absolute;

    left: -10px;
    right: -10px;
    top: 5px;
    bottom: 5px;

    border-radius: 8px;

    background: #f8faff;

    opacity: 0;

    transform: scale(.97);

    transition: .35s ease;

    z-index: 0;
}

.news-item:hover::before {
    opacity: 1;
    transform: scale(1);
}

.news-item > * {
    position: relative;
    z-index: 1;
}


/* Date */

.news-date {
    flex: 0 0 62px;

    width: 62px;
    height: 68px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: #071a52;

    color: #fff;

    transition: .35s ease;
}

.news-item:hover .news-date {
    background: #f5c542;
    color: #071a52;

    transform: translateY(-3px);
}

.news-date strong {
    font-size: 23px;
    line-height: 1;
    font-weight: 900;
}

.news-date span {
    margin-top: 4px;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1px;
}

.news-date small {
    margin-top: 2px;

    font-size: 8px;

    opacity: .65;
}


/* Content */

.news-item-content {
    flex: 1;
    min-width: 0;
}

.news-category {
    margin-bottom: 4px;

    color: #d39d00;

    font-size: 8px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.news-item-content h3 {
    margin: 0 0 4px;

    color: #071a52;

    font-size: 15px;
    font-weight: 750;

    line-height: 1.4;

    transition: .3s ease;
}

.news-item:hover .news-item-content h3 {
    color: #c08e00;
}

.news-item-content p {
    margin: 0;

    color: #7b8495;

    font-size: 11px;

    line-height: 1.5;
}


/* Arrow */

.news-arrow {
    flex: 0 0 31px;

    width: 31px;
    height: 31px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f1f4f8;

    color: #071a52;

    font-size: 12px;

    transition: .35s ease;
}

.news-item:hover .news-arrow {
    background: #071a52;
    color: #f5c542;

    transform: rotate(45deg);
}


/* =========================================================
   SOCIAL PANEL
========================================================= */

.social-panel {
    height: 100%;

    padding: 35px;

    border-radius: 14px;

    background: #071a52;

    box-shadow: 0 15px 40px rgba(7,26,82,.16);

    overflow: hidden;

    position: relative;
}


/* Decorative circle */

.social-panel::before {
    content: "";

    position: absolute;

    width: 260px;
    height: 260px;

    right: -130px;
    top: -130px;

    border-radius: 50%;

    border: 1px solid rgba(245,197,66,.18);

    box-shadow:
        0 0 0 35px rgba(245,197,66,.025),
        0 0 0 70px rgba(245,197,66,.018);
}

.social-panel::after {
    content: "CONNECT";

    position: absolute;

    right: -20px;
    bottom: 45px;

    color: rgba(255,255,255,.025);

    font-size: 60px;
    font-weight: 900;

    transform: rotate(-90deg);
}


/* =========================================================
   SOCIAL HEADING
========================================================= */

.social-heading {
    position: relative;
    z-index: 2;

    margin-bottom: 28px;
}

.social-heading > span {
    display: block;

    margin-bottom: 7px;

    color: #f5c542;

    font-size: 10px;
    font-weight: 800;

    letter-spacing: 2.5px;
}

.social-heading h2 {
    margin: 0;

    color: #fff;

    font-size: 32px;
    font-weight: 800;
}

.social-heading h2 b {
    color: #f5c542;
}

.social-heading p {
    max-width: 390px;

    margin: 13px 0 0;

    color: rgba(255,255,255,.65);

    font-size: 12px;

    line-height: 1.7;
}


/* =========================================================
   SOCIAL CARDS
========================================================= */

.social-links {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;

    gap: 12px;
}

.social-card {
    position: relative;

    display: flex;
    align-items: center;

    gap: 14px;

    padding: 15px 17px;

    border: 1px solid rgba(255,255,255,.12);

    border-radius: 9px;

    background: rgba(255,255,255,.055);

    text-decoration: none;

    overflow: hidden;

    transition:
        transform .4s ease,
        background .4s ease,
        border-color .4s ease;
}

.social-card:hover {
    transform: translateX(7px);

    background: rgba(255,255,255,.1);

    border-color: rgba(245,197,66,.4);
}


/* Icon */

.social-icon {
    flex: 0 0 45px;

    width: 45px;
    height: 45px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: rgba(255,255,255,.1);

    color: #fff;

    font-size: 21px;

    transition:
        transform .4s ease,
        background .4s ease,
        color .4s ease;
}

.social-card:hover .social-icon {
    transform: rotate(-8deg) scale(1.08);

    background: #f5c542;

    color: #071a52;
}


/* Social information */

.social-info {
    flex: 1;
}

.social-info span {
    display: block;

    margin-bottom: 2px;

    color: rgba(255,255,255,.48);

    font-size: 7px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.social-info h3 {
    margin: 0;

    color: #fff;

    font-size: 16px;
    font-weight: 750;
}

.social-info p {
    margin: 2px 0 0;

    color: rgba(255,255,255,.55);

    font-size: 10px;
}


/* Social arrow */

.social-arrow {
    flex: 0 0 30px;

    width: 30px;
    height: 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: rgba(255,255,255,.08);

    color: #f5c542;

    font-size: 11px;

    transition: .35s ease;
}

.social-card:hover .social-arrow {
    background: #f5c542;
    color: #071a52;

    transform: rotate(45deg);
}


/* =========================================================
   SOCIAL FOOTER
========================================================= */

.social-footer {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;

    gap: 9px;

    margin-top: 22px;
    padding-top: 18px;

    border-top: 1px solid rgba(255,255,255,.1);

    color: rgba(255,255,255,.55);

    font-size: 10px;
}

.social-footer i {
    color: #f5c542;

    font-size: 14px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .news-social-section {
        padding: 70px 0;
    }

}


@media (max-width: 575.98px) {

    .news-social-section {
        padding: 55px 0;
    }

    .news-panel,
    .social-panel {
        padding: 24px 20px;
    }

    .news-section-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .news-section-heading h2 {
        font-size: 25px;
    }

    .view-all-news {
        align-self: flex-start;
    }

    .news-item {
        gap: 11px;
    }

    .news-date {
        flex: 0 0 52px;

        width: 52px;
        height: 60px;
    }

    .news-date strong {
        font-size: 19px;
    }

    .news-item-content h3 {
        font-size: 13px;
    }

    .news-item-content p {
        font-size: 10px;
    }

    .news-arrow {
        display: none;
    }

    .social-heading h2 {
        font-size: 28px;
    }

}
/* =========================================================
   PREMIUM SCHOOL FOOTER
========================================================= */

.school-footer {
    position: relative;
    background:
        radial-gradient(circle at 15% 20%, rgba(255, 210, 70, .07), transparent 25%),
        radial-gradient(circle at 85% 70%, rgba(255, 255, 255, .04), transparent 25%),
        #061746;
    color: #fff;
    overflow: hidden;
}


/* Animated Gold Top Line */
.footer-glow-line {
    position: relative;
    width: 100%;
    height: 4px;
    background: linear-gradient(
        90deg,
        #d9a928,
        #ffe48a,
        #d9a928,
        #fff1a8,
        #d9a928
    );
    background-size: 300% 100%;
    animation: footerGoldMove 5s linear infinite;
}

@keyframes footerGoldMove {
    0% {
        background-position: 0% 50%;
    }

    100% {
        background-position: 300% 50%;
    }
}


/* Decorative circles */
.school-footer::before,
.school-footer::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 212, 59, .10);
    border-radius: 50%;
    pointer-events: none;
}

.school-footer::before {
    width: 280px;
    height: 280px;
    top: 70px;
    right: -100px;
    animation: footerCircle 12s linear infinite;
}

.school-footer::after {
    width: 180px;
    height: 180px;
    bottom: 120px;
    left: -80px;
    animation: footerCircle 10s linear infinite reverse;
}

@keyframes footerCircle {
    0% {
        transform: rotate(0deg) scale(1);
    }

    50% {
        transform: rotate(180deg) scale(1.08);
    }

    100% {
        transform: rotate(360deg) scale(1);
    }
}


/* Main Footer */
.footer-main {
    position: relative;
    padding: 70px 0 55px;
    z-index: 2;
}


/* Footer Brand */
.footer-brand {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 22px;
}

.footer-logo {
    width: 72px;
    height: 72px;
    border-radius: 50%;
    padding: 5px;
    background: #fff;
    border: 2px solid #e8bd38;
    box-shadow: 0 0 0 5px rgba(232, 189, 56, .10);
    flex-shrink: 0;
    transition: .4s ease;
}

.footer-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 50%;
}

.footer-brand:hover .footer-logo {
    transform: rotate(8deg) scale(1.05);
}

.footer-brand h3 {
    margin: 0;
    color: #fff;
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 1px;
}

.footer-brand span {
    display: block;
    margin-top: 2px;
    color: #e8bd38;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 2px;
}


/* Jubilee */
.footer-jubilee {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
    margin-bottom: 20px;
    padding: 8px 13px;
    border: 1px solid rgba(232, 189, 56, .45);
    border-radius: 30px;
    background: rgba(232, 189, 56, .08);
    color: #f8d96b;
    font-size: 12px;
    font-weight: 600;
}

.footer-jubilee i {
    animation: sparkle 1.8s ease-in-out infinite;
}

.footer-jubilee strong {
    color: #fff;
    font-weight: 800;
}

@keyframes sparkle {
    0%, 100% {
        transform: scale(1);
        opacity: .7;
    }

    50% {
        transform: scale(1.35) rotate(15deg);
        opacity: 1;
    }
}


/* About Text */
.footer-about > p {
    color: rgba(255, 255, 255, .70);
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 20px;
    max-width: 390px;
}


/* Motto */
.footer-motto {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #f2cf61;
    font-size: 14px;
    font-style: italic;
    font-weight: 700;
}

.footer-motto i {
    font-size: 24px;
}


/* Widget Title */
.footer-title {
    position: relative;
    margin: 4px 0 25px;
    padding-bottom: 12px;
    color: #fff;
    font-size: 18px;
    font-weight: 800;
}

.footer-title span {
    position: relative;
}

.footer-title span::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -13px;
    width: 38px;
    height: 3px;
    border-radius: 10px;
    background: #e8bd38;
    transition: .4s ease;
}

.footer-widget:hover .footer-title span::after {
    width: 65px;
}


/* Footer Links */
.footer-links {
    padding: 0;
    margin: 0;
    list-style: none;
}

.footer-links li {
    margin-bottom: 11px;
}

.footer-links a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: rgba(255, 255, 255, .68);
    text-decoration: none;
    font-size: 13px;
    transition: .3s ease;
}

.footer-links a i {
    color: #e8bd38;
    font-size: 10px;
    transition: .3s ease;
}

.footer-links a:hover {
    color: #fff;
    transform: translateX(6px);
}

.footer-links a:hover i {
    transform: translateX(3px);
}


/* Contact */
.footer-contact {
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.footer-contact-item {
    display: flex;
    gap: 12px;
    align-items: flex-start;
}

.contact-icon {
    width: 36px;
    height: 36px;
    min-width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: rgba(232, 189, 56, .10);
    border: 1px solid rgba(232, 189, 56, .30);
    color: #e8bd38;
    transition: .35s ease;
}

.footer-contact-item:hover .contact-icon {
    background: #e8bd38;
    color: #061746;
    transform: translateY(-3px) rotate(5deg);
}

.footer-contact-item small {
    display: block;
    color: #e8bd38;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 3px;
}

.footer-contact-item p {
    margin: 0;
    color: rgba(255, 255, 255, .70);
    font-size: 12px;
    line-height: 1.6;
}


/* Social Icons */
.footer-social {
    display: flex;
    gap: 10px;
    margin-top: 25px;
}

.footer-social a {
    position: relative;
    width: 39px;
    height: 39px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .20);
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    overflow: hidden;
    transition: .35s ease;
}

.footer-social a::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: #e8bd38;
    transform: scale(0);
    transition: .35s ease;
    z-index: 0;
}

.footer-social a i {
    position: relative;
    z-index: 1;
    font-size: 16px;
}

.footer-social a:hover {
    color: #061746;
    border-color: #e8bd38;
    transform: translateY(-6px);
}

.footer-social a:hover::before {
    transform: scale(1);
}


/* =========================================================
   FOOTER CTA
========================================================= */

.footer-cta {
    position: relative;
    z-index: 3;
    padding: 28px 0;
    background: rgba(255, 255, 255, .045);
    border-top: 1px solid rgba(255, 255, 255, .08);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
}

.footer-cta-inner {
    display: flex;
    align-items: center;
    gap: 18px;
}

.footer-cta-icon {
    width: 58px;
    height: 58px;
    min-width: 58px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #e8bd38;
    color: #061746;
    font-size: 25px;
    box-shadow: 0 8px 25px rgba(232, 189, 56, .20);
    animation: capFloat 3s ease-in-out infinite;
}

@keyframes capFloat {
    0%, 100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

.footer-cta-content {
    flex: 1;
}

.footer-cta-content span {
    display: block;
    color: #e8bd38;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 4px;
}

.footer-cta-content h3 {
    margin: 0;
    color: #fff;
    font-size: 19px;
    font-weight: 700;
}

.footer-cta-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 12px 22px;
    border: 1px solid #e8bd38;
    border-radius: 30px;
    color: #e8bd38;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
    transition: .35s ease;
}

.footer-cta-btn i {
    transition: .3s ease;
}

.footer-cta-btn:hover {
    background: #e8bd38;
    color: #061746;
    transform: translateY(-3px);
}

.footer-cta-btn:hover i {
    transform: translateX(5px);
}


/* =========================================================
   FOOTER BOTTOM
========================================================= */

.footer-bottom {
    position: relative;
    z-index: 3;
    background: #041239;
}

.footer-bottom-inner {
    min-height: 65px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.footer-bottom p {
    margin: 0;
    color: rgba(255, 255, 255, .55);
    font-size: 11px;
}

.footer-bottom strong {
    color: rgba(255, 255, 255, .80);
}

.footer-bottom-links {
    display: flex;
    align-items: center;
    gap: 9px;
}

.footer-bottom-links a {
    color: rgba(255, 255, 255, .55);
    text-decoration: none;
    font-size: 11px;
    transition: .3s ease;
}

.footer-bottom-links a:hover {
    color: #e8bd38;
}

.footer-bottom-links span {
    color: #e8bd38;
}

.footer-developed i {
    color: #e8bd38;
    animation: heartBeat 1.4s ease-in-out infinite;
}

@keyframes heartBeat {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.3);
    }
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .footer-main {
        padding: 55px 0 40px;
    }

    .footer-brand h3 {
        font-size: 22px;
    }

    .footer-cta-inner {
        flex-wrap: wrap;
    }

    .footer-cta-content {
        min-width: 60%;
    }

    .footer-cta-btn {
        margin-left: 76px;
    }

    .footer-bottom-inner {
        padding: 16px 0;
        flex-wrap: wrap;
        justify-content: center;
        text-align: center;
    }
}


@media (max-width: 575.98px) {

    .footer-main {
        padding: 45px 0 30px;
    }

    .footer-brand {
        margin-bottom: 18px;
    }

    .footer-logo {
        width: 62px;
        height: 62px;
    }

    .footer-brand h3 {
        font-size: 20px;
    }

    .footer-brand span {
        font-size: 11px;
    }

    .footer-title {
        margin-top: 20px;
    }

    .footer-cta {
        padding: 25px 0;
    }

    .footer-cta-inner {
        align-items: flex-start;
    }

    .footer-cta-icon {
        width: 50px;
        height: 50px;
        min-width: 50px;
        font-size: 21px;
    }

    .footer-cta-content {
        min-width: 0;
    }

    .footer-cta-content h3 {
        font-size: 16px;
        line-height: 1.4;
    }

    .footer-cta-content span {
        font-size: 9px;
    }

    .footer-cta-btn {
        margin-left: 68px;
        padding: 10px 17px;
        font-size: 12px;
    }

    .footer-bottom-inner {
        flex-direction: column;
        gap: 8px;
    }

    .footer-bottom p {
        line-height: 1.6;
    }
}
/* =========================================================
   ABOUT OUR SCHOOL
========================================================= */

.about-school-section {
    position: relative;
    padding: 100px 0;
    background: #ffffff;
    overflow: hidden;
}


/* Background Decoration */

.about-school-section::before {
    content: "";
    position: absolute;

    width: 420px;
    height: 420px;

    top: -180px;
    right: -180px;

    border-radius: 50%;

    background: rgba(245, 197, 66, .07);
}

.about-school-section::after {
    content: "";

    position: absolute;

    width: 300px;
    height: 300px;

    bottom: -150px;
    left: -150px;

    border-radius: 50%;

    background: rgba(7, 26, 82, .035);
}


/* =========================================================
   IMAGE
========================================================= */

.about-image-wrap {
    position: relative;

    max-width: 560px;

    margin: auto;

    padding: 15px;
}


.about-image-main {
    position: relative;

    width: 100%;

    height: 430px;

    overflow: hidden;

    border-radius: 18px;

    box-shadow:
        0 20px 45px rgba(7, 26, 82, .18);

    z-index: 2;
}


.about-image-main img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    display: block;

    transition: transform .7s ease;
}


.about-image-main:hover img {
    transform: scale(1.05);
}


/* Image Border */

.about-image-wrap::before {
    content: "";

    position: absolute;

    top: 0;
    left: 0;

    width: 85%;
    height: 85%;

    border: 2px solid #f5c542;

    border-radius: 18px;

    z-index: 1;
}


/* Bottom Decorative Border */

.about-image-decoration {
    position: absolute;

    right: 0;
    bottom: 0;

    width: 130px;
    height: 130px;

    border-right: 5px solid #071a52;
    border-bottom: 5px solid #071a52;

    border-radius: 0 0 18px 0;

    z-index: 3;
}


/* =========================================================
   EXPERIENCE BADGE
========================================================= */

.about-experience {

    position: absolute;

    left: -5px;
    bottom: 35px;

    width: 145px;
    height: 145px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex-direction: column;

    background: #071a52;

    color: #fff;

    border-radius: 50%;

    border: 7px solid #fff;

    box-shadow:
        0 12px 30px rgba(7, 26, 82, .25);

    z-index: 5;
}


.about-experience strong {
    color: #f5c542;

    font-size: 43px;

    line-height: 1;

    font-weight: 900;
}


.about-experience span {

    margin-top: 5px;

    text-align: center;

    font-size: 12px;

    line-height: 1.35;

    font-weight: 700;

    letter-spacing: .5px;
}


/* =========================================================
   CONTENT
========================================================= */

.about-content {
    position: relative;

    z-index: 2;

    padding-left: 15px;
}


.about-label {

    display: inline-flex;

    align-items: center;

    gap: 8px;

    color: #c69a24;

    font-size: 12px;

    font-weight: 800;

    letter-spacing: 2.5px;
}


.about-label i {
    font-size: 15px;
}


.about-content h2 {

    margin: 12px 0 15px;

    color: #071a52;

    font-size: clamp(32px, 4vw, 46px);

    line-height: 1.15;

    font-weight: 800;
}


.about-content h2 span {
    display: block;

    color: #c69a24;
}


.about-line {

    width: 60px;
    height: 3px;

    margin-bottom: 22px;

    background: #f5c542;

    border-radius: 5px;
}


.about-content p {

    margin-bottom: 15px;

    color: #5f6b7a;

    font-size: 15px;

    line-height: 1.8;
}


.about-content .about-intro {

    color: #4d5969;

    font-size: 16px;

    line-height: 1.85;
}


/* =========================================================
   HIGHLIGHTS
========================================================= */

.about-highlights {

    display: grid;

    grid-template-columns:
        repeat(3, 1fr);

    gap: 12px;

    margin: 28px 0 30px;
}


.about-highlight {

    display: flex;

    flex-direction: column;

    gap: 10px;

    padding: 17px 12px;

    border-radius: 10px;

    background: #f7f9fc;

    border: 1px solid #edf0f5;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}


.about-highlight:hover {

    transform: translateY(-5px);

    border-color: rgba(245,197,66,.5);

    box-shadow:
        0 10px 25px rgba(7,26,82,.08);
}


.highlight-icon {

    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 9px;

    background: #071a52;

    color: #f5c542;
}


.highlight-icon i {
    font-size: 18px;
}


.about-highlight strong {

    display: block;

    color: #071a52;

    font-size: 13px;

    font-weight: 800;
}


.about-highlight span {

    display: block;

    margin-top: 3px;

    color: #8a94a6;

    font-size: 11px;
}


/* =========================================================
   BUTTON
========================================================= */

.about-btn {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 13px 24px;

    background: #071a52;

    color: #fff;

    border-radius: 5px;

    font-size: 14px;

    font-weight: 700;

    text-decoration: none;

    box-shadow:
        0 7px 18px rgba(7,26,82,.18);

    transition:
        background .3s ease,
        color .3s ease,
        transform .3s ease,
        box-shadow .3s ease;
}


.about-btn i {

    transition: transform .3s ease;
}


.about-btn:hover {

    background: #f5c542;

    color: #071a52;

    transform: translateY(-3px);

    box-shadow:
        0 10px 25px rgba(7,26,82,.22);
}


.about-btn:hover i {
    transform: translateX(5px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 991.98px) {

    .about-school-section {
        padding: 75px 0;
    }

    .about-content {
        padding-left: 0;
    }

    .about-image-main {
        height: 390px;
    }

    .about-highlights {
        gap: 8px;
    }
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767.98px) {

    .about-school-section {
        padding: 60px 0 70px;
    }

    .about-image-wrap {
        padding: 10px;
        max-width: 500px;
    }

    .about-image-main {
        height: 320px;
        border-radius: 14px;
    }

    .about-image-wrap::before {
        border-radius: 14px;
    }

    .about-experience {
        width: 115px;
        height: 115px;

        left: -2px;
        bottom: 25px;

        border-width: 5px;
    }

    .about-experience strong {
        font-size: 34px;
    }

    .about-experience span {
        font-size: 10px;
    }

    .about-image-decoration {
        width: 80px;
        height: 80px;
        border-width: 3px;
    }

    .about-content {
        text-align: left;
    }

    .about-content h2 {
        font-size: 32px;
    }

    .about-content h2 span {
        display: inline;
    }

    .about-content p {
        font-size: 14px;
    }

    .about-content .about-intro {
        font-size: 15px;
    }

    .about-highlights {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .about-highlight {
        flex-direction: row;
        align-items: center;
        padding: 12px;
    }

    .highlight-icon {
        flex: 0 0 42px;
    }

    .about-btn {
        width: 100%;
    }
}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 400px) {

    .about-image-main {
        height: 280px;
    }

    .about-content h2 {
        font-size: 28px;
    }

    .about-label {
        font-size: 10px;
        letter-spacing: 2px;
    }
}
/* =========================================================
   ONLINE SERVICES POPUP
========================================================= */

.service-popup-overlay {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;

    background: rgba(2, 13, 45, .78);
    backdrop-filter: blur(7px);

    opacity: 0;
    visibility: hidden;
    transition: .4s ease;
}

.service-popup-overlay.show {
    opacity: 1;
    visibility: visible;
}


/* Popup Box */
.service-popup {
    position: relative;
    width: 100%;
    max-width: 570px;
    overflow: hidden;

    border: 1px solid rgba(232, 189, 56, .55);
    border-radius: 22px;

    background:
        radial-gradient(
            circle at 90% 5%,
            rgba(232, 189, 56, .12),
            transparent 28%
        ),
        linear-gradient(145deg, #071a52, #041239);

    box-shadow:
        0 30px 80px rgba(0, 0, 0, .45),
        0 0 0 1px rgba(255,255,255,.04);

    transform: translateY(35px) scale(.94);
    opacity: 0;

    transition:
        transform .5s cubic-bezier(.2,.8,.2,1),
        opacity .4s ease;
}

.service-popup-overlay.show .service-popup {
    transform: translateY(0) scale(1);
    opacity: 1;
}


/* Animated Top Border */
.service-popup::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 3px;

    background: linear-gradient(
        90deg,
        transparent,
        #fff0a0,
        #e8bd38,
        transparent
    );

    animation: popupBorderMove 3s linear infinite;
}

@keyframes popupBorderMove {

    0% {
        left: -100%;
    }

    100% {
        left: 100%;
    }
}


/* Close */
.service-popup-close {
    position: absolute;
    top: 15px;
    right: 15px;

    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 1px solid rgba(255,255,255,.18);
    border-radius: 50%;

    background: rgba(255,255,255,.07);
    color: #fff;

    cursor: pointer;
    z-index: 10;

    transition: .3s ease;
}

.service-popup-close:hover {
    background: #e8bd38;
    color: #061746;
    transform: rotate(90deg);
}


/* Shine */
.popup-shine {
    position: absolute;
    top: -100px;
    left: -150px;

    width: 100px;
    height: 500px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.08),
        transparent
    );

    transform: rotate(25deg);
    animation: popupShine 5s ease-in-out infinite;
}

@keyframes popupShine {

    0% {
        left: -180px;
    }

    55%, 100% {
        left: 700px;
    }
}


/* Header */
.popup-header {
    position: relative;
    display: flex;
    align-items: center;
    gap: 18px;

    padding: 34px 45px 25px;

    z-index: 2;
}

.popup-icon {
    width: 64px;
    height: 64px;
    min-width: 64px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 18px;

    background: #e8bd38;
    color: #061746;

    font-size: 28px;

    box-shadow:
        0 10px 25px rgba(232,189,56,.22);

    animation: popupIconFloat 3s ease-in-out infinite;
}

@keyframes popupIconFloat {

    0%,100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }
}

.popup-title span {
    display: block;

    color: #e8bd38;

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 1.5px;
}

.popup-title h2 {
    margin: 3px 0 2px;

    color: #fff;

    font-size: 27px;
    font-weight: 800;
}

.popup-title p {
    margin: 0;

    color: rgba(255,255,255,.60);

    font-size: 12px;
}


/* Services */
.popup-services {
    position: relative;
    padding: 5px 30px 20px;
    z-index: 2;
}


/* Service Card */
.popup-service-card {
    position: relative;

    display: flex;
    align-items: center;
    gap: 14px;

    padding: 15px;

    margin-bottom: 12px;

    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;

    background: rgba(255,255,255,.055);

    text-decoration: none;

    overflow: hidden;

    transition: .35s ease;
}


/* Card Gold Sweep */
.popup-service-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: -110%;

    width: 70%;
    height: 100%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.07),
        transparent
    );

    transform: skewX(-20deg);

    transition: .6s ease;
}

.popup-service-card:hover::before {
    left: 130%;
}


.popup-service-card:hover {
    transform: translateX(5px);

    border-color: rgba(232,189,56,.55);

    background: rgba(232,189,56,.09);

    box-shadow:
        0 10px 25px rgba(0,0,0,.15);
}


/* Service Icon */
.popup-service-icon {
    width: 48px;
    height: 48px;
    min-width: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 12px;

    background: rgba(232,189,56,.12);

    border: 1px solid rgba(232,189,56,.28);

    color: #e8bd38;

    font-size: 20px;

    transition: .35s ease;
}

.popup-service-card:hover .popup-service-icon {
    background: #e8bd38;
    color: #061746;

    transform:
        rotate(-5deg)
        scale(1.08);
}


/* Content */
.popup-service-content {
    flex: 1;
}

.popup-service-content span {
    display: block;

    color: #e8bd38;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1px;

    margin-bottom: 2px;
}

.popup-service-content h3 {
    margin: 0 0 2px;

    color: #fff;

    font-size: 16px;
    font-weight: 750;
}

.popup-service-content p {
    margin: 0;

    color: rgba(255,255,255,.55);

    font-size: 11px;
}


/* Arrow */
.popup-arrow {
    width: 34px;
    height: 34px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    color: #e8bd38;

    background: rgba(232,189,56,.08);

    transition: .35s ease;
}

.popup-arrow i {
    transition: .35s ease;
}

.popup-service-card:hover .popup-arrow {
    background: #e8bd38;
    color: #061746;
}

.popup-service-card:hover .popup-arrow i {
    transform: translateX(4px);
}


/* Registration Highlight */
.registration-card {
    border-color: rgba(232,189,56,.25);
}


/* Footer */
.popup-footer {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;

    padding: 14px;

    border-top: 1px solid rgba(255,255,255,.08);

    background: rgba(0,0,0,.12);

    color: rgba(255,255,255,.52);

    font-size: 10px;

    z-index: 2;
}

.popup-footer i {
    color: #e8bd38;
    font-size: 14px;
}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 575.98px) {

    .service-popup-overlay {
        padding: 14px;
    }

    .service-popup {
        border-radius: 18px;
    }

    .popup-header {
        padding: 30px 25px 20px;
        gap: 13px;
    }

    .popup-icon {
        width: 52px;
        height: 52px;
        min-width: 52px;

        border-radius: 14px;
        font-size: 22px;
    }

    .popup-title span {
        font-size: 8px;
    }

    .popup-title h2 {
        font-size: 22px;
    }

    .popup-title p {
        font-size: 10px;
    }

    .popup-services {
        padding: 5px 18px 15px;
    }

    .popup-service-card {
        padding: 12px;
        gap: 10px;
    }

    .popup-service-icon {
        width: 42px;
        height: 42px;
        min-width: 42px;

        font-size: 17px;
    }

    .popup-service-content h3 {
        font-size: 14px;
    }

    .popup-service-content p {
        font-size: 10px;
    }

    .popup-arrow {
        width: 30px;
        height: 30px;
        min-width: 30px;
    }

    .service-popup-close {
        width: 31px;
        height: 31px;
        top: 11px;
        right: 11px;
        font-size: 11px;
    }
}
/* =========================================================
   SCHOOL ANTHEM SECTION
========================================================= */

.school-anthem-section {
    position: relative;
    overflow: hidden;
    padding: 90px 0;

    background:
        radial-gradient(
            circle at 15% 50%,
            rgba(232, 189, 56, .10),
            transparent 28%
        ),
        linear-gradient(
            135deg,
            #061746,
            #09245f,
            #061746
        );

    color: #fff;
}


/* Decorative Circles */

.anthem-bg-circle {
    position: absolute;
    border: 1px solid rgba(232, 189, 56, .12);
    border-radius: 50%;
    pointer-events: none;
}

.anthem-circle-one {
    width: 420px;
    height: 420px;
    left: -210px;
    top: -120px;
    animation: anthemRotate 18s linear infinite;
}

.anthem-circle-two {
    width: 280px;
    height: 280px;
    right: -100px;
    bottom: -120px;
    animation: anthemRotate 14s linear infinite reverse;
}

@keyframes anthemRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* =========================================================
   ANTHEM VISUAL
========================================================= */

.anthem-visual {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 430px;
}


.anthem-image-box {
    position: relative;
    width: 330px;
    height: 390px;

    overflow: hidden;

    border-radius: 24px;

    border: 2px solid rgba(232, 189, 56, .75);

    box-shadow:
        0 25px 60px rgba(0, 0, 0, .35),
        0 0 0 8px rgba(232, 189, 56, .07);

    z-index: 3;

    transform: rotate(-2deg);

    transition: .5s ease;
}

.anthem-image-box:hover {
    transform: rotate(0deg) scale(1.02);
}


.anthem-image-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.anthem-image-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(3, 18, 58, .05),
            rgba(3, 18, 58, .68)
        );
}


/* Animated Shine */

.anthem-image-box::after {
    content: "";

    position: absolute;
    top: -100%;
    left: -80%;

    width: 50%;
    height: 300%;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.14),
        transparent
    );

    transform: rotate(25deg);

    animation: anthemShine 6s ease-in-out infinite;
}

@keyframes anthemShine {

    0% {
        left: -100%;
    }

    45%,
    100% {
        left: 180%;
    }
}


/* Rings */

.anthem-ring {
    position: absolute;

    border: 1px dashed rgba(232, 189, 56, .35);

    border-radius: 50%;

    z-index: 1;

    animation: ringSpin 18s linear infinite;
}

.ring-one {
    width: 390px;
    height: 390px;
}

.ring-two {
    width: 440px;
    height: 440px;

    border-color: rgba(255,255,255,.10);

    animation-duration: 25s;
    animation-direction: reverse;
}

@keyframes ringSpin {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* Play Button */

.anthem-play-btn {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 76px;
    height: 76px;

    transform: translate(-50%, -50%);

    display: flex;
    align-items: center;
    justify-content: center;

    border: 2px solid #fff;
    border-radius: 50%;

    background: #e8bd38;
    color: #061746;

    font-size: 30px;

    cursor: pointer;

    z-index: 5;

    box-shadow:
        0 0 0 0 rgba(232,189,56,.55);

    animation: anthemPulse 2s infinite;

    transition: .35s ease;
}

.anthem-play-btn:hover {
    transform: translate(-50%, -50%) scale(1.12);
    background: #fff;
    color: #061746;
}

@keyframes anthemPulse {

    0% {
        box-shadow:
            0 0 0 0 rgba(232,189,56,.55);
    }

    70% {
        box-shadow:
            0 0 0 18px rgba(232,189,56,0);
    }

    100% {
        box-shadow:
            0 0 0 0 rgba(232,189,56,0);
    }
}


/* Playing Bars */

.anthem-playing {
    position: absolute;

    left: 50%;
    bottom: 35px;

    transform: translateX(-50%);

    display: flex;
    align-items: end;
    gap: 4px;

    height: 25px;

    z-index: 5;

    opacity: .35;
}

.anthem-playing span {
    display: block;

    width: 4px;
    height: 8px;

    border-radius: 5px;

    background: #fff;
}

.anthem-playing span:nth-child(1) {
    animation: musicBar .8s infinite ease-in-out;
}

.anthem-playing span:nth-child(2) {
    animation: musicBar .6s infinite ease-in-out .1s;
}

.anthem-playing span:nth-child(3) {
    animation: musicBar .9s infinite ease-in-out .2s;
}

.anthem-playing span:nth-child(4) {
    animation: musicBar .65s infinite ease-in-out .15s;
}

.anthem-playing span:nth-child(5) {
    animation: musicBar .8s infinite ease-in-out .3s;
}

@keyframes musicBar {

    0%, 100% {
        height: 7px;
    }

    50% {
        height: 24px;
    }
}


/* Badge */

.anthem-badge {
    position: absolute;

    bottom: 8px;
    left: 50%;

    transform: translateX(-50%);

    display: flex;
    align-items: center;
    gap: 7px;

    padding: 9px 18px;

    border-radius: 30px;

    background: #e8bd38;
    color: #061746;

    font-size: 10px;
    font-weight: 900;

    letter-spacing: 1.5px;

    white-space: nowrap;

    z-index: 6;

    box-shadow: 0 8px 20px rgba(0,0,0,.25);
}


/* =========================================================
   ANTHEM CONTENT
========================================================= */

.anthem-content {
    position: relative;
    z-index: 2;

    padding-left: 25px;
}


.anthem-small-title {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 10px;

    color: #e8bd38;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;
}


.anthem-small-title i {
    animation: sparkle 1.8s infinite;
}


.anthem-content h2 {
    margin: 0;

    font-size: 42px;
    line-height: 1.15;

    font-weight: 800;

    color: #fff;
}

.anthem-content h2 span {
    color: #e8bd38;
}


.anthem-line {
    width: 70px;
    height: 4px;

    margin: 17px 0;

    border-radius: 10px;

    background: #e8bd38;

    transition: .4s ease;
}

.anthem-content:hover .anthem-line {
    width: 110px;
}


.anthem-intro {
    max-width: 590px;

    margin-bottom: 25px;

    color: rgba(255,255,255,.68);

    font-size: 15px;
    line-height: 1.8;
}


/* Lyrics */

.anthem-lyrics {
    position: relative;

    max-width: 590px;

    padding: 20px 22px;

    margin-bottom: 25px;

    border-left: 3px solid #e8bd38;

    border-radius: 0 14px 14px 0;

    background: rgba(255,255,255,.055);

    overflow: hidden;
}

.anthem-lyrics::before {
    content: "?";

    position: absolute;

    right: 20px;
    top: 8px;

    color: rgba(232,189,56,.08);

    font-size: 80px;
    line-height: 1;
}

.lyrics-title {
    position: relative;

    display: flex;
    align-items: center;
    gap: 8px;

    margin-bottom: 10px;

    color: #e8bd38;

    font-size: 13px;
    font-weight: 800;
}

.anthem-lyrics p {
    position: relative;

    margin: 0;

    color: rgba(255,255,255,.72);

    font-size: 13px;
    line-height: 1.9;
}


/* Controls */

.anthem-controls {
    display: flex;
    align-items: center;
    gap: 18px;
}


.anthem-main-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    padding: 12px 22px;

    border: 1px solid #e8bd38;
    border-radius: 30px;

    background: #e8bd38;
    color: #061746;

    font-size: 13px;
    font-weight: 800;

    cursor: pointer;

    transition: .35s ease;
}

.anthem-main-btn:hover {
    background: #fff;
    border-color: #fff;

    transform: translateY(-3px);

    box-shadow: 0 10px 25px rgba(0,0,0,.20);
}


.anthem-main-btn i {
    font-size: 16px;
}


.anthem-duration {
    display: flex;
    align-items: center;
    gap: 7px;

    color: rgba(255,255,255,.48);

    font-size: 11px;
}

.anthem-duration i {
    color: #e8bd38;
}


/* =========================================================
   PLAYING STATE
========================================================= */

.school-anthem-section.is-playing
.anthem-playing {
    opacity: 1;
}

.school-anthem-section.is-playing
.anthem-play-btn {
    animation: none;
}

.school-anthem-section.is-playing
.anthem-play-btn i::before {
    content: "\f4c3";
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .school-anthem-section {
        padding: 70px 0;
    }

    .anthem-content {
        padding-left: 0;
    }

    .anthem-visual {
        min-height: 410px;
        margin-bottom: 20px;
    }

    .anthem-content h2 {
        font-size: 36px;
    }
}


@media (max-width: 575.98px) {

    .school-anthem-section {
        padding: 55px 0;
    }

    .anthem-visual {
        min-height: 350px;
    }

    .anthem-image-box {
        width: 270px;
        height: 320px;
    }

    .ring-one {
        width: 320px;
        height: 320px;
    }

    .ring-two {
        width: 350px;
        height: 350px;
    }

    .anthem-content h2 {
        font-size: 30px;
    }

    .anthem-intro {
        font-size: 13px;
    }

    .anthem-controls {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    .anthem-main-btn {
        width: 100%;
        justify-content: center;
    }

    .anthem-duration {
        margin-left: 5px;
    }
}
/* =========================================================
   PREMIUM SCHOOL ANTHEM
========================================================= */

.school-anthem-section {
    position: relative;
    overflow: hidden;
    padding: 95px 0;

    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(232, 189, 56, .10),
            transparent 28%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(255,255,255,.05),
            transparent 30%
        ),
        linear-gradient(
            135deg,
            #061746,
            #09245f,
            #061746
        );

    color: #fff;
}


/* Background Circles */

.anthem-bg-circle {
    position: absolute;
    border: 1px solid rgba(232,189,56,.12);
    border-radius: 50%;
    pointer-events: none;
}

.anthem-circle-one {
    width: 430px;
    height: 430px;
    top: -180px;
    left: -180px;

    animation: anthemCircleRotate 20s linear infinite;
}

.anthem-circle-two {
    width: 320px;
    height: 320px;
    right: -130px;
    bottom: -150px;

    animation:
        anthemCircleRotate 16s linear infinite reverse;
}

@keyframes anthemCircleRotate {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


.anthem-stars {
    position: absolute;
    top: 90px;
    right: 8%;

    color: rgba(232,189,56,.20);

    font-size: 15px;
    letter-spacing: 10px;

    animation: anthemStars 3s ease-in-out infinite;
}

@keyframes anthemStars {

    0%,100% {
        opacity: .3;
        transform: translateY(0);
    }

    50% {
        opacity: 1;
        transform: translateY(-8px);
    }
}


/* =========================================================
   SECTION HEADING
========================================================= */

.anthem-section-heading {
    position: relative;
    z-index: 2;

    max-width: 700px;

    margin: 0 auto 60px;
}

.anthem-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;

    color: #e8bd38;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;

    margin-bottom: 12px;
}

.anthem-eyebrow i {
    animation: anthemNoteFloat 2s ease-in-out infinite;
}

@keyframes anthemNoteFloat {

    0%,100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

.anthem-section-heading h2 {
    margin: 0;

    color: #fff;

    font-size: 44px;
    font-weight: 850;
}

.anthem-section-heading h2 span {
    color: #e8bd38;
}

.anthem-section-heading p {
    max-width: 600px;

    margin: 14px auto 0;

    color: rgba(255,255,255,.62);

    font-size: 14px;
    line-height: 1.8;
}


/* =========================================================
   ARTWORK
========================================================= */

.anthem-artwork {
    position: relative;

    display: flex;
    justify-content: center;
    align-items: center;

    min-height: 500px;
}


/* Orbit */

.anthem-orbit {
    position: absolute;

    border-radius: 50%;

    border: 1px dashed rgba(232,189,56,.32);

    animation: anthemOrbit 18s linear infinite;
}

.orbit-one {
    width: 410px;
    height: 410px;
}

.orbit-two {
    width: 455px;
    height: 455px;

    border-color: rgba(255,255,255,.10);

    animation-duration: 26s;
    animation-direction: reverse;
}

@keyframes anthemOrbit {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* Cover */

.anthem-cover {
    position: relative;

    width: 330px;
    height: 415px;

    overflow: hidden;

    border-radius: 26px;

    border: 2px solid rgba(232,189,56,.75);

    box-shadow:
        0 30px 70px rgba(0,0,0,.40),
        0 0 0 8px rgba(232,189,56,.06);

    transform: rotate(-2deg);

    z-index: 3;

    transition: .5s ease;
}

.anthem-cover:hover {
    transform: rotate(0deg) scale(1.025);
}

.anthem-cover img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.anthem-cover-overlay {
    position: absolute;
    inset: 0;

    background:
        linear-gradient(
            180deg,
            rgba(4,18,55,.10),
            rgba(4,18,55,.78)
        );
}


/* Cover Content */

.anthem-cover-content {
    position: absolute;

    top: 35px;
    left: 30px;

    z-index: 3;
}

.anthem-cover-content > span {
    color: #e8bd38;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 3px;
}

.anthem-cover-content h3 {
    margin: 8px 0;

    color: #fff;

    font-size: 34px;
    line-height: 1.05;

    font-weight: 900;

    letter-spacing: 1px;
}

.anthem-cover-content small {
    color: rgba(255,255,255,.65);

    font-size: 9px;
    font-weight: 700;

    letter-spacing: 2px;
}

.anthem-music-symbol {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 12px;

    border-radius: 50%;

    background: #e8bd38;
    color: #061746;

    font-size: 19px;

    animation: musicSymbol 2s ease-in-out infinite;
}

@keyframes musicSymbol {

    0%,100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.08) rotate(5deg);
    }
}


/* Big Play */

.anthem-big-play {
    position: absolute;

    left: 50%;
    top: 55%;

    width: 78px;
    height: 78px;

    display: flex;
    align-items: center;
    justify-content: center;

    transform: translate(-50%,-50%);

    border: 2px solid #fff;
    border-radius: 50%;

    background: #e8bd38;
    color: #061746;

    font-size: 31px;

    cursor: pointer;

    z-index: 8;

    box-shadow:
        0 0 0 0 rgba(232,189,56,.55);

    animation: anthemPlayPulse 2s infinite;

    transition: .35s ease;
}

.anthem-big-play:hover {
    background: #fff;
    transform: translate(-50%,-50%) scale(1.12);
}

@keyframes anthemPlayPulse {

    0% {
        box-shadow: 0 0 0 0 rgba(232,189,56,.55);
    }

    70% {
        box-shadow: 0 0 0 20px rgba(232,189,56,0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(232,189,56,0);
    }
}


/* Wave */

.anthem-wave {
    position: absolute;

    left: 50%;
    bottom: 34px;

    transform: translateX(-50%);

    display: flex;
    align-items: center;
    gap: 4px;

    height: 32px;

    z-index: 7;
}

.anthem-wave span {
    width: 4px;
    height: 8px;

    border-radius: 5px;

    background: #fff;

    opacity: .65;
}

.anthem-wave span:nth-child(1) {
    animation: anthemWave 1s infinite;
}

.anthem-wave span:nth-child(2) {
    animation: anthemWave .7s infinite .1s;
}

.anthem-wave span:nth-child(3) {
    animation: anthemWave .9s infinite .15s;
}

.anthem-wave span:nth-child(4) {
    animation: anthemWave .6s infinite .2s;
}

.anthem-wave span:nth-child(5) {
    animation: anthemWave .85s infinite .25s;
}

.anthem-wave span:nth-child(6) {
    animation: anthemWave .65s infinite .1s;
}

.anthem-wave span:nth-child(7) {
    animation: anthemWave .9s infinite .3s;
}

.anthem-wave span:nth-child(8) {
    animation: anthemWave .7s infinite .15s;
}

.anthem-wave span:nth-child(9) {
    animation: anthemWave .85s infinite .2s;
}

.anthem-wave span:nth-child(10) {
    animation: anthemWave .65s infinite .1s;
}

.anthem-wave span:nth-child(11) {
    animation: anthemWave .9s infinite .3s;
}

.anthem-wave span:nth-child(12) {
    animation: anthemWave .7s infinite .15s;
}

@keyframes anthemWave {

    0%,100% {
        height: 7px;
    }

    50% {
        height: 29px;
    }
}


/* Badge */

.anthem-gold-badge {
    position: absolute;

    bottom: 18px;
    left: 50%;

    transform: translateX(-50%);

    z-index: 10;

    display: flex;
    align-items: center;
    gap: 7px;

    padding: 10px 18px;

    border-radius: 30px;

    background: #e8bd38;
    color: #061746;

    font-size: 9px;
    font-weight: 900;

    letter-spacing: 1.3px;

    white-space: nowrap;

    box-shadow: 0 10px 25px rgba(0,0,0,.25);
}


/* =========================================================
   PLAYER CARD
========================================================= */

.anthem-player-card {
    position: relative;

    padding: 30px;

    border-radius: 22px;

    border: 1px solid rgba(232,189,56,.22);

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.075),
            rgba(255,255,255,.025)
        );

    box-shadow:
        0 20px 50px rgba(0,0,0,.18);

    backdrop-filter: blur(8px);
}

.anthem-player-top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-bottom: 25px;
}

.anthem-label {
    color: #e8bd38;

    font-size: 9px;
    font-weight: 800;

    letter-spacing: 1.5px;
}

.anthem-player-top h3 {
    margin: 5px 0 0;

    color: #fff;

    font-size: 24px;
    font-weight: 800;
}

.anthem-note-icon {
    width: 48px;
    height: 48px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 14px;

    background: rgba(232,189,56,.10);

    border: 1px solid rgba(232,189,56,.25);

    color: #e8bd38;

    font-size: 21px;

    animation: recordSpin 4s linear infinite;
}

@keyframes recordSpin {

    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/* Progress */

.anthem-progress-area {
    margin-bottom: 18px;
}

.anthem-time {
    display: flex;
    justify-content: space-between;

    margin-bottom: 7px;

    color: rgba(255,255,255,.45);

    font-size: 10px;
}

.anthem-progress {
    position: relative;

    width: 100%;
    height: 6px;

    border-radius: 10px;

    background: rgba(255,255,255,.12);

    cursor: pointer;

    overflow: hidden;
}

.anthem-progress-bar {
    width: 0;
    height: 100%;

    border-radius: 10px;

    background: #e8bd38;

    transition: width .1s linear;
}


/* Controls */

.anthem-player-controls {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 25px;
}

.anthem-control-btn {
    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: rgba(255,255,255,.08);
    color: #fff;

    cursor: pointer;

    transition: .3s ease;
}

.anthem-control-btn:hover {
    background: #e8bd38;
    color: #061746;

    transform: scale(1.08);
}


.anthem-main-play {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border: 0;
    border-radius: 50%;

    background: #e8bd38;
    color: #061746;

    font-size: 23px;

    cursor: pointer;

    box-shadow: 0 8px 20px rgba(232,189,56,.20);

    transition: .3s ease;
}

.anthem-main-play:hover {
    background: #fff;

    transform: scale(1.08);
}


/* Volume */

.anthem-volume {
    display: flex;
    align-items: center;
    gap: 8px;

    margin-left: auto;

    color: #e8bd38;
}

.anthem-volume input {
    width: 75px;

    accent-color: #e8bd38;

    cursor: pointer;
}


/* =========================================================
   LYRICS
========================================================= */

.anthem-lyrics-box {
    padding: 20px;

    border-radius: 15px;

    border: 1px solid rgba(255,255,255,.08);

    background: rgba(0,0,0,.12);
}

.lyrics-heading {
    display: flex;
    align-items: center;
    gap: 10px;

    color: #e8bd38;

    font-size: 12px;
    font-weight: 800;
}

.lyrics-heading > span {
    display: flex;
    align-items: center;
    gap: 7px;
}

.lyrics-line {
    flex: 1;

    height: 1px;

    background: rgba(232,189,56,.20);
}

.lyrics-heading > i {
    font-size: 20px;

    opacity: .5;
}

.anthem-lyrics-text {
    margin-top: 12px;
}

.anthem-lyrics-text p {
    margin: 0;

    color: rgba(255,255,255,.68);

    font-size: 13px;
    line-height: 1.9;
}


/* Footer */

.anthem-player-footer {
    display: flex;
    justify-content: space-between;

    margin-top: 20px;

    color: rgba(255,255,255,.42);

    font-size: 10px;
}

.anthem-player-footer span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.anthem-player-footer i {
    color: #e8bd38;
}


/* Playing State */

.school-anthem-section.is-playing
.anthem-wave span {
    animation-play-state: running;
}

.school-anthem-section.is-playing
.anthem-big-play {
    animation: none;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .school-anthem-section {
        padding: 75px 0;
    }

    .anthem-section-heading {
        margin-bottom: 40px;
    }

    .anthem-section-heading h2 {
        font-size: 38px;
    }

    .anthem-artwork {
        min-height: 470px;
    }

    .anthem-player-card {
        margin-top: 10px;
    }
}


@media (max-width: 575.98px) {

    .school-anthem-section {
        padding: 60px 0;
    }

    .anthem-stars {
        display: none;
    }

    .anthem-section-heading h2 {
        font-size: 30px;
    }

    .anthem-section-heading p {
        font-size: 12px;
    }

    .anthem-artwork {
        min-height: 380px;
    }

    .anthem-cover {
        width: 270px;
        height: 340px;
    }

    .orbit-one {
        width: 330px;
        height: 330px;
    }

    .orbit-two {
        width: 365px;
        height: 365px;
    }

    .anthem-cover-content {
        top: 25px;
        left: 23px;
    }

    .anthem-cover-content h3 {
        font-size: 27px;
    }

    .anthem-big-play {
        width: 65px;
        height: 65px;

        font-size: 26px;
    }

    .anthem-gold-badge {
        bottom: 5px;

        padding: 8px 13px;

        font-size: 8px;
    }

    .anthem-player-card {
        padding: 20px 16px;
        border-radius: 18px;
    }

    .anthem-player-top h3 {
        font-size: 20px;
    }

    .anthem-player-controls {
        gap: 9px;
    }

    .anthem-volume {
        margin-left: 5px;
    }

    .anthem-volume input {
        width: 55px;
    }

    .anthem-lyrics-box {
        padding: 15px;
    }

    .anthem-lyrics-text p {
        font-size: 12px;
    }

    .anthem-player-footer {
        flex-direction: column;
        gap: 7px;
    }
}
.anthem-lyrics-text h5 {
    color: #e8bd38;
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 1.5px;
    margin-bottom: 18px;
}

.anthem-lyrics-text p {
    color: rgba(255,255,255,.72);
    font-size: 13px;
    line-height: 1.9;
    margin-bottom: 18px;
}

.anthem-chorus {
    margin: 22px 0;
    padding: 15px 18px;
    border-left: 3px solid #e8bd38;
    background: rgba(232,189,56,.06);
    border-radius: 0 10px 10px 0;
}

.anthem-chorus strong {
    display: block;
    color: #e8bd38;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.anthem-chorus p {
    margin-bottom: 0;
    color: rgba(255,255,255,.82);
}
/* =========================================================
   PRINCIPAL MESSAGE
========================================================= */

.principal-message-section {
    position: relative;
    overflow: hidden;
    padding: 100px 0;

    background:
        radial-gradient(
            circle at 5% 50%,
            rgba(232,189,56,.07),
            transparent 25%
        ),
        linear-gradient(
            135deg,
            #f8f9fc 0%,
            #ffffff 50%,
            #f4f6fb 100%
        );

    color: #18213d;
}


/* Background Shapes */

.principal-bg-shape {
    position: absolute;

    border-radius: 50%;

    pointer-events: none;
}

.principal-shape-one {
    width: 400px;
    height: 400px;

    top: -220px;
    left: -180px;

    border: 1px solid rgba(9,36,95,.07);
}

.principal-shape-two {
    width: 300px;
    height: 300px;

    right: -150px;
    bottom: -160px;

    border: 1px solid rgba(232,189,56,.12);
}


/* =========================================================
   HEADING
========================================================= */

.principal-section-heading {
    position: relative;
    z-index: 2;

    margin-bottom: 65px;
}

.principal-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #a47a00;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: 2px;
}

.principal-eyebrow i {
    font-size: 13px;
}

.principal-section-heading h2 {
    margin: 10px 0 12px;

    color: #071a4b;

    font-size: 44px;
    font-weight: 850;
}

.principal-section-heading h2 span {
    color: #b58a08;
}

.principal-heading-line {
    position: relative;

    width: 75px;
    height: 3px;

    margin: auto;

    background: #d5a91a;

    border-radius: 10px;
}

.principal-heading-line::before,
.principal-heading-line::after {
    content: "";

    position: absolute;

    top: 50%;

    width: 7px;
    height: 7px;

    border-radius: 50%;

    background: #d5a91a;

    transform: translateY(-50%);
}

.principal-heading-line::before {
    left: -13px;
}

.principal-heading-line::after {
    right: -13px;
}


/* =========================================================
   PRINCIPAL PROFILE
========================================================= */

.principal-profile {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;
}


/* Photo */

.principal-photo-frame {
    position: relative;

    width: 310px;
    height: 390px;

    padding: 9px;

    border-radius: 24px;

    background: linear-gradient(
        145deg,
        #d6ad2a,
        #f1d36b,
        #a97d08
    );

    box-shadow:
        0 25px 55px rgba(7,26,75,.18);

    transform: rotate(-2deg);

    transition: .5s ease;

    z-index: 2;
}

.principal-photo-frame:hover {
    transform: rotate(0deg) translateY(-7px);
}

.principal-photo-border {
    width: 100%;
    height: 100%;

    overflow: hidden;

    border-radius: 18px;

    background: #fff;

    padding: 5px;
}

.principal-photo {
    width: 100%;
    height: 100%;

    object-fit: cover;

    border-radius: 14px;

    display: block;
}


/* Photo Decoration */

.principal-photo-decoration {
    position: absolute;

    top: -13px;
    right: -13px;

    display: flex;
    gap: 5px;
}

.principal-photo-decoration span {
    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #d6ad2a;
}

.principal-photo-decoration span:nth-child(2) {
    opacity: .65;
}

.principal-photo-decoration span:nth-child(3) {
    opacity: .35;
}


/* Name Card */

.principal-name-card {
    position: relative;

    display: flex;
    align-items: center;

    gap: 13px;

    width: 275px;

    margin-top: -35px;

    padding: 17px 20px;

    border-radius: 14px;

    background: #071a4b;

    color: #fff;

    box-shadow:
        0 15px 35px rgba(7,26,75,.22);

    z-index: 5;
}

.principal-name-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 11px;

    background: rgba(232,189,56,.14);

    color: #e8bd38;

    font-size: 18px;
}

.principal-name-card h3 {
    margin: 0;

    font-size: 17px;
    font-weight: 800;
}

.principal-name-card p {
    margin: 3px 0 0;

    color: #e8bd38;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 1px;
    text-transform: uppercase;
}


/* Motto */

.principal-motto {
    display: flex;
    align-items: center;
    gap: 7px;

    margin-top: 20px;

    color: #8c6b09;

    font-size: 11px;
    font-weight: 800;

    letter-spacing: .5px;
}

.principal-motto i {
    color: #d4a719;
}


/* =========================================================
   MESSAGE CARD
========================================================= */

.principal-message-card {
    position: relative;

    padding: 38px 42px;

    border-radius: 22px;

    border: 1px solid rgba(7,26,75,.07);

    background: #fff;

    box-shadow:
        0 20px 55px rgba(7,26,75,.09);
}


/* Quote Icon */

.principal-quote-icon {
    position: absolute;

    top: 20px;
    right: 30px;

    color: rgba(213,169,26,.13);

    font-size: 75px;

    line-height: 1;
}

.principal-message-content {
    position: relative;
    z-index: 2;
}

.principal-message-content p {
    color: #5b6478;

    font-size: 13px;
    line-height: 1.95;

    margin-bottom: 17px;
}

.principal-message-content p strong {
    color: #071a4b;
}

.principal-greeting {
    color: #071a4b !important;

    font-size: 16px !important;
    font-weight: 800;

    margin-bottom: 15px !important;
}


/* =========================================================
   INSPIRATION QUOTE
========================================================= */

.principal-inspiration {
    display: flex;
    align-items: center;

    gap: 15px;

    margin: 25px 0;

    padding: 18px 20px;

    border-left: 4px solid #d5a91a;

    border-radius: 0 12px 12px 0;

    background:
        linear-gradient(
            90deg,
            rgba(213,169,26,.08),
            rgba(213,169,26,.025)
        );
}

.principal-inspiration-icon {
    width: 42px;
    height: 42px;

    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    background: #071a4b;

    color: #e8bd38;

    font-size: 17px;
}

.principal-inspiration p {
    margin: 0 0 3px !important;

    color: #071a4b !important;

    font-size: 13px !important;
    font-style: italic;

    font-weight: 700;
}

.principal-inspiration span {
    color: #8a6b12;

    font-size: 10px;
    font-weight: 700;
}


/* =========================================================
   SIGNATURE
========================================================= */

.principal-signature {
    display: flex;
    flex-direction: column;

    margin-top: 25px;
    padding-top: 18px;

    border-top: 1px solid #edf0f5;
}

.principal-signature span {
    color: #777f91;

    font-size: 11px;
}

.principal-signature strong {
    margin-top: 4px;

    color: #071a4b;

    font-size: 18px;
    font-weight: 800;
}

.principal-signature small {
    margin-top: 2px;

    color: #b18a13;

    font-size: 10px;
    font-weight: 700;

    text-transform: uppercase;
    letter-spacing: 1.2px;
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 991.98px) {

    .principal-message-section {
        padding: 80px 0;
    }

    .principal-section-heading {
        margin-bottom: 45px;
    }

    .principal-section-heading h2 {
        font-size: 38px;
    }

    .principal-profile {
        margin-bottom: 15px;
    }

    .principal-message-card {
        padding: 32px;
    }

}


@media (max-width: 575.98px) {

    .principal-message-section {
        padding: 60px 0;
    }

    .principal-section-heading h2 {
        font-size: 30px;
    }

    .principal-eyebrow {
        font-size: 9px;
        letter-spacing: 1.4px;
    }

    .principal-photo-frame {
        width: 260px;
        height: 330px;
    }

    .principal-name-card {
        width: 240px;

        padding: 14px 16px;
    }

    .principal-name-card h3 {
        font-size: 15px;
    }

    .principal-message-card {
        padding: 25px 20px;

        border-radius: 17px;
    }

    .principal-message-content p {
        font-size: 12px;
        line-height: 1.85;
    }

    .principal-greeting {
        font-size: 15px !important;
    }

    .principal-inspiration {
        padding: 15px;

        gap: 10px;
    }

    .principal-inspiration-icon {
        width: 36px;
        height: 36px;
    }

    .principal-inspiration p {
        font-size: 11px !important;
    }

    .principal-quote-icon {
        font-size: 55px;
        right: 15px;
    }

}
/* =====================================================
   SCHOOL FACILITIES
===================================================== */

.school-facilities {
    position: relative;
    padding: 90px 0;
    background: #f7faff;
    overflow: hidden;
}


/* Heading */

.facilities-title {
    max-width: 800px;
    margin: 0 auto 50px;
}

.facilities-label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #b08a18;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 2px;
}

.facilities-title h2 {
    margin: 10px 0;
    color: #183b67;
    font-size: 40px;
    font-weight: 800;
}

.facilities-title h2 span {
    color: #b08a18;
}

.facilities-title p {
    margin: 15px auto 0;
    max-width: 680px;
    color: #687c91;
    font-size: 15px;
    line-height: 1.8;
}

.facilities-line {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.facilities-line span {
    width: 60px;
    height: 1px;
    background: #d4a937;
}

.facilities-line i {
    color: #d4a937;
    font-size: 13px;
}


/* Facility Box */

.facility-box {
    height: 100%;
    overflow: hidden;
    background: #ffffff;
    border: 1px solid #8098b0;
    border-radius: 18px;
    box-shadow: 0 8px 30px rgba(24, 59, 103, .07);
    transition: all .35s ease;
}

.facility-box:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 40px rgba(24, 59, 103, .13);
}


/* Photo */

.facility-photo {
    position: relative;
    height: 310px;
    overflow: hidden;
    cursor: zoom-in;
    background: #eaf1f8;
}

.facility-photo img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .6s ease;
}

.facility-box:hover .facility-photo img {
    transform: scale(1.05);
}


/* Photo Overlay */

.facility-photo-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(24, 59, 103, .48);
    opacity: 0;
    transition: opacity .35s ease;
}

.facility-photo:hover .facility-photo-overlay {
    opacity: 1;
}

.facility-photo-overlay span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 11px 18px;
    border: 1px solid rgba(255,255,255,.5);
    border-radius: 30px;
    background: rgba(255,255,255,.15);
    backdrop-filter: blur(8px);
    color: #ffffff;
    font-size: 13px;
    font-weight: 700;
}

.facility-photo-overlay i {
    font-size: 16px;
}


/* Information */

.facility-info {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 22px 24px 24px;
}

.facility-icon {
    width: 50px;
    height: 50px;
    flex: 0 0 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 13px;
    background: #edf5fc;
    border: 1px solid #dce9f5;
    color: #b08a18;
    font-size: 21px;
}

.facility-info h3 {
    margin: 1px 0 7px;
    color: #183b67;
    font-size: 20px;
    font-weight: 750;
}

.facility-info p {
    margin: 0;
    color: #687c91;
    font-size: 13px;
    line-height: 1.7;
}


/* =====================================================
   LIGHTBOX
===================================================== */

.facility-lightbox {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px;
    background: rgba(8, 20, 35, .94);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .3s ease, visibility .3s ease;
}

.facility-lightbox.show {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.facility-lightbox-content {
    position: relative;
    max-width: 1100px;
    width: 100%;
    max-height: 90vh;
    text-align: center;
}

.facility-lightbox-content img {
    max-width: 100%;
    max-height: 78vh;
    object-fit: contain;
    border-radius: 8px;
    box-shadow: 0 20px 70px rgba(0,0,0,.5);
    transform: scale(.92);
    transition: transform .35s ease;
}

.facility-lightbox.show .facility-lightbox-content img {
    transform: scale(1);
}


/* Caption */

.facility-lightbox-caption h3 {
    margin: 14px 0 0;
    color: #ffffff;
    font-size: 18px;
    font-weight: 700;
}


/* Close */

.facility-lightbox-close,
.facility-lightbox-prev,
.facility-lightbox-next {
    position: fixed;
    z-index: 10;
    border: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: #ffffff;
    font-size: 20px;
    cursor: pointer;
    transition: all .25s ease;
}

.facility-lightbox-close:hover,
.facility-lightbox-prev:hover,
.facility-lightbox-next:hover {
    background: #d4a937;
    color: #183b67;
}

.facility-lightbox-close {
    top: 25px;
    right: 30px;
}

.facility-lightbox-prev {
    left: 25px;
    top: 50%;
    transform: translateY(-50%);
}

.facility-lightbox-next {
    right: 25px;
    top: 50%;
    transform: translateY(-50%);
}


/* =====================================================
   TABLET
===================================================== */

@media (max-width: 991.98px) {

    .school-facilities {
        padding: 75px 0;
    }

    .facilities-title h2 {
        font-size: 34px;
    }

    .facility-photo {
        height: 250px;
    }

    .facility-info {
        padding: 20px;
    }

}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767.98px) {

    .school-facilities {
        padding: 60px 0;
    }

    .facilities-title {
        margin-bottom: 35px;
    }

    .facilities-title h2 {
        font-size: 29px;
    }

    .facilities-title p {
        font-size: 14px;
    }

    .facility-photo {
        height: 230px;
    }

    .facility-info {
        padding: 18px;
        gap: 12px;
    }

    .facility-icon {
        width: 44px;
        height: 44px;
        flex-basis: 44px;
        font-size: 18px;
    }

    .facility-info h3 {
        font-size: 18px;
    }

    .facility-info p {
        font-size: 13px;
    }

    /* Lightbox Mobile */

    .facility-lightbox {
        padding: 20px;
    }

    .facility-lightbox-content img {
        max-height: 70vh;
        border-radius: 5px;
    }

    .facility-lightbox-close {
        top: 15px;
        right: 15px;
        width: 42px;
        height: 42px;
    }

    .facility-lightbox-prev,
    .facility-lightbox-next {
        width: 40px;
        height: 40px;
        top: auto;
        bottom: 25px;
    }

    .facility-lightbox-prev {
        left: calc(50% - 55px);
        transform: none;
    }

    .facility-lightbox-next {
        right: calc(50% - 55px);
    }

    .facility-lightbox-caption h3 {
        font-size: 15px;
    }

}


/* =========================================================================
   >>> HEADER UPGRADE + RESPONSIVE SLIDER  (added later, overrides above) <<<
   ========================================================================= */

:root{
    --navy:#071a4b; --navy-2:#0d2c75; --gold:#e8bd38; --gold-2:#fbbf24; --crimson:#b91c1c;
    --header-h:163px;                       /* updated live by main.js */
}

/* ---------- 1. TOP STRIP ---------- */
.header-strip{
    background:linear-gradient(90deg,#050f2e,#0a2260 55%,#050f2e);
    color:rgba(255,255,255,.88);
    font-size:12.5px;
    max-height:44px;
    overflow:hidden;
    transition:max-height .35s ease, opacity .3s ease;
}
.header-strip .container{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}
.strip-left,.strip-right{display:flex;align-items:center;gap:20px;flex-wrap:nowrap;white-space:nowrap}
.header-strip i{color:var(--gold-2);margin-right:6px}
.header-strip a{color:rgba(255,255,255,.9);text-decoration:none;transition:color .2s}
.header-strip a:hover{color:var(--gold-2)}
.strip-jubilee{padding:2px 12px;border-radius:20px;background:rgba(232,189,56,.16);border:1px solid rgba(232,189,56,.45);color:#ffe9a3;font-weight:600;letter-spacing:.3px}
.strip-pill{padding:3px 14px;border-radius:20px;background:var(--gold-2);color:var(--navy)!important;font-weight:700}
.strip-pill i{color:var(--navy);margin-right:5px}
.strip-pill:hover{background:#fff}
.school-header.scrolled .header-strip{max-height:0;opacity:0}

/* ---------- 2. BRAND ROW ---------- */
.school-top{
    position:relative;
    background:
        radial-gradient(circle at 92% 20%, rgba(232,189,56,.16), transparent 32%),
        radial-gradient(circle at 4% 90%, rgba(13,44,117,.10), transparent 30%),
        linear-gradient(115deg,#ffffff 0%,#f1f6ff 55%,#dce9ff 100%);
    border-bottom:1px solid rgba(13,44,117,.10);
}
.school-brand{min-height:104px;gap:22px}
.school-logo{
    width:104px;height:104px;padding:5px;border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 3px var(--gold),0 0 0 6px rgba(232,189,56,.28),0 10px 24px rgba(7,26,75,.20);
}
.school-logo img{border-radius:50%}
.school-info h1{
    font-size:29px;font-weight:800;letter-spacing:.6px;
    background:linear-gradient(90deg,#071a4b,#123a9c);
    -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--navy);
}
.school-info h2{
    display:flex;align-items:center;gap:8px;
    font-size:19px;font-weight:800;letter-spacing:1.4px;color:var(--crimson);
}
.school-info h2 i{font-size:16px}
.school-info p{
    display:inline-block;margin-top:6px;padding:3px 14px 3px 12px;
    border-left:3px solid var(--gold);background:rgba(255,255,255,.7);
    border-radius:0 20px 20px 0;
    font-size:13.5px;font-weight:600;color:#0b3787;
}

/* CTA buttons (right side of brand row) */
.school-cta{display:flex;flex-direction:column;gap:9px;flex-shrink:0}
.cta-btn{
    display:flex;align-items:center;gap:11px;min-width:190px;
    padding:8px 16px;border-radius:12px;text-decoration:none;
    box-shadow:0 6px 16px rgba(7,26,75,.18);
    transition:transform .25s ease, box-shadow .25s ease;
}
.cta-btn i{font-size:21px}
.cta-btn span{display:flex;flex-direction:column;line-height:1.15;font-size:14.5px;font-weight:700}
.cta-btn small{font-size:10px;font-weight:600;letter-spacing:1.4px;text-transform:uppercase;opacity:.75}
.cta-gold{background:linear-gradient(135deg,#f6cf58,#e0a90f);color:var(--navy)}
.cta-navy{background:linear-gradient(135deg,#0d2c75,#071a4b);color:#fff}
.cta-navy i{color:var(--gold-2)}
.cta-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(7,26,75,.28)}
.cta-gold:hover{color:var(--navy)} .cta-navy:hover{color:#fff}

/* ---------- 3. NAVIGATION ROW ---------- */
.navigation-row{
    background:linear-gradient(90deg,#050f2e 0%,#0a2260 50%,#050f2e 100%);
    border-bottom:3px solid var(--gold-2);
    box-shadow:0 6px 18px rgba(3,10,40,.25);
}
.navigation-row .navbar-nav{gap:2px}
.navigation-row .nav-link{
    min-height:54px;padding:0 15px!important;
    font-size:13.5px;font-weight:600;letter-spacing:.5px;
    border-radius:0;
}
.navigation-row .nav-link:hover{background:rgba(255,255,255,.09)}
.navigation-row .nav-link.active{
    color:var(--navy)!important;background:linear-gradient(180deg,#f8d766,#e8bd38);text-shadow:none;
}
.navigation-row .nav-link.active::after{display:none}
.navigation-row .dropdown-menu{
    border:0;border-top:3px solid var(--gold-2);border-radius:0 0 12px 12px;
    box-shadow:0 18px 40px rgba(3,10,40,.28);padding:8px 0;
}
.navigation-row .navbar-nav>.nav-item:nth-child(8){animation-delay:.69s}
.navigation-row .navbar-nav>.nav-item:nth-child(9){animation-delay:.76s}
.navigation-row .navbar-nav>.nav-item:nth-child(n+10){animation-delay:.83s}

/* compact nav on small laptops so 9 items always fit */
@media (max-width:1399.98px){
    .navigation-row .nav-link{padding:0 11px!important;font-size:13px}
    .school-info h1{font-size:26px}
}
@media (max-width:1199.98px){
    .navigation-row .nav-link{padding:0 8px!important;font-size:12px;letter-spacing:.2px}
    .school-info h1{font-size:23px}
    .school-info h2{font-size:16px}
    .school-logo{width:88px;height:88px}
    .cta-btn{min-width:160px}
    .strip-mail{display:none}
}

/* ---------- 4. SCROLLED (compact) ---------- */
.school-header.scrolled .school-top{border-bottom-color:transparent}
.school-header.scrolled .school-cta{display:none}
.school-header.scrolled .school-logo{width:58px;height:58px;padding:3px;box-shadow:0 0 0 2px var(--gold)}
.school-header.scrolled .school-info h1{font-size:20px}
.school-header.scrolled .school-info h2{font-size:13px}
.school-header.scrolled .school-info p{display:none}
.school-header.scrolled .school-brand{min-height:70px}
.school-header.scrolled .navigation-row .nav-link{min-height:46px}

/* ---------- 5. TABLET / MOBILE HEADER ---------- */
@media (max-width:991.98px){
    .strip-left .strip-jubilee,.strip-mail{display:none}
    .school-cta{display:none}
    .school-brand{min-height:84px;gap:14px}
    .school-logo{width:70px;height:70px}
    .school-info h1{font-size:20px}
    .school-info h2{font-size:14px;letter-spacing:.8px}
    .school-info p{font-size:12px}
    .navigation-row .nav-link{padding:0 16px!important;font-size:14px;letter-spacing:.4px}
    .navigation-row .nav-link.active{color:var(--navy)!important}
    .school-header.scrolled .school-brand{min-height:62px}
    .school-header.scrolled .school-logo{width:46px;height:46px}
    .school-header.scrolled .school-info h1{font-size:16px}
}
@media (max-width:575.98px){
    .header-strip{font-size:11.5px}
    .header-strip .container{min-height:30px}
    .strip-left span:first-child{font-size:11px}
    .strip-right a:not(.strip-pill) span{display:none}      /* phone icon only */
    .strip-right{gap:12px}
    .school-brand{min-height:70px;gap:10px;padding:4px 0}
    .school-logo{width:58px;height:58px;box-shadow:0 0 0 2px var(--gold),0 4px 10px rgba(7,26,75,.2)}
    .school-info h1{font-size:15px;line-height:1.2;letter-spacing:.2px}
    .school-info h2{font-size:12px}
    .school-info h2 i{font-size:11px}
    .school-info p{display:none}
}

/* ---------- 6. RESPONSIVE HOME SLIDER ---------- */
.school-hero .carousel-item{height:calc(100vh - var(--header-h));min-height:520px;max-height:780px}
.school-hero .hero-image{
    object-fit:cover;                 /* fixes stretched / squashed photos */
    object-position:center center;
    display:block;
}
/* slide-in animation for every slide (no more per-slide nth-child limit) */
.school-hero .carousel-item.active .hero-image{transform:scale(1)!important}
.school-hero picture{display:block;position:absolute;inset:0}

@media (max-width:991.98px){                      /* TABLET */
    .school-hero .carousel-item{height:62vw;min-height:400px;max-height:600px}
    .hero-caption{top:auto;bottom:70px;transform:none;left:6%;right:6%;width:auto;max-width:none}
    .hero-caption h1{font-size:34px}
    .hero-caption h2{font-size:22px}
    .hero-caption p{font-size:15px;margin-bottom:16px}
    .hero-overlay{background:linear-gradient(to top,rgba(3,17,55,.88) 0%,rgba(3,17,55,.45) 55%,rgba(3,17,55,.05) 100%)}
}
@media (max-width:575.98px){                      /* PHONE */
    .school-hero .carousel-item{height:118vw;min-height:420px;max-height:640px}
    .hero-caption{bottom:52px;left:18px;right:18px}
    .hero-caption h1{font-size:25px;line-height:1.15;margin-bottom:6px}
    .hero-caption h2{font-size:17px;margin-bottom:6px}
    .hero-caption p{font-size:13px;line-height:1.45;margin-bottom:14px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
    .hero-small{font-size:9px;padding:5px 11px;margin-bottom:10px}
    .hero-btn{padding:9px 16px;font-size:12.5px}
    .school-hero .carousel-control-prev,.school-hero .carousel-control-next{width:11%}
    .hero-arrow{width:34px;height:34px}
    .school-hero .carousel-indicators{margin-bottom:14px}
}
/* landscape phones */
@media (max-height:480px) and (orientation:landscape){
    .school-hero .carousel-item{height:88vh;min-height:300px}
    .hero-caption p{display:none}
}

/* ---------- 7. NOTICE BOARD extras ---------- */
.notice-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8a91a2;text-align:center}
.notice-empty i{font-size:44px;color:#c9a227}
.notice-wrapper-static{height:auto;min-height:200px;max-height:490px;overflow-y:auto}
.notice-wrapper-static::before,.notice-wrapper-static::after{display:none}
@media (max-width:575.98px){.notice-wrapper{height:420px}.notice-wrapper-static{height:auto}}
