.naturalibre-language-menu {
    position: relative;
}

.naturalibre-language-menu details,
.naturalibre-language-menu summary {
    margin: 0;
}

#ast-desktop-header .naturalibre-language-menu summary.naturalibre-language-menu__summary,
#ast-mobile-header .naturalibre-language-menu summary.naturalibre-language-menu__summary {
    align-items: center;
    box-sizing: border-box;
    cursor: pointer;
    display: flex;
    list-style: none;
    min-width: 3rem;
    text-transform: uppercase;
}

.naturalibre-language-menu summary::-webkit-details-marker {
    display: none;
}

.naturalibre-language-menu summary::after {
    content: "▾";
    font-size: .7em;
    margin-left: .4em;
}

.naturalibre-language-menu details[open] summary::after {
    transform: rotate(180deg);
}

#ast-desktop-header ul.naturalibre-language-menu__list,
#ast-mobile-header ul.naturalibre-language-menu__list {
    background: #fff;
    border: 1px solid rgba(38, 76, 48, .18);
    border-radius: .45rem;
    box-shadow: 0 .75rem 2rem rgba(25, 52, 33, .14);
    left: auto;
    list-style: none;
    margin: 0;
    min-width: 10rem;
    opacity: 1;
    padding: .4rem;
    position: absolute;
    right: 0;
    top: calc(100% - .2rem);
    transform: none;
    visibility: visible;
    z-index: 100001;
}

#ast-desktop-header .naturalibre-language-menu__list a,
#ast-mobile-header .naturalibre-language-menu__list a {
    border-radius: .3rem;
    color: #24382a;
    display: block;
    line-height: 1.35;
    padding: .55rem .7rem;
    text-transform: none;
    white-space: nowrap;
}

#ast-desktop-header .naturalibre-language-menu__list a:hover,
#ast-desktop-header .naturalibre-language-menu__list a:focus-visible,
#ast-desktop-header .naturalibre-language-menu__list .is-active a,
#ast-mobile-header .naturalibre-language-menu__list a:hover,
#ast-mobile-header .naturalibre-language-menu__list a:focus-visible,
#ast-mobile-header .naturalibre-language-menu__list .is-active a {
    background: #edf6ea;
    color: #225a31;
}

@media (min-width: 922px) {
    #ast-desktop-header .site-header-primary-section-center {
        position: relative;
    }

    #ast-desktop-header .naturalibre-language-menu {
        align-items: center;
        align-self: stretch;
        display: flex;
        position: static;
    }

    #ast-desktop-header .naturalibre-language-menu details,
    #ast-desktop-header .naturalibre-language-menu summary.naturalibre-language-menu__summary {
        height: 100%;
    }

    #ast-desktop-header .naturalibre-language-menu details {
        position: static;
    }

    #ast-desktop-header .naturalibre-language-menu summary.naturalibre-language-menu__summary {
        padding: 5px 0;
    }

    #ast-desktop-header .main-header-menu {
        position: static;
    }

    #ast-desktop-header ul.naturalibre-language-menu__list {
        right: .625rem;
        top: 100%;
    }

    body.naturalibre-language-en #ast-desktop-header .main-header-menu,
    body.naturalibre-localized-landing #ast-desktop-header .main-header-menu {
        flex-wrap: nowrap;
    }

    body.naturalibre-language-en #ast-desktop-header .main-header-menu > .menu-item,
    body.naturalibre-localized-landing #ast-desktop-header .main-header-menu > .menu-item {
        margin-left: .625rem;
        margin-right: .625rem;
    }

    body.naturalibre-language-en #ast-desktop-header .main-header-menu > .menu-item > .menu-link,
    body.naturalibre-language-en #ast-desktop-header .naturalibre-language-menu summary.naturalibre-language-menu__summary,
    body.naturalibre-localized-landing #ast-desktop-header .main-header-menu > .menu-item > .menu-link,
    body.naturalibre-localized-landing #ast-desktop-header .naturalibre-language-menu summary.naturalibre-language-menu__summary {
        white-space: nowrap;
    }
}

@media (max-width: 921px) {
    #ast-mobile-header .naturalibre-language-menu {
        order: -1;
        position: relative;
    }

    #ast-mobile-header .naturalibre-language-menu details {
        position: relative;
        width: 100%;
    }

    #ast-mobile-header .naturalibre-language-menu summary.naturalibre-language-menu__summary {
        box-sizing: border-box;
        line-height: 48px;
        min-height: 48px;
        padding: 0 20px;
        width: 100%;
    }

    #ast-mobile-header ul.naturalibre-language-menu__list {
        box-shadow: 0 .75rem 2rem rgba(25, 52, 33, .14);
        left: 0;
        max-height: min(52vh, 22rem);
        overflow-y: auto;
        overscroll-behavior: contain;
        position: absolute;
        right: 0;
        top: 100%;
        width: 100%;
    }
}
