.nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: calc(var(--nav-width) + var(--gap) * 2);
    margin-inline-start: auto;
    margin-inline-end: auto;
    line-height: var(--header-height);
}

.nav a {
    display: block;
}

.logo,
#menu {
    display: flex;
    margin: auto var(--gap);
}

.logo {
    flex-wrap: inherit;
}

.logo a {
    font-size: 24px;
    font-weight: 700;
}

.logo a img, .logo a svg {
    display: inline;
    vertical-align: middle;
    pointer-events: none;
    transform: translate(0, -10%);
    border-radius: 6px;
    margin-inline-end: 8px;
}

button#theme-toggle {
    font-size: 26px;
    margin: auto 4px;
}

body.dark #moon {
    vertical-align: middle;
    display: none;
}

body:not(.dark) #sun {
    display: none;
}

#menu {
    list-style: none;
    word-break: keep-all;
    overflow-x: auto;
    white-space: nowrap;
}

#menu li + li {
    margin-inline-start: var(--gap);
}

#hamburger-input {
    display: none;
}

#hamburger-menu {
    display: none;
    width: 18px;
    height: 18px;
    margin: auto;
    margin-right: 13px;
    margin-left: 13px;
    background: linear-gradient(
        var(--primary), var(--primary) 20%, 
        #ffffff00 20%, #ffffff00 40%, 
        var(--primary) 40%, var(--primary) 60%, 
        #ffffff00 60%, #ffffff00 80%, 
        var(--primary) 80%, var(--primary) 100%
      );
    z-index: 10001;
    cursor: pointer;
}

@media screen and (max-width: 900px) {
    #menu {
        display: none;
    }

    #hamburger-menu {
        display: inline;
    }

    #hamburger-input:checked ~  #hamburger-menu {
        background: none;
    }

    #hamburger-input:checked ~ #hamburger-menu:after {
        content: "\00d7";
        position: fixed;
        font-size: 28px;
        line-height: 0;
        top: 28px;
    }

    #hamburger-input:checked ~ .overlay {
        visibility: visible;
    }

    #hamburger-input:checked ~ #menu {
        display: block;
        width: 80%;
        margin: auto;
        position: fixed;
        top: 50%;
        left: 50%;
        margin-right: -50%;
        transform: translate(-50%, -50%);
        z-index: 10002;
    }

    #menu li {
        text-align: center;
    }

    #menu li + li {
        margin-inline-start: 0;
    }
}

.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    visibility: hidden;
    overflow: hidden;
    background: var(--theme);
    z-index: 10000;
}

#menu a {
    font-size: 16px;
}

#menu .active {
    font-weight: 500;
    border-bottom: 2px solid currentColor;
}

.lang-switch li,
.lang-switch ul,
.logo-switches {
    display: inline-flex;
    margin: auto 4px;
}

.lang-switch {
    display: flex;
    flex-wrap: inherit;
}

.lang-switch a {
    margin: auto 3px;
    font-size: 16px;
    font-weight: 500;
}

.logo-switches {
    flex-wrap: inherit;
}

#progressBar {
    --scrollAmount: 0%;
    width: var(--scrollAmount);
    height: 3px;
    background-color: #1e8cdb;
    position: fixed;
    z-index: 9999;
}