
#page.pageLayout3
{
    --teaserHeight: calc(75vh - var(--headerHeight) - 10rem);;
}

#page.turquoisePage
{
    --teaserHeight: calc(86vh - var(--headerHeight) - 10rem);;
}

#mainContent
{
    min-height: calc(100vh - (var(--teaserHeight) - 120px) ) !important;
}

.mobileMenuSubSelector,
.sub-menu-toggle,
li.level2.hasSub a.menuLinkLevel2:after
{
    display: none;
}

@keyframes moveHeaderDown
{
    from
    {
        transform: translateY(-100%);
    }
    to
    {
        transform: translateY(0);
    }
}

#headerWrapper
{
    z-index: 310;
}

#header
{
    align-items: flex-end;
    justify-content: flex-start;
    column-gap: 0.8em;
}

#mainMenu a.menuLinkLevel1
{
    color: #fff;
}

.pastTeaser #headerWrapper
{
    background-color: var(--tertiaryclr);
    position: fixed;
    animation: moveHeaderDown 1s ease-in-out;
}

.pastTeaser #headerWrapper #mainMenu a.menuLinkLevel1
{
    color: #fff;
}

#mainMenuWrapper .current-item a.menuLinkLevel1
{
    border-bottom: 1px #fff solid;
}

#mainMenu li.level1:hover a.menuLinkLevel1,
.pastTeaser #headerWrapper #mainMenu li.level1:hover a.menuLinkLevel1
{
    color: var(--primaryclr);
    background-color: #F0F0F0;
    /* border-radius: unset; */
}

#menuOuterWrapper
{
    width: 100%;
}

#mainMenu
{
    gap: unset;
}

#mainMenuWrapper li.level1
{

}

#mainMenuWrapper .current-item a.menuLinkLevel1
{
    margin-top: 2px;
    padding-bottom: 2px;
}

#mainMenuWrapper .current-item a.menuLinkLevel1:hover
{
    margin-top: 0;
    padding-bottom: 0;
}

#mainMenu
{
    --_gap: 2rem;
    display: flex;
    margin: 0;
    padding: 0;
    list-style: none;
}

li.level1:hover,
.menuLinkLevel1:hover
{
    /* background: transparent !important; */
    border: none !important;
}

#mainMenu .menuLinkLevel1
{
    color: var(--primaryclr);
    font-weight: 500;
    font-family: var(--menuFont);
    font-size: 1.4em;
    mix-blend-mode: darken;
}

.menuLinkLevel1
{
    opacity: 1;
    text-decoration: none;
    text-transform: uppercase;
}
.menuLinkLevel1:hover,
.menuLinkLevel1:focus-visible
{
    opacity: 1;
}

.menuLinkLevel1
{
    overflow: hidden;
    position: relative;
    /*padding-inline: calc(var(--_gap) / 2);*/
    min-inline-size: 3rem;
    /* border-top-left-radius: 1rem;
    border-top-right-radius: 1rem; */
}

.menuLinkLevel1::after
{
    content: '';
    position: absolute;
    inset-inline: 0;
    inset-block-end: 0.5em;
    block-size: 2px;
    background-color: var(--primaryclr);

    translate: var(--_translate, 0);
    scale: var(--_scale, 0) 1;
    transition:
            scale 100ms var(--_scale-delay, 0ms),
            translate 200ms;
}

/* A previous sibling is hovered */
#mainMenu li:hover ~ li
{
    --_translate: -100%;
    --_scale-delay: 200ms;
}

/* Any other sibling is hovered */
#mainMenu:hover li.level1
{
    --_translate: 100%;
    --_scale-delay: 200ms;
}

/*
  The actually hovered <li>

  NOTE: same specificity as previous selector, so it must either come after or be artificially inflated (eg. :hover:hover)
*/
#mainMenu li.level1:hover
{
    --_scale: 1;
    --_translate: 0;
    --_scale-delay: 0ms;
}

.notouch #mainMenuWrapper ul.level1 li.level1:hover ul.level2,
#mainMenuWrapper ul.level1 li.level1.opened ul.level2
{
    box-shadow: unset;
}

#mainMenuWrapper li.level1 ul.level2
{
    position: relative;
    top: auto;
    margin-left: 0;
    margin-top: 0;
    padding: 0;

    transition-delay: 0.6s;
}

