/* ================================================================
   ENGLISH CERT - CUSTOM CSS
   ================================================================ */


/* ================================================================
   01. PRELOADER
   ================================================================ */

.preloader-logo {
    text-align: center;
    margin-bottom: 25px;
}

.preloader-logo img {
    max-width: 180px;
    height: auto;
}

.preloader-space {
    display: inline-block;
    width: 15px;
}

.theme-style-three .edufix-preloader .animation-preloader::after {
    background-image: url('../img/logo-symbol.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transform: translateX(-50%);
}


/* ================================================================
   02. DESKTOP LANGUAGE SWITCHER
   ================================================================ */

.desktop-language-switcher {
    display: block;
}

.language-switcher {
    position: relative;
    margin-left: 15px;
}


/* Current Language Button */

.language-current {
    width: 58px;
    height: 52px;

    padding: 0;

    border: none;
    border-radius: 9px;

    background: var(--color-style-five);

    display: flex;
    align-items: center;
    justify-content: center;

    gap: 7px;

    cursor: pointer;

    /* box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); */

    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.language-current:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.12);
}


/* Current Flag */

.language-current img {
    width: 27px;
    height: 27px;

    object-fit: cover;

    border-radius: 50%;
}


/* Arrow */

.language-current i {
    color: #ffffff;

    font-size: 11px;

    transition: transform 0.2s ease;
}

.language-current.is-open i {
    transform: rotate(180deg);
}


/* Dropdown */

.language-menu {
    position: absolute;

    top: calc(100% + 10px);
    right: 0;

    width: 165px;

    padding: 8px;

    background: #ffffff;

    border: 1px solid #eeeeee;
    border-radius: 10px;

    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.12);

    opacity: 0;
    visibility: hidden;

    transform: translateY(-8px);

    transition:
        opacity 0.2s ease,
        visibility 0.2s ease,
        transform 0.2s ease;

    z-index: 10050;
}

.language-menu.show {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
}


/* Dropdown Option */

.language-option {
    width: 100%;
    min-height: 46px;

    margin: 0;
    padding: 9px 11px;

    border: none;
    border-radius: 7px;

    background: #ffffff !important;

    display: flex;
    align-items: center;

    gap: 10px;

    color: #232323 !important;

    font-family: inherit;
    font-size: 14px;
    font-weight: 500;

    text-align: left;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.language-option + .language-option {
    margin-top: 3px;
}

.language-option:hover {
    background: #f7f7f7 !important;
    color: var(--color-style-five) !important;
}

.language-option.active {
    background: rgba(238, 73, 45, 0.08) !important;
    color: var(--color-style-five) !important;
}

.language-option img {
    width: 25px;
    min-width: 25px;
    height: 25px;

    margin: 0;
    padding: 0;

    object-fit: cover;

    border-radius: 50%;
}

.language-option span {
    color: inherit;
}


/* ================================================================
   03. MOBILE LANGUAGE SELECTOR - DEFAULT
   ================================================================ */

.mobile-language-selector {
    display: none !important;
}


/* ================================================================
   04. MOBILE NAVBAR LOGO - DEFAULT
   ================================================================ */

.mobile-navbar-logo {
    display: none;
}


/* ================================================================
   05. LANGUAGECERT SECTION
   ================================================================ */

.languagecert-info > p {
    margin-bottom: 0;
}


/* Official Badge */

.languagecert-badge {
    display: flex;
    align-items: center;

    gap: 18px;

    margin-top: 30px;

    padding: 20px 22px;

    background: #ffffff;

    border-left: 4px solid var(--color-style-five);
    border-radius: 10px;
}

.languagecert-badge .icon {
    width: 52px;
    min-width: 52px;
    height: 52px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--color-style-five);

    border-radius: 50%;

    color: #ffffff;

    font-size: 22px;
}

.languagecert-badge .content {
    display: flex;
    flex-direction: column;
}

.languagecert-badge .content strong {
    color: #232323;
    font-size: 17px;
}

.languagecert-badge .content span {
    margin-top: 3px;
    font-size: 14px;
}


/* Levels Box */

.languagecert-levels {
    padding: 40px;

    background: #ffffff;

    border-radius: 15px;
}

.languagecert-levels-heading {
    margin-bottom: 30px;
}

.languagecert-levels-heading h3 {
    margin-bottom: 8px;
}

.languagecert-levels-heading p {
    margin: 0;
}


/* Levels */

.languagecert-level-list {
    position: relative;
}

.languagecert-level-item {
    display: flex;
    align-items: center;

    gap: 20px;

    padding: 18px 0;

    border-bottom: 1px solid #eeeeee;
}

