/* CMS 4.0 responsive database-driven navigation. */
.nav-toggle {
    display: none;
    min-width: 42px;
    height: 42px;
    padding: 0;
    color: #fff;
    background: transparent;
    border: 1px solid #ffffff3b;
    border-radius: 7px;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

.nav-item,
.nav-group {
    position: relative;
    display: flex;
    align-items: center;
    height: 78px;
}

.nav-dropdown {
    display: none !important;
    position: absolute;
    left: -20px;
    top: 70px;
    z-index: 60;
    width: 330px;
    padding: 10px;
    background: #fff;
    border: 1px solid #dce6f1;
    border-radius: 10px;
    box-shadow: 0 22px 55px #0004;
}

.nav-group:hover .nav-dropdown,
.nav-group:focus-within .nav-dropdown {
    display: grid !important;
}

.nav-dropdown .nav-item {height:auto;display:block}
.nav-dropdown .nav-item>.nav-dropdown{left:calc(100% - 4px);top:-10px}
.nav-dropdown .nav-item:hover>.nav-dropdown,
.nav-dropdown .nav-item:focus-within>.nav-dropdown{display:grid!important}

.site-header nav .nav-dropdown a {
    display: block;
    padding: 10px 12px;
    color: #28405d;
    border-radius: 7px;
    white-space: normal;
    line-height: 1.35;
}

.site-header nav .nav-dropdown a:hover {
    color: #0878e8;
    background: #edf6ff;
}

.site-header nav .nav-dropdown .service-link {
    margin-top: 7px;
    padding-top: 13px;
    color: #0878e8;
    border-top: 1px solid #dce6f1;
}

[dir="rtl"] .nav-dropdown {
    right: -20px;
    left: auto;
}

[dir="rtl"] .nav-dropdown .nav-item>.nav-dropdown{right:calc(100% - 4px);left:auto}

@media (max-width: 1380px) and (min-width: 1151px) {
    .site-header {
        gap: 14px;
        padding-right: 24px;
        padding-left: 24px;
    }

    .site-header nav { gap: 13px; }
    .site-header nav a { font-size: 13px; }
    .nav-cta { padding: 11px 15px; }
}

@media (max-width: 1150px) {
    .nav-toggle { display: inline-grid; place-items: center; }

    .site-header.mobile-open nav {
        display: flex;
        position: absolute;
        top: 100%;
        right: 16px;
        left: 16px;
        max-height: calc(100vh - 95px);
        padding: 14px;
        flex-direction: column;
        align-items: stretch;
        gap: 2px;
        overflow: auto;
        color: #fff;
        background: #061a33;
        border: 1px solid #ffffff24;
        border-radius: 0 0 12px 12px;
        box-shadow: 0 24px 50px #0006;
    }

    .site-header.mobile-open nav > a,
    .site-header.mobile-open nav > .nav-item > a,
    .site-header.mobile-open nav > .nav-group > a {
        padding: 11px 12px;
        color: #fff;
        font-size: 15px;
    }

    .site-header.mobile-open .nav-item,
    .site-header.mobile-open .nav-group {
        display: block;
        height: auto;
    }

    .site-header.mobile-open .nav-dropdown,
    .site-header.mobile-open .nav-group:hover .nav-dropdown,
    .site-header.mobile-open .nav-group:focus-within .nav-dropdown {
        display: grid !important;
        position: static;
        width: auto;
        margin: 0 0 7px 14px;
        padding: 7px;
        box-shadow: none;
    }

    [dir="rtl"] .site-header.mobile-open .nav-dropdown {
        margin: 0 14px 7px 0;
    }
}
