@media all and (max-width: 1200px ) {
    nav {
        position: relative;
        display: flex;
        align-items: center;
    }
    nav input {
        display: block;
        width: 1.5rem;
        height: 1.5rem;
        margin-right: -1.5rem;
        cursor: pointer;
        opacity: 0; /* hide this */
        z-index: 22; /* and place it over the hamburger */
        -webkit-touch-callout: none;
    }
    nav .hamburger {
        position: relative;
        z-index: 21;
        display: flex;
        flex-flow: column nowrap;
        justify-content: space-around;
        width: 1.5rem;
        height: 1.5rem;
        transition: transform 0.4s ease-in-out;
    }
    nav .hamburger span {
        display: block;
        background: var(--nav-border);
        width: 1.5rem;
        height: 3px;
        border-radius: 1.5px;
        position: relative;
        transition: transform 0.4s ease-in-out;
    }
    nav .hamburger span:first-child {
        transform-origin: right top;
    }
    nav .hamburger span:last-child {
        transform-origin: right bottom;
    }
    nav .hamburger span:not(:first-child):not(:last-child) {
        transform-origin: center;
    }
    .menu--wrapper {
        --mobile-background: hsla(120, 13%, 90%, 1);
        position: fixed;
        z-index: 20;
        top: var(--header-height);
        left: 100vw;
        opacity: 0;
        width: 100%;
        height: calc(100vh - var(--header-height));
        background: var(--mobile-background);
        -webkit-font-smoothing: antialiased;
        transition: left 0.4s ease-in-out, opacity 1s ease-in-out;
    }
    nav input:checked ~ .menu--wrapper {
        left: 0;
        opacity: 1;
        transition: left 0.4s ease-in-out, opacity 0.2s ease-in-out;
    }
    nav input:checked ~ .hamburger span:first-child {
        transform: rotate(-45deg);
    }
    nav input:checked ~ .hamburger span:last-child {
        transform: rotate(45deg);
    }
    nav input:checked ~ .hamburger span:not(:first-child):not(:last-child) {
        transform: scaleX(0);
    }
    .menu {
        margin-top: var(--gap-l);
        margin-left: var(--gap-m) !important;
    }
    .menu a,
    .menu span {
        color: var(--font-color);
        display: block;
        font: var(--font-h5);
        padding: var(--gap-button);
    }
    .menu-item {
        padding-top: 0;
        padding-block: 0;
    }
}

@media all and (min-width: 1201px ) {
    nav input {
        display: none;
        visibility: hidden;
        opacity: 0;
    }
    nav .hamburger {
        display: none;
        visibility: hidden;
        opacity: 0;
    }
    .menu {
        display: flex;
        flex-flow: row nowrap;
        height: calc(var(--header-height) - 1px);
        background-color: var(--header-background);
    }
    
    .menu li {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
        border: 1px solid var(--nav-border);
        border-right: 0px none;
        border-bottom: 0px none;
        padding: 0;
        background: var(--header-background);
        transition: background 0.4s ease-in-out;
    }
    .menu li:hover {
        background: var(--font-color);
    }
    .menu li:last-of-type {
        border-right: 1px solid var(--nav-border);
    }
    .menu a,
    .menu span {
        color: var(--font-color);
        display: block;
        font: var(--font-ml);
        padding-inline: var(--gap-sm);
        padding-block: 1.75rem;
        transition: color 0.4s ease-in-out;
    }
    .menu li:hover a,
    .menu li:hover span {
        color: var(--header-background);
    }
    .menu li.menu-item--active-trail {
        background: var(--button-background);
    }
}