.languagecert-level-item:last-child {
    border-bottom: none;
}

.languagecert-level-item .level-code {
    width: 58px;
    min-width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--color-style-five);

    border-radius: 50%;

    color: #ffffff;

    font-size: 18px;
    font-weight: 700;
}

.languagecert-level-item .level-info h4 {
    margin-bottom: 3px;
    font-size: 19px;
}

.languagecert-level-item .level-info p {
    margin: 0;
}


/* Young Learners */

.languagecert-young {
    display: flex;
    align-items: flex-start;

    gap: 15px;

    margin-top: 25px;

    padding: 20px;

    background: #f7f7f7;

    border-radius: 10px;
}

.languagecert-young .icon {
    padding-top: 3px;

    color: var(--color-style-five);

    font-size: 25px;
}

.languagecert-young h5 {
    margin-bottom: 5px;
}

.languagecert-young p {
    margin: 0;
}


/* ================================================================
   06. INSTITUTIONAL SOLUTIONS
   ================================================================ */

.institutional-solutions-area {
    position: relative;
}

.institutional-solutions-area .site-heading p {
    max-width: 750px;
    margin: 20px auto 0;
}


/* Card */

.institutional-box {
    height: 100%;

    padding: 40px;

    background: #ffffff;

    border: 1px solid #eeeeee;
    border-radius: 15px;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}

.institutional-box:hover {
    transform: translateY(-5px);

    border-color: var(--color-style-five);

    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.06);
}


/* Card Heading */

.institutional-box-head {
    display: flex;
    align-items: center;

    gap: 20px;

    margin-bottom: 25px;
}

.institutional-box-head .icon {
    width: 65px;
    min-width: 65px;
    height: 65px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: var(--color-style-five);

    border-radius: 50%;

    color: #ffffff;

    font-size: 25px;
}

.institutional-label {
    display: block;

    margin-bottom: 3px;

    color: var(--color-style-five);

    font-size: 13px;
    font-weight: 700;

    text-transform: uppercase;

    letter-spacing: 1px;
}

.institutional-box-head h3 {
    margin: 0;
}

.institutional-box > p {
    margin-bottom: 25px;
}


/* List */

.institutional-list {
    margin: 0 0 30px;
    padding: 0;

    list-style: none;
}

.institutional-list li {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 11px 0;

    border-bottom: 1px solid #eeeeee;
}

.institutional-list li:last-child {
    border-bottom: none;
}

.institutional-list li i {
    color: var(--color-style-five);
}


/* ================================================================
   07. FOOTER
   ================================================================ */

.footer-contact-list {
    margin: 25px 0 0;
    padding: 0;

    list-style: none;
}

.footer-contact-list li {
    display: flex;
    align-items: flex-start;

    gap: 12px;

    margin-bottom: 14px;
}

.footer-contact-list li i {
    min-width: 18px;

    margin-top: 5px;

    color: var(--color-style-five);
}

.footer-contact-list li a {
    color: inherit;
}

.footer-contact-list li a:hover {
    color: var(--color-style-five);
}


/* ================================================================
   08. MOBILE / TABLET NAVBAR
   ================================================================ */