#mainMenuWrapper li.level1 ul.level2.mediumSubMenu
{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-column-gap: 1rem;
}

.subMenu1OuterWrapper
{
    position: absolute;
    top: 2.5em;
    left: 0;
    width: auto;
    min-width: 100%;
    margin-top: 1.5em;
    padding-top: 0;
    /*background-color: white;*/
    transition: padding-top 1s ease-in-out;
}

.subMenuWrapper
{
    max-height: 0;
    height: auto;
    background-color: white;
    border-radius: 1rem;
    overflow: hidden;
}

.subMenuWrapper h3
{
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
    margin-top: 0;
    margin-bottom: 0;
    color: var(--bs-primary);
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    background-color: var(--tertiaryclr);
}

li.level1:hover .subMenuWrapper
{
    max-height: 80vh;
    overflow: visible;
}

li.level1:hover .subMenu1OuterWrapper.hasMediaFile,
.subMenu1OuterWrapper.hasMediaFile:hover
{
    left: -18rem;
    padding-top: 0.8rem;
}

#mainMenuWrapper li.level1.current-item li.level2
{
    background-color: transparent;
    border-left: none;
}

.hasMediaFile .subMenu1InnerWrapper
{
    transition: all 1s ease-in;
}

li.level1:hover .hasMediaFile .subMenu1InnerWrapper,
li.level1 .hasMediaFile:hover .subMenu1InnerWrapper
{
    display: grid;
    grid-template-columns: auto auto;
    column-gap: 2em;
    width: max-content;
    padding-block: 1.5rem;
    padding-inline: 2rem;
}

.submenu1InfoImage
{
    width: 18rem;
    height: 0;
    max-height: 0;
    margin-top: auto;
    margin-bottom: auto;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    transition: max-height 200ms ease-in-out, height 200ms ease-in-out;
}

#mainMenu li.level1:hover .submenu1InfoImage
{
    width: 18rem;
    height: 100%;
    max-height: 80vh;
    min-height: 8rem;

    border-bottom-left-radius: 0.8rem;
}

.notouch #mainMenuWrapper ul.level1 li.level1:hover .hasMediaFile ul.level2
{
    transition: all 1s ease-in-out;
}

.notouch #mainMenuWrapper ul.level1 li.level1 .hasMediaFile ul.level2
{
    min-width: 12rem;
    transition: all 0s;
}

.menuSubtitle
{
    padding-block: 1rem;
    color: #fff;
    font-size: 1.25rem;
    background-color: var(--tertiaryclr);
}

.subMenuWrapper
{
    /*border-radius: unset;*/
}

li.level1.hasSub:hover .subMenuWrapper
{
    /*border: 1px solid var(--primaryclr);*/
    -webkit-box-shadow: 5px 5px 20px 10px rgba(0,0,0,0.6);
    box-shadow: 5px 5px 20px 10px rgba(0,0,0,0.6);
}

li.level1:hover .hasMediaFile .subMenu1InnerWrapper
{
    padding-block: 0;
    padding-inline: 0;
    border-bottom-left-radius: 0.8rem;
    border-bottom-right-radius: 0.8rem;
}

#mainMenu li.level1:hover .submenu1InfoImage
{
}

.notouch #mainMenuWrapper ul.level1 li.level1:hover .hasMediaFile ul.level2
{
    padding-right: 2rem;
    padding-block: 1.5rem;
}

#mainMenuWrapper li.level1 li.level2,
#mainMenuWrapper li.level1 .mediumSubMenu li.level2
{
    border-bottom: 1px solid var(--tertiaryclr);
}

#mainMenuWrapper li.level2:hover ul.level3
{
    border-radius: 0.5rem;
    -webkit-box-shadow: 5px 5px 20px 10px rgba(0,0,0,0.6);
    box-shadow: 5px 5px 20px 10px rgba(0,0,0,0.6);
}

.mediumSubmenuLevel3
{
    column-count: 2;
    background-color: white;
    font-size: 0.9em;
}

.mediumSubmenuLevel3 > li
{
    width: auto !important;
}

.mediumSubmenuLevel3 > li > a
{
    display: block;
    width: 100%;
    padding-right: 1rem;
}

@media (max-width: 1024px)
{
    .menuItem5
    {
        display: none;
    }
}
