/* =========================================
   Einzelinstanz-Sticky-Header
   ========================================= */

.astroid-header-section.iaaeu-single-sticky-header {
    position: sticky;
    top: 0;

    opacity: 1;
    transform: translate3d(0, 0, 0);

    transition:
        transform 0.7s ease,
        opacity 0.7s ease,
        visibility 0s;
}

.astroid-header-section.iaaeu-single-sticky-header.iaaeu-single-header-hidden {
    visibility: hidden;

    opacity: 0;
    pointer-events: none;
    transform: translate3d(0, -100%, 0);

    transition:
        transform 0.7s ease,
        opacity 0.7s ease,
        visibility 0s 0.7s;
}

.astroid-header-section.iaaeu-single-sticky-header.iaaeu-single-header-at-top {
    transition: none;
}

.astroid-header-section.iaaeu-single-sticky-header.iaaeu-single-header-stuck:not(.iaaeu-single-header-hidden) {
    box-shadow: 0 0.375rem 0.9rem rgba(20, 39, 68, 0.13);
}

/* =========================================
   Einklappbare Suche im Header
   ========================================= */

/* Sprachwechsel: gleicher dunkelblauer Hover wie die Navigation, ohne Linie. */
.astroid-header .mod-languages a {
    text-decoration: none !important;
}

.astroid-header .mod-languages a:hover,
.astroid-header .mod-languages a:focus-visible {
    color: #00386f !important;
}

.header-right-block search {
    position: relative;

    display: flex;
    align-items: center;
}

.header-right-block search .mod-finder {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: flex-end;

    margin: 0;
}
.min-w-30.d-lg-none {

    display: flex;

    align-items: center;

    justify-content: center;

}


.header-right-block search .awesomplete {
    display: block;
}

/* Suchfeld zunächst eingeklappt */
.header-right-block search .js-finder-search-query {
    width: 0 !important;
    height: 42px;

    margin: 0;
    padding: 0 !important;

    border: 1px solid transparent !important;
    border-radius: 8px;

    background: #ffffff;
    color: #1f3158;

    font-family: inherit;
    font-size: 0.95rem;

    opacity: 0;
    pointer-events: none;

    box-shadow: none !important;

    transition:
        width 0.25s ease,
        padding 0.25s ease,
        opacity 0.2s ease,
        border-color 0.2s ease;
}

/* Geöffnet */
.header-right-block search.is-open .js-finder-search-query {
    width: 220px !important;
    padding: 0 44px 0 14px !important;

    border-color: rgba(31, 49, 88, 0.22) !important;

    opacity: 1;
    pointer-events: auto;
}

/* Lupen-Button */
.header-search-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    margin: 0;
    padding: 0;

    border: 0;
    border-radius: 8px;

    background: transparent;
    color: #1f3158;

    font-size: 1.1rem;
    line-height: 1;

    cursor: pointer;

    transition:
        background-color 0.2s ease,
        color 0.2s ease;
}

.header-search-toggle:hover,
.header-search-toggle:focus-visible {
    background: rgba(31, 49, 88, 0.08);
}

/* Im geöffneten Zustand über dem Feld */
.header-right-block search.is-open .header-search-toggle {
    position: absolute;
    right: 0;
    z-index: 2;
}

/* =========================================
   Desktop-Mega-Menü
   Astroid behält Öffnen, Positionierung und Hierarchie bei.
   ========================================= */

