/* The language selector shares the navigation's typography and dropdown styles. */
.ax-language-menu,.ax-language-menu * { box-sizing:border-box; }
.ax-language-menu { position:relative; display:inline-block; margin:0; font:inherit; }
.ax-language-menu > summary { display:block; cursor:pointer; list-style:none; text-align:left; }
.ax-language-menu > summary::-webkit-details-marker { display:none; }
.ax-language-menu > ul { position:absolute; right:0; top:100%; z-index:1100; width:max-content; min-width:160px; max-width:calc(100vw - 40px); margin:0; padding:0; list-style:none; }
.ax-language-menu:not([open]) > ul { display:none; }
.ax-language-menu[open] > ul { display:block; }
.ax-language-menu > ul > li { display:block; width:100%; margin:0; padding:0; border:0; }
.ax-language-menu summary:focus-visible,.ax-language-menu a:focus-visible { outline:3px solid #1264a3; outline-offset:2px; }
@media(min-width:769px) {
    /* Both triggers use one rule, so colour and type stay identical. */
    #menu .dropdown > summary,
    #menu .ax-language-menu > summary {
        color:#e0e0e0; font:inherit; margin:0 10px; padding:0; text-decoration:none;
    }
    #menu .dropdown > summary:hover,
    #menu .ax-language-menu > summary:hover { color:grey; }
    #menu .ax-language-arrow { display:none; }
    #menu .dropdown-content,
    #menu .ax-language-menu > ul {
        background-color:#f9f9f9; min-width:160px; border:0; border-radius:0;
        box-shadow:0 8px 16px rgba(0,0,0,.2);
    }
    #menu .dropdown-content a,
    #menu .ax-language-menu > ul > li > a {
        display:block; color:black; font:inherit; line-height:normal;
        margin:0 10px; padding:12px 16px; text-decoration:none; background:transparent;
    }
    #menu .dropdown-content a:hover,
    #menu .ax-language-menu > ul > li > a:hover { color:grey; }
}
@media(max-width:768px) {
    #mobile .ax-language-menu { display:block; margin:0; }
    #mobile .mobile-submenu-toggle,
    #mobile .ax-language-menu > summary {
        color:#111; background:transparent; font:inherit; font-size:x-large;
        font-weight:normal; line-height:1.5; min-height:44px; margin:0; padding:0;
    }
    #mobile .ax-language-arrow { float:right; }
    #mobile .ax-language-menu > ul { position:static; width:100%; max-width:100%; margin:8px 0 0; background:transparent; border:0; box-shadow:none; }
    #mobile .ax-language-menu > ul > li { padding:12px 0; border-bottom:1px solid #ccc; }
    #mobile a,
    #mobile .ax-language-menu > ul > li > a {
        display:block; color:black; background:transparent; font:inherit; font-size:x-large;
        font-weight:normal; line-height:1.5; min-height:44px; margin:0; padding:0;
        text-decoration:none;
    }
    #mobile a:hover,#mobile .ax-language-menu > summary:hover { color:grey; }
}
@media(min-width:769px) and (max-width:1100px) {
    .navbar .logo { left:24px; }
    .navbar #menu { right:24px; }
}
