:root {
    --navbar-inner-height: 10vh;
    --navbar-padding: 10px;
    --navbar-height: calc(var(--navbar-inner-height) + var(--navbar-padding));
}

#navbar {
    position: fixed;
}
nav ul {
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
}
nav.nav_opened ul {
    background-color: var(--color-blue);
}
nav.nav_closed li {
    display: none;
}
nav.nav_opened li {
    display: flex;
}
nav li {
    width: 90vw;
    justify-content: center;
    align-items: center;
    height: var(--navbar-inner-height);
    padding-left: 5vw;
    padding-right: 5vw;
}
nav li#nav_menu {
    display: flex;
}
nav li#nav_menu a {
    display: flex;
    align-items: center;
    flex-direction: row;
}
nav a#nav_menu_btn {
    display: block;
    flex-grow: 0;
    width: var(--navbar-inner-height);
    justify-content: flex-start;
}
nav a#nav_logo {
    display: block;
    flex-grow: 1;
    justify-content: center;
}
nav a#nav_logo img {
    margin-left: calc(-1 * var(--navbar-inner-height)); /* move logo to the center */
}
nav li a {
    font-size: calc(var(--navbar-inner-height) * 0.4);
    align-items: flex-start;
    border-top: 2px solid var(--color-white);
}

nav li#nav_menu a {
    border-top-width: 0px;
}

nav li.active {
    background-color: rgba(255,255,255,.3);
}