@media (max-width: 991px) {

    /* ------------------------------------------------------------
       Fixed Navbar
       ------------------------------------------------------------ */

    nav.navbar.validnavs.navbar-fixed,
    nav.navbar.validnavs.navbar-fixed.scrolled {
        position: fixed !important;

        top: 0 !important;
        right: 0 !important;
        left: 0 !important;

        width: 100% !important;

        background: #ffffff !important;

        box-shadow: 0 2px 15px rgba(0, 0, 0, 0.08);

        z-index: 9999 !important;
    }

    nav.navbar.validnavs {
        transition:
            background-color 0.3s ease,
            box-shadow 0.3s ease;
    }


    /* ------------------------------------------------------------
       Hero Offset
       ------------------------------------------------------------ */

    #home {
        margin-top: 82px;
    }


    /* ------------------------------------------------------------
       Hide Desktop Language Switcher
       ------------------------------------------------------------ */

    .desktop-language-switcher {
        display: none !important;
    }


    /* ------------------------------------------------------------
       Sidebar
       ------------------------------------------------------------ */

    nav.navbar.validnavs .navbar-collapse {
        z-index: 10000 !important;
    }

    nav.navbar.validnavs .navbar-header {
        position: relative;
        z-index: 2;
    }


    /* ------------------------------------------------------------
       Mobile Navbar Logo
       ------------------------------------------------------------ */

    .mobile-navbar-logo {
        display: block !important;

        position: fixed !important;

        top: 45px;
        left: 50%;

        transform: translate(-50%, -50%);

        width: auto;

        margin: 0;
        padding: 0;

        z-index: 10001;

        pointer-events: auto;
    }

    .mobile-navbar-logo a {
        display: flex;

        align-items: center;
        justify-content: center;

        margin: 0;
        padding: 0;
    }

    .mobile-navbar-logo img {
        display: block !important;

        width: 190px !important;
        max-width: 55vw !important;
        height: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: contain;
    }


    /* ------------------------------------------------------------
       Mobile Language Selector Container
       ------------------------------------------------------------ */

    #navbar-menu ul.navbar-nav > li.mobile-language-selector {
        display: block !important;

        float: none !important;

        width: 100% !important;

        margin: 15px 0 0 !important;
        padding: 0 !important;

        border: none !important;
    }


    /* ------------------------------------------------------------
       Language Wrapper
       ------------------------------------------------------------ */

    #navbar-menu .mobile-language-wrapper {
        width: 100%;

        padding-top: 20px;

        border-top: 1px solid #e7e7e7;
    }


    /* ------------------------------------------------------------
       Language Title
       ------------------------------------------------------------ */

    #navbar-menu .mobile-language-title {
        display: block;

        width: 100%;

        margin: 0 0 14px;
        padding: 0 28px;

        color: #777777;

        font-size: 12px;
        line-height: 1.4;
        font-weight: 700;

        text-transform: uppercase;

        letter-spacing: 1px;
    }


    /* ------------------------------------------------------------
       Language Buttons Wrapper
       ------------------------------------------------------------ */

    #navbar-menu .mobile-language-options {
        display: grid !important;

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 10px;

        width: calc(100% - 56px) !important;

        margin: 0 28px !important;
        padding: 0 !important;
    }


    /* ------------------------------------------------------------
       Language Button
       ------------------------------------------------------------ */

    #navbar-menu button.mobile-language-option {
        appearance: none;
        -webkit-appearance: none;

        position: relative;

        float: none !important;

        width: 100% !important;
        min-width: 0 !important;

        height: 48px !important;
        min-height: 48px !important;

        margin: 0 !important;
        padding: 8px 12px !important;

        background: #ffffff !important;

        border: 1px solid #e6e6e6 !important;
        border-radius: 8px !important;

        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 9px !important;

        color: #232323 !important;

        font-family: inherit !important;
        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 600 !important;

        text-align: left !important;

        cursor: pointer;

        box-shadow: none !important;

        overflow: hidden !important;

        transform: none !important;

        transition:
            background-color 0.2s ease,
            border-color 0.2s ease,
            color 0.2s ease;
    }


    /* Hover */

    #navbar-menu button.mobile-language-option:hover {
        border-color: var(--color-style-five) !important;
    }


    /* Active Language */

    #navbar-menu button.mobile-language-option.active {
        background: var(--color-style-five) !important;

        border-color: var(--color-style-five) !important;

        color: #ffffff !important;
    }


    /* Flag */

    #navbar-menu button.mobile-language-option img {
        display: block !important;

        width: 25px !important;
        min-width: 25px !important;
        max-width: 25px !important;

        height: 25px !important;

        margin: 0 !important;
        padding: 0 !important;

        object-fit: cover;

        border-radius: 50%;
    }


    /* Language Text */

    #navbar-menu button.mobile-language-option span {
        display: block !important;

        width: auto !important;

        margin: 0 !important;
        padding: 0 !important;

        color: inherit !important;

        font-size: 14px !important;
        line-height: 1 !important;
        font-weight: 600 !important;

        white-space: nowrap;
    }


    /* ------------------------------------------------------------
       LanguageCert Responsive
       ------------------------------------------------------------ */

    .languagecert-levels {
        margin-top: 50px;
    }

}


/* ================================================================
   09. TABLET
   ================================================================ */

@media (max-width: 767px) {

    .institutional-box {
        padding: 30px 25px;
    }

}


/* ================================================================
   10. SMALL MOBILE
   ================================================================ */

@media (max-width: 575px) {

    #home {
        margin-top: 80px;
    }


    .languagecert-levels {
        padding: 25px 20px;
    }


    .languagecert-level-item {
        gap: 14px;
    }


    .languagecert-level-item .level-code {
        width: 50px;
        min-width: 50px;
        height: 50px;
    }

}


/* ================================================================
   11. VERY SMALL MOBILE
   ================================================================ */

@media (max-width: 420px) {

    #navbar-menu .mobile-language-options {
        grid-template-columns: 1fr;

        width: calc(100% - 56px) !important;

        margin: 0 28px !important;
    }

}