.fl-page header, .fl-page header a.fl-button {
    font-family: 'Roboto', sans-serif;
}

.fl-page header {
    .header-main-bar > .fl-row-content-wrap {
        transition: padding 0.6s ease-in-out;
    }

    .fl-row-full-width.fl-row-content {
        max-width: 1500px;
        margin-inline: auto;
        padding: 0 3vw;
    }
}

.fl-page header.fl-theme-builder-header-shrink {
    /*.header-main-bar > .fl-row-content-wrap {*/
    /*    padding-top: 10px;*/
    /*    padding-bottom: 10px;*/
    /*}*/

    .site-logo img {
        max-height: 70px !important;
    }

    .widget_aci_menu_widget ul li.menu-item-0 {
        padding-top: 10px;
        padding-bottom: 7px;
    }
}

.header-top-bar {
    .fl-button-group .fl-button-group-button:first-child a.fl-button, .fl-button-group .fl-button-group-button:first-child a.fl-button:hover {
        background-color: white;
    }

    .fl-button-group .fl-button-group-button:first-child a.fl-button span, .fl-button-group .fl-button-group-button:first-child a.fl-button:hover span {
        font-weight: 700;
        color: #081F3D;
    }

    .fl-button-group a.fl-button span {
        text-decoration: underline;
        text-decoration-color: transparent;
        transition: text-decoration-color 400ms ease-in-out;
    }

    .fl-button-group a.fl-button:hover span {
        text-decoration-color: inherit;
    }
}

.header-main-bar {
    .fl-row-content > .fl-col-group::before, .fl-row-content > .fl-col-group::after {
        content: unset;

    }

    .fl-row-content > .fl-col-group {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }

    @media screen and (max-width: 1024px) {
        .fl-row-content > .fl-col-group {
            align-items: center;
        }
    }
}

.site-logo {
    a {
        display: block;
        width: 100%;
    }

    img {
        max-height: 80px;
    }

    @media screen and (max-width: 1024px) {
        img {
            max-height: 40px;
        }
    }
}

.header-main-bar__inner {
    .fl-col-group {
        display: flex;
        justify-content: flex-end;
        gap: 20px;
    }

    .fl-col:last-child {
        width: fit-content;
        flex: 0 1 auto;
    }

    .fl-button-group {
        a.fl-button {
            width: max-content;
        }

        a.fl-button span {
            text-decoration: underline;
            text-decoration-color: transparent;
            transition: text-decoration-color 400ms ease-in-out;
        }

        a.fl-button:hover span {
            text-decoration-color: inherit;
        }
    }

    .fl-search-form {
        .fl-search-form-fields {
            flex-direction: row-reverse;
        }

        a {
            display: block;
        }

        .ua-icon-search:before {
            content: '' !important;
            display: inline-block;
            width: 16px;
            height: 16px;
            background-image: url('data:image/svg+xml,<svg width="16" height="16" viewBox="0 0 1920 1920" xmlns="http://www.w3.org/2000/svg"><path d="M1458.948 1305.626c104.637-136.95 167.527-307.187 167.527-492.388C1626.475 364.764 1261.711 0 813.238 0 364.764 0 0 364.764 0 813.238c0 448.473 364.764 813.237 813.238 813.237 185.201 0 355.547-62.89 492.496-167.527L1766.678 1920 1920 1766.678l-461.052-461.052Zm-645.71 103.986c-328.874 0-596.375-267.61-596.375-596.374 0-328.765 267.501-596.375 596.375-596.375 328.873 0 596.374 267.61 596.374 596.375s-267.501 596.374-596.374 596.374Z" fill-rule="evenodd"></path></svg>');
        }
    }
}

