/* 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}

/* Use the same clean drawer whenever the real menu width exceeds the header. */
.site-header.nav-compact .nav-toggle {display:inline-grid;place-items:center}
.site-header.nav-compact .brand {margin-inline-end:auto}
.site-header.nav-compact nav {display:none}
.site-header.nav-compact.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.nav-compact.mobile-open nav>.nav-item>a,
.site-header.nav-compact.mobile-open nav>.nav-group>a {padding:11px 12px;color:#fff;font-size:15px}
.site-header.nav-compact.mobile-open .nav-item,
.site-header.nav-compact.mobile-open .nav-group {display:block;height:auto}
.site-header.nav-compact.mobile-open .nav-dropdown,
.site-header.nav-compact.mobile-open .nav-group:hover .nav-dropdown,
.site-header.nav-compact.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.nav-compact.mobile-open .nav-dropdown {margin:0 14px 7px 0}

@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;
    }
}
