﻿/* Shared layout and interaction adjustments to the original styles. */
.shell-content { clear: both; }
@media screen and (min-width: 1001px) {
    /* Give language selection its own column instead of floating it over
       the full-width menu. Preserve logo and text sizes. */
    div#container {
        display: grid;
        grid-template-columns: minmax(0, 1fr) max-content;
        column-gap: 24px;
        align-items: start;
    }
    header#page-header {
        grid-column: 1;
        grid-row: 1;
        display: flex;
        column-gap: 30px;
        align-items: flex-start;
        min-width: 0;
    }
    header#page-header h2#logo { width: 195px; flex: 0 0 195px; }
    #main-menu { width: auto; flex: 1; min-width: 0; padding: 0; }
    #main-menu ul.ul-level-1 { display: flex; gap: 30px; }
    #main-menu li.li-level-1 { flex: 0 0 auto; }
    #main-menu a.level-1.link span { margin-left: 0; margin-right: 0; }
    #lang {
        grid-column: 2;
        grid-row: 1;
        left: auto;
        top: auto;
        float: none;
        margin: 1.5em 0 0;
    }
    #lang ul { position: relative; }
    #lang li { margin-left: 0; }
}
[hidden] { display: none !important; }
#main-menu li:focus-within > .ul-level-2 { display: block; }
.custom-opener { display: none; }
/* Geometry originally applied by Cycle during initialization, even for one slide. */
#slideshow-content > .slideshow-frame {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 1;
}
@media screen and (max-width: 640px) {
    /* The original mobile first level is initially visible. */
    #main-menu:not(.menu-open) #main-menu-list,
    #main-menu:not(.menu-open) .custom-opener { display: none; }
    #main-menu .custom-opener { display: block; }
    #main-menu .ul-level-2,
    #main-menu li:focus-within > .ul-level-2 { display: none; }
    #main-menu.products-open .ul-level-2 { display: block; }
}