/* desktop */
@media screen and (min-width: 1025px) {
    .fl-page header {
        box-shadow: 0 9px 15px 0 rgba(27, 31, 35, 0.24);
    }

    .fl-page header.fl-theme-builder-header-shrink {
        .header-main-bar > .fl-row-content-wrap {
            padding-top: 10px;
            padding-bottom: 10px;
        }
    }

    .widget_aci_menu_widget {
        ul {
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            margin: 0;
        }

        ul li svg {
            cursor: pointer;
            /*stroke: white;*/
        }

        ul li.menu-item-0 {
            padding: 15px 0 12px;
            margin-bottom: 0;
            border-bottom: 3px solid transparent;
            display: flex;
            align-items: center;
            transition: border-color 0.5s ease, padding 0.5s ease;
        }

        ul li.menu-item-0 > a {
            font-size: 18px;
            line-height: 150%;
            color: #F6F9FE;
        }

        ul li.menu-item-0 > svg {
            transform: scaleY(1) rotate(90deg);
            transition: transform 0.5s ease;
        }

        ul li.menu-item-0 > svg {
            margin-left: 10px;
        }

        .submenu-level-2-wrapper {
            position: absolute;
            top: 100%;
            left: 0;
            background-color: #F6F9FE;
            display: grid;
            min-height: 0;
            width: 100%;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            z-index: 10;
            list-style: none;
            grid-template-rows: 0fr;
            transition: padding 0.5s ease, grid-template-rows 0.5s ease, min-height 0.5s ease;
        }

        .submenu-level-2-content {
            margin-inline: auto;
            padding: 0 3vw;
            width: 100%;
            max-width: 1500px;
            display: flex;
            flex-direction: row;
            justify-content: space-between;
            gap: 40px;
            overflow: hidden;
        }

        .submenu-level-2-content-title {
            margin-bottom: 32px;
            font-size: 26px;
            line-height: 1.3;
            font-weight: 600;
            text-transform: uppercase;
            color: #003A8C !important;
        }

        ul.submenu-level-2 {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            align-items: flex-start;
            position: relative;
            max-width: 700px;
        }

        ul.submenu-level-2 li.menu-item-1 {
            width: 50%;
            /*width: 40%;*/
            margin-bottom: 24px !important;
            position: relative;
            vertical-align: top;

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

        ul.submenu-level-2 li.menu-item-1 {
            width: 100%;
        }

        .submenu-level-2:has(.menu-item:nth-child(5)) li.menu-item-1 {
            /*width: 40%;*/
            max-width: 290px;
        }

        ul.submenu-level-2 li.menu-item-1 > a {
            position: relative;
            font-size: 16px;
            line-height: 145%;
            color: #081F3D;

            &::after {
                position: absolute;
                left: 0;
                bottom: 0;
                content: '';
                width: 100%;
                height: 0.1em;
                background-color: #5693c9;
                transition: transform 0.5s ease;
                transform: scaleX(0);
                transform-origin: right;
            }
        }

        ul.submenu-level-2 li.menu-item-1:hover > a,
        ul.submenu-level-2 li.menu-item-1.is-active > a {
            color: #003A8C;

            &::after {
                transform: scaleX(1);
                transform-origin: left;
            }
        }

        ul.submenu-level-2 li.menu-item-1 > svg {
            margin-left: 24px;
            color: #003A8C !important;
        }

        .submenu-level-3-wrapper {
            opacity: 0;
            pointer-events: none;
            position: absolute;
            left: 100%;
            top: 0;
            background-color: #F6F9FE;
            padding: 0 40px 20px;
            width: 150%;
            z-index: 10;
            list-style: none;
            transition: opacity 0.5s ease;
        }

        ul.submenu-level-3 {
            display: flex;
            flex-direction: column;
        }

        ul.submenu-level-3 li.menu-item-2 > a,
        ul.submenu-level-3 li.menu-item-3 > a {
            font-size: 16px;
            line-height: 145%;
            color: #081F3D;
        }

        ul.submenu-level-3 li.menu-item-3::before {
            margin-left: 25px;
        }

        ul.submenu-level-3 li.menu-item-2::before,
        ul.submenu-level-3 li.menu-item-3::before {
            content: '';
            display: inline-block;
            width: 10px;
            height: 2px;
            background-color: #5693c9;
            margin-right: 10px;
            vertical-align: middle;
        }

        ul.submenu-level-3 li.menu-item-2 > a:hover,
        ul.submenu-level-3 li.menu-item-3 > a:hover {
            color: #003A8C;
        }

        ul li.menu-item-0:hover {
            border-color: #5693C9;
        }

        ul li.menu-item-0:hover > svg {
            transform: scaleY(-1) rotate(90deg);
        }

        .menu-item-0:hover .submenu-level-2-wrapper,
        .menu-item-0 svg:hover .submenu-level-2-wrapper {
            padding-top: 40px;
            padding-bottom: 40px;
            /*min-height: 385px;*/
            grid-template-rows: 1fr;
        }

        .menu-item-1:hover .submenu-level-3-wrapper,
        .menu-item-1 svg:hover .submenu-level-3-wrapper {
            opacity: 1;
            /*visibility: visible;*/
            /*display: block;*/
        }
    }

    /*
     * Scroll
     */
    .widget_aci_menu_widget .submenu-level-3-wrapper {
        scrollbar-width: thin;
        scrollbar-color: #5693c9 #f1f1f1;
        overflow-y: auto;
    }

    /*
     * Info block
     */
    .menu-info-block {
        background-color: #DDE9F4;
        max-width: 548px;
        height: fit-content;
        color: #081F3D !important;
        transition: opacity 0.5s ease;
    }

    .menu-info-block-wrapper {
        padding: 44px 56px 24px;
    }

    .menu-info-block-image {
        /*width: 100%;*/
        height: 105px;

        img {
            width: 100% !important;
            height: 100%;
            object-fit: cover;
        }
    }

    .menu-info-block-title {
        margin-bottom: 6px;
        font-size: 24px;
        line-height: 130%;
    }

    .menu-info-block p, .menu-info-block a {
        font-size: 16px;
        line-height: 160%;
    }

    .menu-info-block a {
        display: block;
        width: fit-content;
        margin-top: 12px;
        margin-left: auto;
        font-weight: bold;
        color: #003A8C !important;
        border-bottom: 1px solid #003A8C;
    }

    .aci-mobile-menu-toggle,
    .widget_aci_menu_widget .submenu-back-button,
    .widget_aci_menu_widget .submenu-level-2-content-title,
    .widget_aci_menu_widget .submenu-level-3-content-title,
    .widget_aci_menu_widget .aci-top-menu,
    .widget_aci_menu_widget .aci-menu-search,
    .widget_aci_menu_widget .aci-menu-social {
        display: none;
    }
}

@media screen and (max-width: 1280px) {
    .widget_aci_menu_widget ul li.menu-item-0 > a {
        font-size: 16px;
    }
}

/*
 * Mobile
 */
@media screen and (max-width: 1024px) {
    .fl-page header.fl-theme-builder-header-shrink {
        .header-main-bar > .fl-row-content-wrap {
            padding-top: 24px;
            padding-bottom: 24px;
        }
    }

    .fl-page header .site-logo img {
        height: 40px !important;
    }

    button.aci-mobile-menu-toggle:focus, button.aci-mobile-menu-toggle:active {
        border: unset;
        background-color: transparent;
    }

    .mobile-menu-open #widget_aci_menu_widget-row {
        /*opacity: 1;*/
        transform: translateX(0%);
        pointer-events: auto;
    }

    #header-social {
        display: none;
    }

    #aci-mobile-menu-toggle-col,
    #aci-mobile-menu-toggle-col .fl-col-content,
    #aci-mobile-menu-toggle-col .fl-module {
        width: 36px;
    }

    #aci-mobile-menu-toggle-col .fl-col-content {
        align-items: flex-end;
    }

    .aci-mobile-menu-toggle,
    .aci-mobile-menu-toggle:hover {
        background: none;
        border: none;
        padding: 0;
    }

    .icon-burger, .icon-close {
        width: 36px;
        height: 36px;
    }

    .mobile-menu-open .icon-burger {
        display: none !important;
    }

    .mobile-menu-open .icon-close {
        display: inline-block !important;
    }

    body.mobile-menu-open {
        overflow: hidden;
    }

    /*
     * Main Menu
     */
    #widget_aci_menu_widget-row {
        position: fixed;
        top: 133px;
        right: 0;
        width: 100vw;
        max-width: 480px;
        height: calc(100svh - 102px);
        /*opacity: 0;*/
        transform: translateX(100%);
        background-color: #F6F9FE;
        transition: opacity 0.5s ease, transform 600ms ease-in-out;
        z-index: 99;
        pointer-events: none;

        & > .fl-row-content-wrap {
            background-color: unset;
        }

        .fl-row-full-width.fl-row-content {
            padding: 0;
        }

        div[class^="fl-"] {
            height: 100%;
        }

        .widget_aci_menu_widget {
            padding-bottom: 32px;
            height: 100%;
            display: flex;
            flex-direction: column;

            .aci-top-menu {
                position: relative;
                padding: 8px 32px;
                background-color: white;
                border-top: 1px solid #F6F9FE;

                ul {
                    margin-bottom: 0;
                    display: flex;
                    justify-content: center;
                    gap: 40px;
                }

                li {
                    margin-bottom: 0;
                }

                a {
                    font-size: 14px;
                    line-height: 1;
                    letter-spacing: 0.05em;
                    text-transform: uppercase;
                    text-decoration: underline;
                    color: #081F3D;
                }
            }

            .aci-main-menu {
                height: calc(100% - 180px);
                position: relative;
                padding: 24px 32px;

                ul.menu {
                    margin-bottom: 0;
                    height: 100%;
                    overflow-y: auto;

                    li {
                        display: flex;
                        align-items: center;
                        justify-content: space-between;
                        gap: 24px;
                        width: 100%;
                        padding: 0;
                    }

                    li:not(:last-child) {
                        margin-bottom: 24px;
                    }

                    a {
                        color: #081F3D;
                        line-height: 145%;
                        font-size: 18px;
                    }
                }

                li > svg {
                    width: 14px;
                    height: 14px;
                    color: #003A8C !important;
                }
            }

            .aci-menu-social {
                margin-top: auto;
                margin-inline: auto;
                padding: 0 32px;
                width: 90%;

                .aci-menu-social-title {
                    margin-bottom: 10px;
                    font-size: 14px;
                    line-height: 1.45;
                    color: #848484 !important;
                }

                .aci-menu-social-list {
                    margin-bottom: 0;
                    display: flex;
                    align-items: center;
                    gap: 36px;

                    li {
                        margin-bottom: 0;
                    }

                    a {
                        display: block;
                        color: #003A8C;
                        align-content: center;

                        svg {
                            display: block;
                            width: 24px;
                            height: 24px;
                        }
                    }
                }
            }

            .aci-menu-search {
                margin-top: 34px;
                padding: 0 32px;

                form {
                    position: relative;
                    margin-inline: auto;
                    width: 90%;
                }

                input {
                    width: 100%;
                    min-height: 50px;
                    padding: 5px 10px 5px 35px;
                    font-size: 16px;
                    line-height: 1.5;
                    color: #081F3D;
                    border: 1px solid #081F3D;
                    border-radius: 0;
                    background-color: transparent;

                    &::placeholder {
                        color: rgba(132, 132, 132, 1);
                    }
                }

                button[type='submit'] {
                    width: 30px;
                    height: 100%;
                    position: absolute;
                    top: 0;
                    left: 0;
                    padding: 0 0 0 15px;
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    background-color: transparent;

                    svg {
                        width: 20px;
                        height: 20px;
                        fill: #081F3D;
                    }
                }
            }

            .menu-info-block {
                display: none;
            }

            .submenu-level-2-wrapper,
            .submenu-level-3-wrapper {
                position: absolute;
                top: 0;
                right: 0;
                width: 100%;
                height: 100%;
                transform: translateX(100%);
                padding: 24px 32px;
                opacity: 0;
                background-color: #F6F9FE;
                transition: opacity 0.5s ease, transform 0.5s ease;
            }

            .submenu-level-2-content,
            .submenu-level-2-content > div,
            .submenu-level-3-content {
                height: 100%;
            }

            .submenu-back-button {
                margin-bottom: 24px;
                padding: 0;
                width: fit-content;
                display: flex;
                align-items: center;
                font-size: 12px;
                line-height: 1;
                letter-spacing: 0.05em;
                color: #848484 !important;
                text-transform: uppercase;
                background-color: unset;
                border: none;
                border-radius: 0;

                svg {
                    margin-right: 8px;
                }
            }

            .submenu-back-button-label {
                font-weight: 700;
            }

            .submenu-level-2-content-title,
            .submenu-level-3-content-title {
                margin-bottom: 16px;
                font-size: 22px;
                line-height: 130%;
                font-weight: 600;
                text-transform: uppercase;
                color: #003A8C !important;
            }

            .submenu-level-2,
            .submenu-level-3 {
                height: 70%;
                overflow-y: auto;
            }


            ul.menu li.menu-item-3 {
                justify-content: flex-start;
            }

            ul.submenu-level-3 li.menu-item-3::before {
                margin-left: 25px;
            }

            ul.submenu-level-3 li.menu-item-3::before {
                content: '';
                display: inline-block;
                width: 10px;
                height: 2px;
                background-color: #5693c9;
                margin-right: 10px;
                vertical-align: middle;
            }
        }
    }
}

@media screen and (max-width: 992px) {
    .fl-page header.fl-theme-builder-header-shrink {
        .header-main-bar > .fl-row-content-wrap {
            padding-top: 10px;
            padding-bottom: 10px;
        }
    }

    #widget_aci_menu_widget-row {
        top: 102px;
    }
}
