/*==================================================
TOP HEADER
==================================================*/

.top-header {
    background: linear-gradient(135deg, #0F4C81, #135C9E);
    color: #fff;
    padding: 10px 0;
}

.top-header .container {
    max-width: 1320px;
}

.top-header .row {
    margin: 0;
}

.top-header ul {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 25px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.top-header ul li {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 15px;
    white-space: nowrap;
}

.top-header ul li i {
    color: #ffc107;
    font-size: 16px;
}

.top-social {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.top-social a:not(.top-admission-btn) {
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
    text-decoration: none;
    transition: all 0.3s ease;
}

.top-social a:not(.top-admission-btn):hover {
    background: #fff;
    color: #07548a;
}

.top-social a i {
    font-size: 17px;
}

.top-admission-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 24px;
    margin-left: 8px;
    border-radius: 30px;
    background: #ffc107;
    color: #003b68 !important;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
    transition: all 0.3s ease;
}

.top-admission-btn:hover {
    background: #fff;
    color: #07548a !important;
}


/*==================================================
MAIN HEADER
==================================================*/

.main-header {
    position: sticky;
    top: 0;
    z-index: 9999;

    width: 100%;

    background: #fff;

    border-bottom: 1px solid #edf1f5;

    box-shadow: 0 6px 25px rgba(0, 0, 0, .05);

    transition: all .35s ease;
}

.main-header.sticky {
    box-shadow: 0 15px 35px rgba(0, 0, 0, .08);
}


/*==================================================
NAVBAR
==================================================*/

.main-header .navbar {
    min-height: 88px;

    padding: 0;

    display: flex;
    align-items: center;
}


/*==================================================
LOGO
==================================================*/

.main-header .site-logo {
    display: flex;
    align-items: center;

    flex: 0 0 auto;

    margin-right: 35px;

    padding: 0;
}

.main-header .site-logo img {
    display: block;

    width: auto;
    max-width: 125px;
    max-height: 68px;

    object-fit: contain;

    transition: .35s ease;
}

.main-header .site-logo:hover img {
    transform: scale(1.05);
}

.main-header .site-logo h2 {
    margin: 0;

    color: #18243b;

    font-size: 24px;
    font-weight: 700;
}


/*==================================================
NAVBAR COLLAPSE
==================================================*/

.main-header .navbar-collapse {
    display: flex;
    align-items: center;

    flex: 1;

    min-width: 0;
}


/*==================================================
PRIMARY NAVIGATION
==================================================*/

.main-header .navbar-nav {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    width: 100%;

    margin: 0 !important;
    padding: 0;

    gap: 2px;

    list-style: none;
}

.main-header .navbar-nav > li {
    position: relative;

    margin: 0;
    padding: 0;

    list-style: none;
}


/*==================================================
MAIN NAVIGATION LINKS
==================================================*/

.main-header .navbar-nav > li > a {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    min-height: 48px;

    padding: 10px 13px;

    color: #18243b;

    font-size: 16px;
    font-weight: 600;

    line-height: 1.25;

    text-decoration: none;

    white-space: nowrap;

    border-radius: 8px;

    transition:
        color .2s ease,
        background-color .2s ease;
}

.main-header .navbar-nav > li > a:hover,
.main-header .navbar-nav > li.current-menu-item > a,
.main-header .navbar-nav > li.current-menu-parent > a,
.main-header .navbar-nav > li.current-menu-ancestor > a {
    color: #07579c;

    background: #f1f7fc;
}


/*==================================================
DROPDOWN PARENT
==================================================*/

.main-header
.navbar-nav
> li.menu-item-has-children {
    position: relative;
}


/*==================================================
DROPDOWN ARROW
==================================================*/

.main-header
.navbar-nav
> li.menu-item-has-children
> a::after {

    content: "";

    display: inline-block;

    width: 7px;
    height: 7px;

    margin-left: 4px;
    margin-top: -4px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: rotate(45deg);

    transition: transform .2s ease;
}

.main-header
.navbar-nav
> li.menu-item-has-children:hover
> a::after {

    transform: rotate(225deg);
}


/*==================================================
WORDPRESS DROPDOWN MENUS
==================================================*/

/*
|--------------------------------------------------------------------------
| All menu items containing children
|--------------------------------------------------------------------------
*/

.main-header .navbar-nav li.menu-item-has-children {
    position: relative;
}


/*
|--------------------------------------------------------------------------
| First-level dropdown
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
> li.menu-item-has-children
> ul.sub-menu {

    position: absolute !important;

    top: 100% !important;
    left: 0 !important;

    display: block !important;

    width: 250px !important;
    min-width: 250px !important;

    margin: 0 !important;
    padding: 8px !important;

    background: #ffffff !important;

    border: 1px solid #e5edf5 !important;
    border-radius: 12px !important;

    box-shadow: 0 15px 40px rgba(0, 45, 90, .14) !important;

    list-style: none !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;

    transform: translateY(8px) !important;

    z-index: 99999 !important;

    transition:
        opacity .2s ease,
        visibility .2s ease,
        transform .2s ease;
}


/*
|--------------------------------------------------------------------------
| Show first-level dropdown
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
> li.menu-item-has-children:hover
> ul.sub-menu {

    opacity: 1 !important;

    visibility: visible !important;

    pointer-events: auto !important;

    transform: translateY(0) !important;
}


/*
|--------------------------------------------------------------------------
| All submenu items
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
.sub-menu
li {

    position: relative !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/*
|--------------------------------------------------------------------------
| Remove list markers
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
.sub-menu
li::marker {

    content: none !important;
}


/*
|--------------------------------------------------------------------------
| Submenu links
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
.sub-menu
li
> a {

    display: flex !important;

    align-items: center;

    justify-content: space-between;

    width: 100% !important;

    margin: 0 !important;

    padding: 11px 14px !important;

    color: #26344d !important;

    background: transparent !important;

    font-size: 15px !important;

    font-weight: 500 !important;

    line-height: 1.4 !important;

    text-decoration: none !important;

    white-space: normal !important;

    border-radius: 7px !important;

    box-sizing: border-box !important;

    transition:
        color .2s ease,
        background-color .2s ease;
}


/*
|--------------------------------------------------------------------------
| Submenu hover
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
.sub-menu
li
> a:hover {

    color: #07579c !important;

    background: #f1f7fc !important;
}


/*==================================================
MULTI-LEVEL WORDPRESS MENU
==================================================*/

/*
|--------------------------------------------------------------------------
| Every menu item with children
|--------------------------------------------------------------------------
*/

.main-header .navbar-nav li.menu-item-has-children {
    position: relative !important;
}


/*
|--------------------------------------------------------------------------
| LEVEL 1 DROPDOWN
|--------------------------------------------------------------------------
*/

.main-header .navbar-nav > li.menu-item-has-children > ul.sub-menu {

    position: absolute !important;

    top: 100% !important;
    left: 0 !important;

    display: block !important;

    width: 250px !important;
    min-width: 250px !important;

    margin: 0 !important;
    padding: 8px !important;

    background: #fff !important;

    border: 1px solid #e5edf5 !important;
    border-radius: 12px !important;

    box-shadow: 0 15px 40px rgba(0, 45, 90, 0.14) !important;

    list-style: none !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;

    transform: translateY(6px) !important;

    z-index: 99999 !important;
}


/*
|--------------------------------------------------------------------------
| Show LEVEL 1
|--------------------------------------------------------------------------
*/

.main-header .navbar-nav > li.menu-item-has-children:hover > ul.sub-menu {

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;

    transform: translateY(0) !important;
}


/*
|--------------------------------------------------------------------------
| LEVEL 2+ DROPDOWNS
|--------------------------------------------------------------------------
|
| IMPORTANT:
| This selector catches a submenu INSIDE another submenu.
|
*/

.main-header .navbar-nav ul.sub-menu li.menu-item-has-children > ul.sub-menu {

    position: absolute !important;

    top: 0 !important;
    left: 100% !important;

    display: block !important;

    width: 250px !important;
    min-width: 250px !important;

    margin: 0 !important;
    padding: 8px !important;

    background: #fff !important;

    border: 1px solid #e5edf5 !important;
    border-radius: 12px !important;

    box-shadow: 0 15px 40px rgba(0, 45, 90, 0.14) !important;

    list-style: none !important;

    opacity: 0 !important;
    visibility: hidden !important;

    pointer-events: none !important;

    transform: translateX(6px) !important;

    z-index: 100000 !important;
}


/*
|--------------------------------------------------------------------------
| Show LEVEL 2+
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
ul.sub-menu
li.menu-item-has-children:hover
> ul.sub-menu {

    opacity: 1 !important;
    visibility: visible !important;

    pointer-events: auto !important;

    transform: translateX(0) !important;
}


/*
|--------------------------------------------------------------------------
| ALL SUBMENU ITEMS
|--------------------------------------------------------------------------
*/

.main-header .navbar-nav ul.sub-menu li {

    position: relative !important;

    display: block !important;

    width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/*
|--------------------------------------------------------------------------
| Remove bullets / markers
|--------------------------------------------------------------------------
*/

.main-header .navbar-nav ul.sub-menu li::before,
.main-header .navbar-nav ul.sub-menu li::after {

    display: none !important;
}

.main-header .navbar-nav ul.sub-menu li::marker {

    content: "" !important;
}


/*
|--------------------------------------------------------------------------
| ALL SUBMENU LINKS
|--------------------------------------------------------------------------
*/

.main-header .navbar-nav ul.sub-menu li > a {

    display: flex !important;

    align-items: center;

    justify-content: space-between;

    width: 100% !important;

    min-height: 40px !important;

    margin: 0 !important;

    padding: 10px 14px !important;

    color: #26344d !important;

    background: transparent !important;

    font-size: 15px !important;

    font-weight: 500 !important;

    line-height: 1.4 !important;

    text-decoration: none !important;

    white-space: normal !important;

    border-radius: 7px !important;

    box-sizing: border-box !important;

    transition:
        background-color .2s ease,
        color .2s ease;
}


/*
|--------------------------------------------------------------------------
| SUBMENU LINK HOVER
|--------------------------------------------------------------------------
*/

.main-header .navbar-nav ul.sub-menu li > a:hover {

    color: #07579c !important;

    background: #f1f7fc !important;

}


/*
|--------------------------------------------------------------------------
| ARROW FOR TOP LEVEL
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
> li.menu-item-has-children
> a::after {

    content: "";

    display: inline-block;

    width: 7px;
    height: 7px;

    margin-left: 6px;
    margin-top: -4px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: rotate(45deg);

    flex-shrink: 0;

    transition: transform .2s ease;
}


/*
|--------------------------------------------------------------------------
| TOP LEVEL ARROW OPEN
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
> li.menu-item-has-children:hover
> a::after {

    transform: rotate(225deg);

}


/*
|--------------------------------------------------------------------------
| ARROW FOR NESTED LEVELS
|--------------------------------------------------------------------------
*/

.main-header
.navbar-nav
ul.sub-menu
li.menu-item-has-children
> a::after {

    content: "";

    display: inline-block;

    width: 7px;
    height: 7px;

    margin-left: 10px;

    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;

    transform: rotate(-45deg);

    flex-shrink: 0;

}


/*
|--------------------------------------------------------------------------
| Hover area between nested menu and parent
|--------------------------------------------------------------------------
|
| Keeps the submenu open while moving the mouse horizontally.
|
*/

.main-header
.navbar-nav
ul.sub-menu
li.menu-item-has-children::after {

    content: "";

    position: absolute;

    top: 0;
    right: -10px;

    width: 10px;
    height: 100%;

    background: transparent !important;

    display: block !important;
}


/*==================================================
HEADER BUTTONS
==================================================*/

.main-header .header-buttons {
    display: flex;
    align-items: center;

    flex: 0 0 auto;

    margin-left: 18px;

    gap: 15px;
}


/*==================================================
SEARCH BUTTON
==================================================*/

.search-btn {
    width: 50px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #F3F7FC;
    color: #0F4C81;

    text-decoration: none;

    transition: .35s;
}

.search-btn:hover {
    background: #FFC107;
    color: #0F4C81;

    transform: translateY(-3px);
}

.search-btn i {
    font-size: 18px;
}


/*==================================================
CONTACT BUTTON
==================================================*/

.main-header .apply-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    min-width: 145px;

    padding: 15px 28px;

    background: #0F4C81;
    color: #fff !important;

    border-radius: 60px;

    font-size: 16px;
    font-weight: 700;

    line-height: 1;

    text-decoration: none;

    white-space: nowrap;

    transition: .35s;
}

.main-header .apply-btn:hover {
    background: #FFC107;
    color: #0F4C81 !important;

    transform: translateY(-3px);
}


/*==================================================
MOBILE TOGGLE
==================================================*/

.main-header .navbar-toggler {
    border: 0;

    padding: 8px;

    box-shadow: none !important;
}

.main-header .navbar-toggler:focus {
    box-shadow: none !important;
}

.main-header .navbar-toggler-icon {
    width: 28px;
    height: 28px;
}


/*==================================================
TABLET / SMALL DESKTOP
==================================================*/

@media (max-width: 1399px) {

    .main-header .site-logo {
        margin-right: 25px;
    }

    .main-header .navbar-nav > li > a {
        padding-left: 9px;
        padding-right: 9px;

        font-size: 15px;
    }

    .main-header .header-buttons {
        margin-left: 12px;
    }

    .main-header .apply-btn {
        min-width: 125px;

        padding-left: 20px;
        padding-right: 20px;
    }

}


/*==================================================
SMALL MOBILE
==================================================*/

@media (max-width: 575px) {

    .top-header {
        padding: 8px 0;
    }

    .top-header ul {
        gap: 12px;
    }

    .top-header li {
        font-size: 12px;
    }

    .top-social {
        gap: 7px;
    }

    .top-social > a:not(.top-admission-btn) {
        width: 30px;
        height: 30px;
    }

    .top-admission-btn {
        padding: 8px 15px;
        font-size: 13px;
    }


    .main-header .site-logo img {
        max-width: 95px;
        max-height: 52px;
    }

}


/*==================================================
GENERIC BOOTSTRAP DROPDOWN
==================================================*/

.dropdown-menu {
    border: none;

    border-radius: 16px;

    padding: 12px;

    box-shadow: 0 15px 35px rgba(0, 0, 0, .08);
}

.dropdown-item {
    border-radius: 10px;

    padding: 10px 16px;
}

.dropdown-item:hover {
    background: #F4F8FD;

    color: #0F4C81;
}


/* ==================================================
   MOBILE / TABLET ONLY
   Desktop CSS is NOT affected
================================================== */

@media (max-width: 1199px) {

    /* ================================
       HEADER
    ================================= */

    /*.main-header {
        top: 15px;
    }*/

    .main-header .navbar {
        min-height: 76px;
        padding: 10px 0;
        flex-wrap: wrap;
    }

    .main-header .site-logo {
        margin-right: 0;
        padding: 0;
    }

    .main-header .site-logo img {
        width: auto;
        max-width: 100px;
        max-height: 58px;
    }

    /* Hamburger */

    .main-header .navbar-toggler {
        display: flex;
        align-items: center;
        justify-content: center;

        width: 48px;
        height: 48px;

        margin-left: auto;
        padding: 8px;

        border: 0;
        border-radius: 8px;

        background: transparent;
        box-shadow: none !important;
    }

    .main-header .navbar-toggler:focus,
    .main-header .navbar-toggler:active {
        outline: none;
        box-shadow: none !important;
    }

    .main-header .navbar-toggler-icon {
        width: 28px;
        height: 28px;
    }


    /* ================================
       MOBILE NAVIGATION CONTAINER
    ================================= */

    .main-header .navbar-collapse {
        display: none;

        width: 100%;
        flex-basis: 100%;

        margin-top: 8px;
        padding: 10px 0 20px;

        border-top: 1px solid #edf1f5;
    }

    .main-header .navbar-collapse.show {
        display: block;
    }


    /* ================================
       MAIN MENU
    ================================= */

    .main-header .navbar-nav {
        display: block;

        width: 100%;

        margin: 0 !important;
        padding: 0;

        list-style: none;
    }

    .main-header .navbar-nav > li {
        position: relative;

        display: block;
        width: 100%;

        margin: 0;
        padding: 0;

        list-style: none;
    }


    /* ================================
       MAIN MENU LINKS
    ================================= */

    .main-header .navbar-nav > li > a {

        display: flex;
        align-items: center;
        justify-content: space-between;

        width: 100%;

        min-height: 48px;

        padding: 12px 20px;

        color: #18243b;

        font-size: 17px;
        font-weight: 600;

        line-height: 1.3;

        text-decoration: none;

        white-space: normal;

        border-radius: 10px;

        box-sizing: border-box;

        transition:
            color .2s ease,
            background-color .2s ease;
    }


    /* Active item */

    .main-header .navbar-nav > li.current-menu-item > a,
    .main-header .navbar-nav > li.current-menu-parent > a,
    .main-header .navbar-nav > li.current-menu-ancestor > a {

        color: #07579c;

        background: #f1f7fc;
    }


    /* Hover */

    .main-header .navbar-nav > li > a:hover {
        color: #07579c;
        background: #f1f7fc;
    }


    /* ================================
       REMOVE DESKTOP ARROWS
       JS will create mobile arrows
    ================================= */

    .main-header .navbar-nav > li.menu-item-has-children > a::after,
    .main-header .navbar-nav ul.sub-menu li.menu-item-has-children > a::after {

        display: none !important;
    }


    /* ================================
       MOBILE SUBMENU
       IMPORTANT:
       Override ALL desktop submenu levels
    ================================= */

    .main-header .navbar-nav ul.sub-menu,
    .main-header .navbar-nav > li.menu-item-has-children > ul.sub-menu,
    .main-header .navbar-nav ul.sub-menu li.menu-item-has-children > ul.sub-menu {

        position: static !important;

        top: auto !important;
        left: auto !important;
        right: auto !important;

        display: none !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 4px 0 8px !important;
        padding: 5px !important;

        background: #f7fafd !important;

        border: 0 !important;
        border-radius: 10px !important;

        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;

        pointer-events: auto !important;

        transform: none !important;

        list-style: none !important;
    }


    /* Open submenu */

    .main-header .navbar-nav li.mobile-menu-open > ul.sub-menu {

        display: block !important;
    }


    /* Never open submenu on hover */

    .main-header .navbar-nav li.menu-item-has-children:hover > ul.sub-menu {

        display: none !important;
    }

    .main-header .navbar-nav li.mobile-menu-open:hover > ul.sub-menu {

        display: block !important;
    }


    /* ================================
       SUBMENU ITEMS
    ================================= */

    .main-header .navbar-nav ul.sub-menu li {

        position: relative !important;

        display: block !important;

        width: 100% !important;

        margin: 0 !important;
        padding: 0 !important;

        list-style: none !important;
    }

    .main-header .navbar-nav ul.sub-menu li::before,
    .main-header .navbar-nav ul.sub-menu li::after {

        display: none !important;
    }

    .main-header .navbar-nav ul.sub-menu li::marker {

        content: "" !important;
    }


    /* ================================
       SUBMENU LINKS
    ================================= */

    .main-header .navbar-nav ul.sub-menu li > a {

        display: flex !important;

        align-items: center;
        justify-content: space-between;

        width: 100% !important;

        min-height: 42px !important;

        padding: 10px 15px !important;

        color: #34415a !important;

        background: transparent !important;

        font-size: 15px !important;
        font-weight: 500 !important;

        line-height: 1.4 !important;

        text-decoration: none !important;

        white-space: normal !important;

        border-radius: 7px !important;

        box-sizing: border-box !important;
    }

    .main-header .navbar-nav ul.sub-menu li > a:hover {

        color: #07579c !important;

        background: #edf5fb !important;
    }


    /* ================================
       MOBILE SUBMENU TOGGLE BUTTON
    ================================= */

    .mobile-submenu-toggle {

        position: absolute;

        top: 0;
        right: 8px;

        width: 45px;
        height: 48px;

        display: flex;

        align-items: center;
        justify-content: center;

        padding: 0;

        border: 0;

        background: transparent;

        color: #26344d;

        cursor: pointer;

        z-index: 2;
    }

    .mobile-submenu-toggle::before {

        content: "";

        width: 8px;
        height: 8px;

        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;

        transform: rotate(45deg);

        transition: transform .2s ease;
    }


    /* Open arrow */

    .mobile-menu-open > .mobile-submenu-toggle::before {

        transform: rotate(225deg);
    }


    /* Give parent link space for arrow */

    .main-header .navbar-nav > li.menu-item-has-children > a {

        padding-right: 55px;
    }


    /* ================================
       CONTACT BUTTON
    ================================= */

    .main-header .header-buttons {

        display: block;

        width: auto;

        margin: 15px 20px 0;
    }

    .main-header .apply-btn {

        display: flex;

        align-items: center;
        justify-content: center;

        width: 100%;

        min-width: 0;

        min-height: 56px;

        padding: 15px 25px;

        border-radius: 50px;

        font-size: 17px;
    }

    /*
     * All WordPress submenus are hidden initially.
     */
    .main-header .navbar-nav li.menu-item-has-children > ul.sub-menu {
        display: none !important;

        position: static !important;

        width: 100% !important;
        min-width: 0 !important;

        margin: 0 !important;
        padding: 5px 8px !important;

        background: #f7fafd !important;

        border: 0 !important;
        border-radius: 10px !important;

        box-shadow: none !important;

        opacity: 1 !important;
        visibility: visible !important;

        pointer-events: auto !important;

        transform: none !important;
    }


    /*
     * Open ANY submenu level.
     *
     * This is the important part.
     */
    .main-header .navbar-nav
    li.menu-item-has-children.mobile-menu-open
    > ul.sub-menu {

        display: block !important;
    }


    /*
     * Disable desktop hover dropdowns on mobile.
     */
    .main-header .navbar-nav
    li.menu-item-has-children:hover
    > ul.sub-menu {

        display: none !important;
    }


    /*
     * Allow opened submenu to remain visible.
     */
    .main-header .navbar-nav
    li.menu-item-has-children.mobile-menu-open:hover
    > ul.sub-menu {

        display: block !important;
    }


    /*
     * Every submenu level.
     */
    .main-header .navbar-nav ul.sub-menu
    li.menu-item-has-children {

        position: relative !important;
        width: 100% !important;
    }


    /*
     * Mobile submenu links.
     */
    .main-header .navbar-nav ul.sub-menu
    li > a {

        display: flex !important;

        align-items: center;
        justify-content: flex-start;

        width: 100% !important;

        min-height: 42px !important;

        padding: 10px 14px !important;
        padding-right: 50px !important;

        color: #26344d !important;

        background: transparent !important;

        font-size: 15px !important;
        font-weight: 500 !important;

        line-height: 1.4 !important;

        border-radius: 7px !important;

        box-sizing: border-box !important;
    }


    /*
     * Mobile submenu arrow.
     */
    .mobile-submenu-toggle {

        position: absolute !important;

        top: 0 !important;
        right: 0 !important;

        width: 48px !important;
        height: 48px !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        margin: 0 !important;
        padding: 0 !important;

        border: 0 !important;

        background: transparent !important;

        color: #26344d !important;

        cursor: pointer;

        z-index: 10;
    }


    /*
     * Arrow shape.
     */
    .mobile-submenu-toggle::before {

        content: "";

        width: 8px;
        height: 8px;

        border-right: 1.5px solid currentColor;
        border-bottom: 1.5px solid currentColor;

        transform: rotate(45deg);

        transition: transform .2s ease;
    }


    /*
     * Open arrow.
     */
    .mobile-menu-open
    > .mobile-submenu-toggle::before {

        transform: rotate(225deg);
    }


    /*
     * Parent links need space for arrow.
     */
    .main-header .navbar-nav
    li.menu-item-has-children
    > a {

        padding-right: 55px !important;
    }


    /*
     * Nested submenu gets slightly
     * different indentation.
     */
    .main-header .navbar-nav
    ul.sub-menu
    ul.sub-menu {

        margin-top: 3px !important;
        margin-bottom: 3px !important;

        padding-left: 8px !important;

        background: #eef5fa !important;
    }


    /*
     * Remove desktop nested positioning.
     */
    .main-header .navbar-nav
    ul.sub-menu
    li.menu-item-has-children
    > ul.sub-menu {

        position: static !important;

        top: auto !important;
        left: auto !important;
        right: auto !important;

        width: 100% !important;
        min-width: 0 !important;

        transform: none !important;

        box-shadow: none !important;

        border: 0 !important;

        opacity: 1 !important;
        visibility: visible !important;
    }

    /* ==================================================
       MOBILE MENU SCROLL
    ================================================== */

    .main-header .navbar-collapse {

        width: 100%;

        max-height: calc(100dvh - 100px);

        overflow-x: hidden;
        overflow-y: auto;

        -webkit-overflow-scrolling: touch;

        overscroll-behavior-y: contain;

        scrollbar-width: thin;

        touch-action: pan-y;

        box-sizing: border-box;

    }


    /*
    |--------------------------------------------------------------------------
    | OPEN MOBILE MENU
    |--------------------------------------------------------------------------
    */

    .main-header .navbar-collapse.show {

        display: block;

        width: 100%;

        max-height: calc(100dvh - 100px);

        overflow-x: hidden;
        overflow-y: auto;

        -webkit-overflow-scrolling: touch;

        overscroll-behavior-y: contain;

        touch-action: pan-y;

    }


    /*
    |--------------------------------------------------------------------------
    | IMPORTANT
    | Only the main mobile menu should scroll.
    | Submenus should NOT create their own scroll.
    |--------------------------------------------------------------------------
    */

    .main-header .navbar-nav {

        max-height: none !important;

        overflow: visible !important;

    }


    .main-header .navbar-nav ul.sub-menu {

        max-height: none !important;

        overflow: visible !important;

    }


    /*
    |--------------------------------------------------------------------------
    | Extra bottom space
    | Ensures Contact Us can always be reached comfortably.
    |--------------------------------------------------------------------------
    */

    .main-header .navbar-collapse.show .header-buttons {

        padding-bottom: 20px;

    }


    /*
     * Don't allow submenu content to create
     * another independent scrolling area.
     */
    .main-header .navbar-nav,
    .main-header .navbar-nav ul.sub-menu {
        max-height: none !important;

        overflow: visible !important;
    }


    /*
     * Prevent horizontal scrolling.
     */
    .main-header,
    .main-header .container,
    .main-header .navbar,
    .main-header .navbar-collapse {
        max-width: 100%;
        overflow-x: hidden;
    }

}


/* ==================================================
   SMALL MOBILE
================================================== */

@media (max-width: 575px) {

    .main-header .navbar {
        min-height: 74px;

        padding: 8px 0;
    }

    .main-header .site-logo img {

        max-width: 95px;
        max-height: 54px;
    }

    .main-header .navbar-toggler {

        width: 44px;
        height: 44px;
    }

    .main-header .navbar-toggler-icon {

        width: 27px;
        height: 27px;
    }

    .main-header .navbar-collapse {

        margin-top: 6px;

        padding-top: 10px;
        padding-bottom: 25px;

        max-height: calc(100dvh - 90px);

    }

    .main-header .navbar-collapse.show {

        max-height: calc(100dvh - 90px);

    }

    .main-header .navbar-nav > li > a {

        min-height: 48px;

        padding: 12px 19px;

        font-size: 16px;
    }

    .main-header .navbar-nav ul.sub-menu {

        margin-top: 3px !important;
        margin-bottom: 6px !important;
    }

    .main-header .navbar-nav ul.sub-menu li > a {

        min-height: 40px !important;

        padding: 9px 14px !important;

        font-size: 14px !important;
    }

    .mobile-submenu-toggle {

        width: 42px;
        height: 48px;
    }

    .main-header .header-buttons {

        margin: 14px 19px 0;
    }

    .main-header .apply-btn {

        min-height: 56px;

        font-size: 16px;
    }
}

/* ================================
   TABLET
================================ */

@media (max-width: 991.98px) {

    .top-header {
        padding: 8px 0;
    }

    .top-header .row {
        row-gap: 8px;
    }

    .top-header .col-lg-6 {
        width: 100%;
    }

    .top-header ul {
        justify-content: center;
        gap: 15px 25px;
    }

    .top-social {
        justify-content: center;
    }
}


/* ================================
   MOBILE
================================ */

@media (max-width: 575.98px) {

    .top-header {
        padding: 8px 10px;
    }

    .top-header .container {
        padding-left: 0;
        padding-right: 0;
    }

    .top-header ul {
        justify-content: center;
        gap: 6px 15px;
    }

    .top-header ul li {
        font-size: 13px;
    }

    .top-header ul li i {
        font-size: 14px;
    }

    .top-social {
        gap: 8px;
    }

    .top-social a:not(.top-admission-btn) {
        width: 34px;
        height: 34px;
    }

    .top-social a i {
        font-size: 15px;
    }

    .top-admission-btn {
        min-height: 38px;
        padding: 0 18px;
        margin-left: 4px;
        font-size: 13px;
    }
}


/* ================================
   VERY SMALL MOBILE
================================ */

@media (max-width: 380px) {

    .top-header ul {
        flex-direction: column;
        gap: 5px;
    }

    .top-header ul li {
        font-size: 12px;
    }

    .top-social {
        margin-top: 3px;
    }

    .top-admission-btn {
        padding: 0 14px;
    }
}

/*==================================================
FINAL MOBILE MENU HEIGHT / SCROLL FIX
==================================================*/

@media (max-width: 1199px) {

    .main-header .navbar-collapse {
        /*
         * Top header + main navbar already consume
         * part of the viewport.
         *
         * Keep enough room so the complete menu,
         * including Contact Us, can scroll.
         */
        max-height: calc(100dvh - 180px) !important;

        height: auto !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        -webkit-overflow-scrolling: touch;

        overscroll-behavior-y: contain;

        touch-action: pan-y;

        box-sizing: border-box !important;

        padding-bottom: 35px !important;
    }

    .main-header .navbar-collapse.show {
        max-height: calc(100dvh - 180px) !important;

        height: auto !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        padding-bottom: 35px !important;
    }

    /*
     * Submenus must NOT have their own scrollbar.
     */
    .main-header .navbar-nav,
    .main-header .navbar-nav ul.sub-menu {
        max-height: none !important;
        overflow: visible !important;
    }

    /*
     * Extra space after Contact Us.
     * This allows the button to be completely visible
     * when the user scrolls to the bottom.
     */
    .main-header .navbar-collapse .header-buttons {
        padding-bottom: 40px !important;
    }

}


/*==================================================
SMALL MOBILE
==================================================*/

@media (max-width: 575px) {

    .main-header .navbar-collapse,
    .main-header .navbar-collapse.show {

        /*
         * On small phones the top header is also
         * relatively tall, so leave more room.
         */
        max-height: calc(100dvh - 175px) !important;

        height: auto !important;

        overflow-x: hidden !important;
        overflow-y: auto !important;

        -webkit-overflow-scrolling: touch;

        padding-bottom: 40px !important;
    }

    .main-header .navbar-collapse .header-buttons {
        margin-left: 19px;
        margin-right: 19px;

        padding-bottom: 45px !important;
    }

}


/*==================================================
VERY SMALL PHONES
==================================================*/

@media (max-width: 380px) {

    .main-header .navbar-collapse,
    .main-header .navbar-collapse.show {

        max-height: calc(100dvh - 170px) !important;

    }

}