:root {
    --navigation-bar-opacity: 1;
}

.navigation-bar * {
    margin: 0;
    padding: 0;
}

.navigation-bar {
    position: fixed;
    display: table;

    top: 0;
    margin: 0;
    padding: 0;

    list-style-type: none;

    width: 100%;
    height: 55px;
    
    box-sizing: border-box;
    z-index: 999;
}

.navigation-bar::before {
    position: absolute;
    display: block;

    content: "";

    height: 100%;
    width: 100%;

    background-color: var(--color-primary-01);
    opacity: var(--navigation-bar-opacity);

    z-index: -1;
}

.navigation-bar li {
    display: table-cell;
    text-align: left;
    vertical-align: middle;
    height: 100%;
    padding: 0px 10px;
}

.navigation-bar li:nth-child(-n + 2) {
    opacity: var(--navigation-bar-opacity);
}

.navigation-bar li:first-child,
.navigation-bar li:nth-child(n + 3) {
    width:0.1%;
}

.navigation-bar li h1 {
    font-size: 36px;
    font-weight: 100;
}

.navigation-bar a {
    text-decoration: none;
    color: black;
}

.navigation-bar li.invert a {
    color: var(--color-tertiary-01);
}

.navigation-bar svg {
    height: 50px;
    width: auto;
}

.navigation-bar .stroke {
    fill: transparent;
}

.navigation-bar .fill {
    fill: black;
}

.navigation-bar li:nth-child(n + 3) a {
    font-weight: 200;

    background-image: linear-gradient(black 0 0);
    background-position: 0 100%;
    background-size: 0% 1px;
    background-repeat: no-repeat;
    transition:
        background-size 0.3s,
        background-position 0s 0.3s;
}

.navigation-bar li:nth-child(n + 3) a:hover {
    background-position: 100% 100%;
    background-size: 100% 1px;
}

@media only screen and (max-width: 768px) {
    .navigation-bar li a {
        font-size: 14px;
    }
    
    .navigation-bar li h1 {
        font-size: 24px;
    }
}