/* ==============================================================
                Small Desktop (max-width: 1200px)
============================================================== */
@media (max-width: 1200px) {
    .global-header {
        top: 0;
        height: 92px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
    }

    .global-header.sticky-header {
        padding: 0;
    }

    .global-header.show {
        background: var(--primary-lignt-1) !important;
    }

    .global-header .nav-bar {
        padding: 16px 0;
    }

    .global-header .hamburger-menu-toggle-btn-wrap {
        display: block !important;
    }

    .global-header .nav-bar .nav-menu-wrap nav {
        height: 100% !important;
    }

    .global-header .nav-bar .nav-menu-container {
        position: fixed !important;
        justify-content: start !important;
        align-items: start !important;
        flex-direction: column !important;
        top: 92px !important;
        left: 0 !important;
        right: 0 !important;
        height: 0 !important;
        z-index: 99 !important;
        background: var(--primary) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.3s ease-out;
        gap: 0 !important;
    }

    .global-header.show .nav-bar .nav-menu-container {
        opacity: 1 !important;
        visibility: visible !important;
        height: calc(100dvh - 92px) !important;
    }

    .global-header .nav-bar .nav-menu-wrap {
        padding: 0 !important;
        width: 100% !important;
        height: calc(100% - 85px) !important;
        border: none !important;
        border-radius: 0 !important;
    }

    .global-header .nav-bar .nav-menu-wrap nav .elementor-nav-menu {
        flex-direction: column !important;
        width: 100% !important;
        height: 100% !important;
        align-items: start !important;
        overflow: auto !important;
        flex-wrap: nowrap !important;
        gap: 0 !important;
    }

    .global-header .nav-bar .header-button-wrap {
        height: 85px !important;
        display: flex !important;
        align-items: center !important;
        margin-top: auto !important;
        padding: 16px !important;
        background: var(--primary-lignt-1) !important;
        width: 100% !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: all 0.5s ease-out;
    }

    .global-header.show .nav-bar .header-button-wrap {
        opacity: 1 !important;
        visibility: visible !important;
    }

    .global-header .nav-bar .nav-menu-wrap nav .elementor-nav-menu .menu-item {
        padding: 24px 16px !important;
        width: 100% !important;
        border-top: 1px solid var(--text) !important;
        display: block !important;
    }

    .global-header .nav-bar .nav-menu-wrap nav .elementor-nav-menu .menu-item a {
        font-size: 32px !important;
        font-weight: var(--fw-500) !important;
        transform: translateX(32px) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        transition: transform 0.45s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.45s ease !important;
        display: inline-block !important;
    }

    .global-header.show .nav-bar .nav-menu-wrap nav .elementor-nav-menu .menu-item a {
        transform: translateX(0) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    .global-header .nav-bar .nav-menu-wrap nav .elementor-nav-menu .menu-item a::after {
        display: none;
    }

    .global-header .nav-bar .language-switcher-wrap .trp-shortcode-switcher .trp-switcher-dropdown-list {
        top: 50% !important;
        transform: translateY(-50%) !important;
        right: unset !important;
        left: calc(100% + 16px) !important;
        transition: none !important;
    }

    body:has(.dark-banner-section) .global-header.show .nav-bar .brand-logo,
    body:has(.dark-banner-section) .global-header.show .hamburger-menu-toggle-btn-wrap .hamburger-menu-toggle-btn,
    body:has(.dark-banner-section) .global-header .nav-bar .nav-menu-wrap,
    body:has(.dark-banner-section) .global-header .nav-bar .language-switcher-wrap .trp-shortcode-switcher .trp-language-item,
    body:has(.dark-banner-section) .global-header .nav-bar .language-switcher-wrap .trp-shortcode-switcher .trp-shortcode-arrow {
        filter: none !important;
    }

    .apply-form-wrap .apply-form form .input-flex-box {
        flex-direction: column !important;
        gap: 16px !important;
    }

    .apply-form-wrap .apply-form form .input-flex-box .input-w-200-wrap input {
        max-width: 100% !important;
    }

    .partner-school-list-wrap .school-card .province-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .partner-school-list-wrap .school-card .province-grid .province-card {
        padding: 16px;
    }

    .partner-school-list-wrap .school-card .partner-school-list .schools-table-container .table .icon-col,
    .partner-school-list-wrap .school-card .partner-school-list .schools-table-container .table .name-col,
    .partner-school-list-wrap .school-card .partner-school-list .schools-table-container .table .province-col,
    .partner-school-list-wrap .school-card .partner-school-list .schools-table-container .table .email-col,
    .partner-school-list-wrap .school-card .partner-school-list .schools-table-container .table .phone-col {
        width: auto !important;
    }

    .partner-school-list-wrap .school-card .partner-school-list .schools-table-container .table th,
    .partner-school-list-wrap .school-card .partner-school-list .schools-table-container .table td {
        padding: 12px 8px;
    }
}

/* ==============================================================
                Tablet Portrait (max-width: 992px)
============================================================== */
@media (max-width: 992px) {
    :root {
        /* FONT SIZES */
        --fs-80: 76px;
        --fs-72: 68px;
        --fs-71-86: 68px;
        --fs-60: 56px;
        --fs-52: 48px;
        --fs-50: 46px;
        --fs-42: 38px;
        --fs-40: 36px;
        --fs-36: 32px;
        --fs-32: 28px;

        /* LINE HEIGHTS */
        --lh-42: 40px;
        --lh-63: 58px;
        --lh-65: 60px;
        --lh-68: 62px;
        --lh-70: 64px;
        --lh-72: 66px;
        --lh-89-7: 82px;
    }

    .apply-form-wrap .apply-form form .gf_page_steps {
        margin-bottom: 32px !important;
        gap: 32px !important;
    }

    .apply-form-wrap .apply-form form .gform-page-footer {
        margin: 32px 0 0 !important;
    }

    .apply-form-wrap .apply-form form .gform_fields .col-8,
    .apply-form-wrap .apply-form form .gform_fields .col-4 {
        width: calc(50% - 20px) !important;
    }

    .apply-form-wrap .apply-form form .gf_page_steps .gf_step {
        width: calc(33.33% - 21.33px) !important;
    }

    .apply-form-wrap .apply-form form .custom-grid-box {
        grid-template-columns: repeat(2, 1fr) !important;
    }

    /* .apply-form-wrap .apply-form form .custom-grid-box .input-element-1,
    .apply-form-wrap .apply-form form .custom-grid-box .input-element-2,
    .apply-form-wrap .apply-form form .custom-grid-box .input-element-3,
    .apply-form-wrap .apply-form form .custom-grid-box .input-element-4,
    .apply-form-wrap .apply-form form .custom-grid-box .input-element-5 {
        order: unset;
    } */

    .custom-pagination .elementor-pagination {
        margin-top: 32px !important;
    }

    .custom-pagination .elementor-pagination .page-numbers {
        height: 40px !important;
        width: 40px !important;
    }

    .partner-school-list-wrap .school-controls {
        gap: 14px;
        margin-bottom: 32px;
        flex-wrap: wrap !important;
    }

    .partner-school-list-wrap .school-controls .search-input {
        padding: 10px 34px 10px 18px;
        background-position: calc(100% - 10px) center;
        background-size: 20px;
    }

    .partner-school-list-wrap .school-results-header {
        flex-wrap: wrap !important;
        gap: 14px !important;
    }

    .partner-school-list-wrap .school-card .partner-school-list .schools-table-container .table tr * {
        text-wrap: nowrap !important;
    }
}

/* ==============================================================
                Large Mobile (max-width: 768px)
============================================================== */
@media (max-width: 768px) {
    :root {
        /* FONT SIZES */
        --fs-80: 64px;
        --fs-72: 58px;
        --fs-71-86: 58px;
        --fs-60: 50px;
        --fs-52: 40px;
        --fs-50: 38px;
        --fs-42: 34px;
        --fs-40: 32px;
        --fs-36: 28px;
        --fs-32: 26px;

        /* LINE HEIGHTS */
        --lh-89-7: 72px;
        --lh-72: 64px;
        --lh-70: 62px;
        --lh-68: 60px;
        --lh-65: 56px;
        --lh-63: 54px;
        --lh-42: 38px;
        --lh-36: 32px;
        --lh-31-9: 30px;
        --lh-28: 26px;
        --lh-26-5: 25px;
        --lh-26: 25px;
        --lh-25-9: 24px;
        --lh-24: 24px;
    }

    .custom-style-accordion .e-n-accordion {
        gap: 16px !important;
    }

    .custom-style-accordion .e-n-accordion .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-text {
        font-size: var(--fs-24) !important;
        line-height: var(--lh-36) !important;
    }

    .custom-style-accordion .e-n-accordion .e-n-accordion-item .e-n-accordion-item-title {
        padding-bottom: 16px !important;
        gap: 8px !important;
    }

    .custom-style-accordion .e-n-accordion .e-n-accordion-item .accordion-content {
        padding: 0 0 16px 28px !important;
    }

    .custom-style-accordion .e-n-accordion .e-n-accordion-item .e-n-accordion-item-title .e-n-accordion-item-title-icon {
        margin-top: 5px !important;
    }

    .legal-text-box>h1,
    .legal-text-box>h2,
    .legal-text-box>h3,
    .legal-text-box>h4,
    .legal-text-box>h5,
    .legal-text-box>h6 {
        margin: 6px 0 16px !important;
        font-size: var(--fs-36) !important;
        line-height: var(--lh-42) !important;
    }

    .legal-text-box>p {
        margin: 0 0 16px !important;
        font-size: var(--fs-16) !important;
        line-height: var(--lh-24) !important;
    }

    .apply-form-wrap .apply-form form .gf_page_steps .gf_step,
    .apply-form-wrap .apply-form form .gform_fields .col-8,
    .apply-form-wrap .apply-form form .gform_fields .col-4 {
        width: 100% !important;
    }

    .apply-form-wrap .apply-form form .gf_page_steps .gf_step::before {
        order: 1;
        margin: 16px 0 0px;
    }

    .apply-form-wrap .apply-form form .gform_fields,
    .apply-form-wrap .apply-form form .gf_page_steps {
        gap: 16px !important;
    }

    .apply-form-wrap .apply-form form .custom-grid-box {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .partner-school-list-wrap .school-card .province-grid {
        grid-template-columns: repeat(1, 1fr);
    }
}


/* ==============================================================
                Mobile (max-width: 576px)
============================================================== */
@media (max-width: 576px) {
    :root {
        /* FONT SIZES */
        --fs-80: 42px;
        --fs-72: 40px;
        --fs-71-86: 40px;
        --fs-60: 38px;
        --fs-52: 36px;
        --fs-50: 34px;
        --fs-42: 34px;
        --fs-40: 32px;
        --fs-36: 28px;
        --fs-32: 26px;
        --fs-28: 24px;
        --fs-24: 20px;
        --fs-20: 18px;

        /* LINE HEIGHTS */
        --lh-89-7: 52px;
        --lh-72: 50px;
        --lh-70: 48px;
        --lh-68: 46px;
        --lh-65: 44px;
        --lh-63: 42px;
        --lh-42: 38px;
        --lh-36: 32px;
        --lh-31-9: 28px;
        --lh-28: 26px;
        --lh-26-5: 24px;
        --lh-26: 24px;
        --lh-25-9: 24px;
        --lh-24: 22px;
    }

    .global-header .nav-bar .header-button-wrap .btn-primary>a {
        font-size: 14px !important;
    }

    .global-footer .footer-menu nav .elementor-nav-menu {
        flex-direction: column !important;
    }

    .partner-school-list-wrap .school-card .province-grid .province-card {
        gap: 8px;
    }

    .partner-school-list-wrap .school-card .province-grid .province-card .province-name {
        font-size: var(--fs-16);
    }

    .partner-school-list-wrap .school-card .province-grid .province-card .province-icon {
        height: 24px;
    }

    .apply-form-wrap .apply-form form .gform-page-footer>.form-button-wrap .submit-btn-final,
    .apply-form-wrap .apply-form form .gform-page-footer>.form-button-wrap .next-btn {
        margin-left: unset !important;
    }

    .apply-form-wrap .apply-form form .gform-page-footer>.form-button-wrap {
        justify-content: end !important;
    }

    .footer-form form {
        display: flex !important;
        flex-direction: column !important;
    }

    .footer-form form .gform-footer {
        margin-left: auto !important;
    }
}

/* ==============================================================
                Mobile (max-width: 380px)
============================================================== */

@media (max-width: 380px) {

    .apply-form-wrap .apply-form form .gform-page-footer>.form-button-wrap .submit-btn-final,
    .apply-form-wrap .apply-form form .gform-page-footer>.form-button-wrap .next-btn {
        margin-left: unset !important;
    }

    .form-button-wrap .submit-btn {
        padding: 8px 40px 8px 12px !important;
        font-size: var(--fs-14) !important;
    }

    .form-button-wrap .submit-btn.pre-btn {
        padding: 8px 12px 8px 40px !important;
    }

    .form-button-wrap .submit-btn:not(.gf-disabled):hover {
        padding: 8px 12px 8px 40px !important;
    }

    .form-button-wrap .submit-btn.pre-btn:hover {
        padding: 8px 40px 8px 12px !important;
    }

    .form-button-wrap .submit-btn::before {
        width: 24px !important;
        height: 24px !important;
        left: calc(100% - 32px) !important;
    }

    .form-button-wrap .submit-btn.pre-btn::before {
        right: calc(100% - 32px) !important;
    }
}