#mainContent
{
    min-height: calc(100vh - (var(--teaserHeight) - 120px) ) !important;
}

.mobileMenuSubSelector,
.sub-menu-toggle,
li.level2.hasSub a.menuLinkLevel2:after
{
    display: none;
}

#headerWrapper
{
    z-index: 310;
}

#header
{
    align-items: flex-end;
    justify-content: flex-start;
    column-gap: 0.8em;
}

#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;
}

.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(--hblightGrey);
}

li.level1:hover .subMenuWrapper
{
    max-height: 80vh;
    overflow: visible;
}

li.level1:hover .subMenu1OuterWrapper.hasMediaFile,
.subMenu1OuterWrapper.hasMediaFile:hover
{
    left: -18rem;
    padding-top: 3rem;
}

#mainMenuWrapper li.level1.current-item li.level2
{
    background-color: transparent;
    border-left: none;
}

.hasMediaFile .subMenu1InnerWrapper
{
    padding-block: 0;
    padding-inline: 0;
    border-radius: 0;
}

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: 2px white solid;
    -moz-border-radius-bottomleft: 0.5rem;
    border-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;
}

@media (max-width: 1024px)
{
    .menuItem5
    {
        display: none;
    }
}