@media (min-width: 992px) {
    /* Astroids Dropdown-Chevrons nur auf der ersten Desktop-Ebene ausblenden. */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-level-1
        > .nav-link
        > .nav-title
        > .fa-chevron-down.nav-item-caret {
        display: none;
    }

    /* Nur den aktuellen Joomla-Menüpfad auf Ebene 1 markieren. */
    .astroid-header [data-megamenu] > .astroid-nav > .nav-item > .nav-link {
        position: relative;
    }

    .astroid-header [data-megamenu] > .astroid-nav > .nav-item > .nav-link::after {
        position: absolute;
        right: 1rem;
        bottom: 0;
        left: 1rem;

        height: 2px;

        background: #00386f;
        content: "";
        transform: scaleX(0);
        transform-origin: center;

        transition: transform 0.18s ease;
    }

    .astroid-header [data-megamenu] > .astroid-nav > .nav-item-active > .nav-link::after,
    .astroid-header [data-megamenu] > .astroid-nav > .nav-item-current > .nav-link::after {
        transform: scaleX(1);
    }

    .astroid-header [data-megamenu] > .astroid-nav > .nav-item:hover > .nav-link,
    .astroid-header [data-megamenu] > .astroid-nav > .nav-item:focus-within > .nav-link,
    .astroid-header [data-megamenu] > .astroid-nav > .nav-item.open > .nav-link {
        color: #00386f !important;
    }

    .astroid-header [data-megamenu].iaaeu-sliding-underline {
        position: relative;
    }

    /* Preview only the hovered/focused link; keep Joomla's active state intact. */
    .astroid-header [data-megamenu].is-menu-previewing > .astroid-nav > .nav-item > .nav-link:not(.iaaeu-nav-target) {
        color: #4970cf !important;
    }

    .astroid-header [data-megamenu].iaaeu-sliding-underline > .astroid-nav > .nav-item > .nav-link.iaaeu-nav-target {
        color: #00386f !important;
    }

    .astroid-header [data-megamenu].iaaeu-sliding-underline > .astroid-nav > .nav-item > .nav-link::after {
        display: none;
    }

    .astroid-header .iaaeu-nav-underline {
        position: absolute;
        top: 0;
        left: 0;
        height: 2px;
        background: #00386f;
        opacity: 0;
        pointer-events: none;
    }

    .astroid-header .iaaeu-sliding-underline.is-underline-ready > .iaaeu-nav-underline {
        transition: transform 0.25s ease, width 0.25s ease, opacity 0.15s ease;
    }

    /*
       Astroid setzt bei der Ausrichtung "Full Width" zur Laufzeit eine
       Inline-Breite. Die sichtbare Breite wird stattdessen aus der Anzahl
       der tatsächlich belegten Spalten abgeleitet und am Viewport begrenzt.

       Astroids dynamisch berechnetes top bleibt unangetastet und setzt das
       Menü an die Unterkante des normalen bzw. Sticky-Headers. Der
       negative obere Abstand rückt die Karte etwas näher an den Reiter,
       ohne Astroids Animations-Transforms zu verändern.
    */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container {
        --iaaeu-megamenu-width: 16rem;

        box-sizing: border-box;
        width: min(var(--iaaeu-megamenu-width), calc(100vw - 2rem)) !important;
        max-width: calc(100vw - 2rem);
        margin-top: -0.75rem;
        padding: 1.125rem clamp(1rem, 1.25vw, 1.25rem) 0.875rem;

        border: 1px solid rgba(0, 56, 111, 0.14);
        border-radius: 0.625rem;

        background: #ffffff;
        box-shadow:
            0 0.5rem 1.5rem rgba(20, 39, 68, 0.1),
            0 1.5rem 3.5rem rgba(20, 39, 68, 0.16);
    }

    /*
       Alle Mega-Menüs werden am auslösenden Menüpunkt zentriert.
       header.js verschiebt sie nur so weit wie nötig zurück, falls ihre
       tatsächlich gerenderte Breite sonst den Viewport verlassen würde.
       Die separate translate-Eigenschaft kollidiert nicht mit Astroids
       GSAP-transform.
    */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container {
        right: auto !important;
        left: 50% !important;

        translate: calc(-50% + var(--iaaeu-megamenu-viewport-shift, 0px)) 0;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container:has(
            > .row > .col:nth-child(2 of .col:not(:empty))
        ) {
        --iaaeu-megamenu-width: 30rem;
    }

    /*
       Zweispaltige Bereichsmenüs mit Überschriften wie Forschung und
       Veranstaltungen benötigen etwas mehr Platz als das Team-Menü.
    */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container:has(
            > .row
                > .col:nth-child(2 of .col:not(:empty))
                .megamenu-title.item-link-heading
        ) {
        --iaaeu-megamenu-width: 33rem;

        padding-right: 0.5rem;
        padding-left: 0.5rem;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container:has(
            > .row
                > .col:nth-child(2 of .col:not(:empty))
                .megamenu-title.item-link-heading
        )
        > .row
        > .col:not(:empty) {
        padding-right: 0.75rem;
        padding-left: 0.75rem;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container:has(
            > .row > .col:nth-child(3 of .col:not(:empty))
        ) {
        --iaaeu-megamenu-width: 44rem;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container:has(
            > .row > .col:nth-child(4 of .col:not(:empty))
        ) {
        --iaaeu-megamenu-width: 58rem;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container:has(
            > .row > .col:nth-child(n + 5 of .col:not(:empty))
        ) {
        --iaaeu-megamenu-width: 66rem;
    }

    /*
       Das Juristen-Menü besitzt vier breite deutsche Rubriken. Nur seine
       Breite wird erweitert; Astroids Positionierung und Hover bleiben
       vollständig unverändert.
    */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:is(.nav-item-id-126, .nav-item-id-131)
        > .megamenu-container {
        --iaaeu-megamenu-width: 48rem !important;
    }

    /* Institut: Platz nach Textlänge statt gleich breiter Spalten verteilen. */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:is(.nav-item-id-102, .nav-item-id-101, .nav-item-id-122, .nav-item-id-123)
        > .megamenu-container {
        width: max-content !important;
        /* Astroid animiert transform und setzt translate inline auf none.
           Die bestehende Viewport-Korrektur aus header.js trotzdem anwenden. */
        translate: var(--iaaeu-megamenu-viewport-shift, 0px) 0 !important;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:is(.nav-item-id-102, .nav-item-id-101, .nav-item-id-122, .nav-item-id-123)
        > .megamenu-container > .row > .col:not(:empty) {
        flex: 1 0 auto;
        width: max-content;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:is(.nav-item-id-102, .nav-item-id-101, .nav-item-id-122, .nav-item-id-123)
        > .megamenu-container .megamenu-title.item-level-2 {
        white-space: nowrap;
    }

    /*
       Robuste Absicherung für Browser, in denen Astroids Hover-Skript nicht
       initialisiert wird. Die vorhandenen Menüs bleiben Astroid-Menüs; CSS
       übernimmt nur das Einblenden bei Maus- oder Tastaturfokus.
    */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:hover
        > .megamenu-container,
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:focus-within
        > .megamenu-container {
        display: block !important;
    }

    /*
       Ohne Astroids open-Klasse wird das Menü sonst an der Unterkante des
       Textlinks statt an der Unterkante des vollständigen Headers geöffnet.
    */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:not(.open):hover
        > .megamenu-container,
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:not(.open):focus-within
        > .megamenu-container {
        top: calc(100% + 2rem) !important;
    }

    /* Der transparente Streifen schließt die Hover-Lücke über der Karte. */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container::after {
        position: absolute;
        top: calc(-2rem - 1px);
        right: 0;
        left: 0;
        height: calc(2rem + 1px);
        background: transparent;
        content: "";
        pointer-events: auto;
    }

    /*
       Nur belegte Astroid-Spalten bestimmen die sichtbare Breite.
       Später befüllte Spalten werden ohne weitere CSS-Anpassung sichtbar.
    */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container
        > .row {
        display: flex;
        flex-wrap: nowrap;

        width: auto;
        max-width: 100%;
        margin: 0;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container
        > .row
        > .col:empty {
        display: none;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container
        > .row
        > .col:not(:empty) {
        position: relative;

        flex: 1 1 0;
        width: auto;
        min-width: 0;
        max-width: none;
        padding: 0 clamp(0.875rem, 1.25vw, 1.25rem);

        overflow-wrap: anywhere;
    }

    /* Ökonomen: Jede Spalte muss mindestens ihre ungetrennte Überschrift
       samt Icon und Innenabstand aufnehmen, bevor der Rest verteilt wird. */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:is(.nav-item-id-125, .nav-item-id-130)
        > .megamenu-container > .row > .col:not(:empty) {
        min-width: min-content;
    }

    /* Trennlinie erst ab der zweiten tatsächlich belegten Spalte. */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .megamenu-container
        > .row
        > .col:nth-child(n + 2 of .col:not(:empty))::before {
        position: absolute;
        top: 0.75rem;
        bottom: 0.75rem;
        left: 0;

        width: 1px;

        background: rgba(0, 56, 111, 0.1);
        content: "";
    }

    /*
       Astroid berechnet die Höhe dieser Maske aus der Distanz zwischen
       Menüpunkt und Header-Unterkante plus 10px. Der Notch sitzt genau an
       diesem berechneten Ende und ist dadurch immer am Trigger ausgerichtet.
    */
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu
        > .submenu-dropdown-mask {
        display: none !important;
        pointer-events: none;
    }

    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:hover
        > .megamenu-container::before,
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu.open
        > .megamenu-container::before,
    .astroid-header [data-megamenu]
        > .astroid-nav
        > .nav-item-megamenu:focus-within
        > .megamenu-container::before {
        position: absolute;
        top: -7px;
        left: var(--iaaeu-megamenu-notch-left, 50%);

        z-index: 1;

        width: 14px;
        height: 14px;

        border-top: 1px solid rgba(0, 56, 111, 0.14);
        border-left: 1px solid rgba(0, 56, 111, 0.14);

        background: #ffffff;
        box-shadow: -2px -2px 4px rgba(20, 39, 68, 0.05);
        content: "";
        pointer-events: none;
        transform: translateX(-50%) rotate(45deg);
    }

    .astroid-header [data-megamenu] .megamenu-submenu-level-1,
    .astroid-header [data-megamenu] .megamenu-menu-item {
        min-width: 0;
        margin: 0;
    }

    /* Ebene 2 als klar abgesetzte Spaltenüberschrift. */
    .astroid-header [data-megamenu] .megamenu-title.item-level-2 {
        display: flex;
        align-items: center;
        gap: 0.5rem;

        margin: 0 0 0.45rem;
        padding: 0.1rem 0 0.5rem;

        color: #00386f;
        font-weight: 600;
        line-height: 1.35;
        white-space: normal;
    }

    .astroid-header [data-megamenu]
        .megamenu-title.item-level-2.item-link-heading {
        text-transform: none;
        white-space: nowrap;
    }

    .astroid-header [data-megamenu] .megamenu-title.item-level-2 .nav-title {
        min-width: 0;
        margin: 0;
    }

    .astroid-header [data-megamenu]
        .megamenu-title.item-level-2
        .nav-item-caret {
        display: none;
    }

    /*
       Nur echte Links der Ebene 2 erhalten eine dezente Textunterstreichung.
       Reine Astroid-Überschriften und Separatoren bleiben unverändert; das
       Icon liegt auÃŸerhalb von .nav-title-text und wird nicht unterstrichen.
    */
    .astroid-header [data-megamenu]
        .megamenu-title.item-level-2:not(.item-link-separator)
        .nav-title-text {
        padding-bottom: 0.125rem;

        border-bottom: 1px solid rgba(0, 56, 111, 0.38);

        transition: border-color 0.18s ease;
    }

    .astroid-header [data-megamenu]
        .megamenu-title.item-level-2:not(.item-link-separator):hover
        .nav-title-text,
    .astroid-header [data-megamenu]
        .megamenu-title.item-level-2:not(.item-link-separator):focus-visible
        .nav-title-text {
        border-bottom-color: transparent;
    }

    /*
       Bootstrap Icons 1.11.3 wird im bestehenden Template bereits geladen.
       Überschriften erhalten ein Dokument-Icon als robuste Grunddarstellung.
    */
    .astroid-header [data-megamenu] .megamenu-title.item-level-2::before {
        flex: 0 0 auto;

        color: #00386f;
        content: var(--iaaeu-menu-icon, "\f38b");
        font-family: "bootstrap-icons";
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 1;

        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
    }

    /* Institut: inhaltsbezogene Symbole, jeweils Deutsch und Englisch. */
    .astroid-header [data-megamenu] .megamenu-title:is(.nav-link-item-id-124, .nav-link-item-id-127) {
        --iaaeu-menu-icon: "\f4a3"; /* newspaper */
    }

    .astroid-header [data-megamenu] .megamenu-title:is(.nav-link-item-id-188, .nav-link-item-id-189) {
        --iaaeu-menu-icon: "\f444"; /* journal-text */
    }

    .astroid-header [data-megamenu] .megamenu-title:is(.nav-link-item-id-190, .nav-link-item-id-191) {
        --iaaeu-menu-icon: "\f1cc"; /* briefcase */
    }

    .astroid-header [data-megamenu] .megamenu-title:is(.nav-link-item-id-197, .nav-link-item-id-198) {
        --iaaeu-menu-icon: "\f4d0"; /* people */
    }

    .astroid-header [data-megamenu] .megamenu-title:is(.nav-link-item-id-200, .nav-link-item-id-199) {
        --iaaeu-menu-icon: "\f4dd"; /* person-plus */
    }

    /* Verlinkte Ebene-2-Teamgruppen erhalten ein Personen-Icon. */
    .astroid-header [data-megamenu] .megamenu-title.item-link-url::before {
        content: "\f4d0";
    }

    /* Optionale Standardgruppen innerhalb der Astroid-Spaltenreihenfolge. */
    .astroid-header [data-megamenu]
        .row
        > .col:nth-child(2)
        .megamenu-title.item-link-heading::before {
        content: "\f4d0";
    }

    .astroid-header [data-megamenu]
        .row
        > .col:nth-child(3)
        .megamenu-title.item-link-heading::before {
        content: "\f1e8";
    }

    .astroid-header [data-megamenu]
        .row
        > .col:nth-child(4)
        .megamenu-title.item-link-heading::before {
        content: "\f6fe";
    }

    /* Lehrstuhl/Chair beider Arbeitsgruppen: Doktorhut statt Positions-Icon. */
    .astroid-header [data-megamenu]
        .row > .col
        .megamenu-title.item-level-2:is(
            .nav-link-item-id-159, .nav-link-item-id-160,
            .nav-link-item-id-172, .nav-link-item-id-173
        )::before {
        content: "\f6fe";
    }

    /* Ebene 3+ mit eigenständiger vertikaler Rhythmik. */
    .astroid-header [data-megamenu] .nav-submenu-static {
        gap: 0.125rem;

        margin: 0;
        padding: 0;
    }

    .astroid-header [data-megamenu]
        .nav-submenu-static
        > .nav-item-submenu
        > .as-menu-item {
        display: block;

        padding: 0.25rem 0.375rem;

        border-radius: 0.25rem;

        color: #31445f;
        font-weight: 400;
        line-height: 1.55;
        white-space: normal;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: auto;

        transition: color 0.18s ease;
    }

    .astroid-header [data-megamenu] .iaaeu-menu-manual-break {
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }

    .astroid-header [data-megamenu]
        .nav-submenu-static
        > .nav-item-submenu
        > .as-menu-item
        .nav-title-text {
        border-bottom: 1px solid transparent;

        transition: border-color 0.18s ease;
    }

    .astroid-header [data-megamenu]
        .nav-submenu-static
        > .nav-item-submenu
        > .as-menu-item:hover,
    .astroid-header [data-megamenu]
        .nav-submenu-static
        > .nav-item-submenu
        > .as-menu-item:focus-visible {
        background: transparent;
        color: #00386f;
    }

    .astroid-header [data-megamenu]
        .nav-submenu-static
        > .nav-item-submenu
        > .as-menu-item:hover
        .nav-title-text,
    .astroid-header [data-megamenu]
        .nav-submenu-static
        > .nav-item-submenu
        > .as-menu-item:focus-visible
        .nav-title-text {
        border-bottom-color: rgba(0, 56, 111, 0.45);
    }
}

@media (prefers-reduced-motion: reduce) {
    .astroid-header .iaaeu-sliding-underline.is-underline-ready > .iaaeu-nav-underline {
        transition: none;
    }
}

/* =========================================
   Mobile Drilldown-Navigation
   Astroids bestehende Ebenenlogik bleibt unveraendert.
   ========================================= */

@media (max-width: 991px) {
    #astroid-mobilemenu.astroid-mobilemenu {
        box-sizing: border-box;

        overflow: hidden;

        background: #ffffff;
        color: #00386f;
    }

    #astroid-mobilemenu .burger-menu-button {
        position: sticky;
        top: 0;
        z-index: 10;

        display: flex;
        align-items: center;
        justify-content: flex-end;
        min-height: 64px;
        padding: 8px 12px;

        border: 0;

        background: #ffffff;
    }

    #astroid-mobilemenu .burger-menu-button .button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 48px;
        height: 48px;
        margin: 0;
        padding: 0;

        border: 0;
        border-radius: 0;

        background: transparent;
        color: #00386f;
    }

    #astroid-mobilemenu .close-offcanvas,
    #astroid-mobilemenu .close-offcanvas:hover {
        right: 0;
    }

    #astroid-mobilemenu .astroid-mobilemenu-container {
        height: calc(100% - 64px);
        overflow: hidden;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner,
    #astroid-mobilemenu .astroid-mobile-menu {
        width: 100%;
        height: 100%;
        overflow-x: hidden;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner ul {
        box-sizing: border-box;
        margin: 0;
        padding: 0;

        background: #ffffff;
        list-style: none;
        overscroll-behavior: contain;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner ul > li.menu-item:first-child {
        border-top: 0;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item {
        position: relative;

        display: flex;
        align-items: stretch;
        width: 100%;
        min-width: 0;
        min-height: 56px;

        border: 0;

        background: #ffffff;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item:not(:last-child):not(.menu-go-back)::after {
        position: absolute;
        right: 18px;
        bottom: 0;
        left: 18px;

        height: 1px;

        background: #e8edf3;
        content: "";
        pointer-events: none;
    }

    #astroid-mobilemenu .astroid-mobile-menu > .menu-item:first-child::before {
        position: absolute;
        top: 0;
        right: 18px;
        left: 18px;

        height: 1px;

        background: #e8edf3;
        content: "";
        pointer-events: none;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item > a,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item > span.separator,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item > span.nav-header {
        display: flex;
        flex: 1 1 auto;
        align-items: center;
        width: auto;
        min-width: 0;
        min-height: 56px;
        padding: 11px 0 11px 18px;

        border: 0;

        background: transparent;
        color: #00386f;
        font-size: 17px;
        font-weight: 500;
        line-height: 1.25;
        text-decoration: none;
        white-space: normal;
        overflow-wrap: anywhere;

        transition: background-color 0.18s ease, color 0.18s ease;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item:not(.subMenu-wrapper) > a,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item:not(.subMenu-wrapper) > span.separator,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item:not(.subMenu-wrapper) > span.nav-header {
        padding-right: 18px;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item .nav-title,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item .nav-title-text {
        min-width: 0;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item .menu-indicator {
        display: flex;
        flex: 0 0 56px;
        align-items: center;
        justify-content: center;
        width: 56px;
        min-height: 56px;

        border: 0;

        color: #607a96;
        cursor: pointer;

        transition: background-color 0.18s ease, color 0.18s ease;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item .menu-indicator i {
        font-size: 15px;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .dropdown-menus {
        top: 0;
        box-sizing: border-box;
        height: 100%;
        padding-top: 64px;

        overflow-x: hidden;
        overflow-y: auto;

        background: #ffffff;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner li.menu-item.menu-go-back {
        display: block;
        min-height: 62px;
        margin-top: 0;

        border-bottom: 1px solid #dfe5ec;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-go-back .menu-indicator-back {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 62px;
        padding: 8px 18px;

        color: #002f60;
        cursor: pointer;
        font-size: 18px;
        font-weight: 600;
        line-height: 1.2;
        text-align: left;

        transition: background-color 0.18s ease, color 0.18s ease;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-go-back .menu-indicator-back > i {
        flex: 0 0 auto;
        margin-right: 14px;

        color: #607a96;
        font-size: 16px;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-go-back .nav-title {
        display: block;
        flex: 1 1 auto;
        min-width: 0;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item.nav-item-active {
        background: #f4f7fa;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item.nav-item-active > a,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item.nav-item-active > a + .menu-indicator {
        color: #002f60;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item > a:hover,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item > a:focus-visible,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item .menu-indicator:hover,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item .menu-indicator:focus-visible,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-go-back .menu-indicator-back:hover,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-go-back .menu-indicator-back:focus-visible,
    #astroid-mobilemenu .burger-menu-button .button:hover,
    #astroid-mobilemenu .burger-menu-button .button:focus-visible {
        background: #f6f8fb;
        color: #002f60;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item > a:focus-visible,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-item .menu-indicator:focus-visible,
    #astroid-mobilemenu .astroid-mobilemenu-inner .menu-go-back .menu-indicator-back:focus-visible,
    #astroid-mobilemenu .burger-menu-button .button:focus-visible {
        outline: 2px solid rgba(0, 56, 111, 0.55);
        outline-offset: -2px;
    }

    #astroid-mobilemenu .astroid-mobilemenu-inner img {
        max-width: 100%;
        height: auto;
    }
}

@media (max-width: 450px) {
    #astroid-mobilemenu.astroid-mobilemenu {
        width: 100vw;
        max-width: 100vw !important;
    }
}

@media (min-width: 451px) and (max-width: 991px) {
    #astroid-mobilemenu.astroid-mobilemenu {
        width: 380px;
        max-width: calc(100vw - 32px) !important;
    }
}
