header {
    background-color: var(--background);
}

header #hero {
    margin: auto;
    height: 40rem;
    width: 50rem;
    display: grid;
    grid-template-columns: 1fr 4fr 4fr 5fr 1fr;
    grid-template-rows: 1.5fr 1fr 1.5fr 2fr;
}

header #title {
    display: flex;
    grid-column: 2/5;
    grid-row: 2/3;
}

header #title-bar {
    background-color: var(--primary);
    height: 2.8rem;
    width: 0.5rem;
    position: relative;
    align-self: center;
    top: -0.3rem;
}

header #title-text {
    font-size: 4rem;
    z-index: 1;
    color: var(--secondary);
    margin-left: 0.4em;
}

header #sub-title {
    margin: 0.5em;
    line-height: 1.6rem;
    font-family: "Epilogue", sans-serif;
    font-weight: 300;
    font-size: 1rem;
    z-index: 1;
    color: var(--secondary);
    grid-column: 2/4;
    grid-row: 3/4;
}

header img {
    position: relative;
    width: 100%;
    right: -5%;
    bottom: 5%;
    z-index: 0;
    mix-blend-mode: multiply;
    grid-column: 3/5;
    grid-row: 3/5;
}

#big-nav {
    height: min(18vw, 12rem);
    width: min(100vw, 70rem);
    background-color: #5E915C;
    margin: auto;
    position: relative;
    top: -8rem;
    border-radius: 1rem;
    overflow-x: hidden;
    overflow-y: visible;
    display: flex;
    justify-content: space-between;
}

#big-nav > * {
    --padding-width: max(5%, calc(var(--fs-h3) * 1.5));

    padding: 10% var(--padding-width) var(--padding-width) var(--padding-width);
    font-size: var(--fs-h3);
    color: white;
    overflow: hidden;
    width: 30%;
    transition: width .2s;
    box-shadow: -2px 0 4px rgba(50, 50, 50, 0.1);
}

#big-nav > *:hover {
    cursor: pointer;
    width: 50%;
    box-shadow: -5px 0 10px rgba(50, 50, 50, 0.2);
}

#big-nav #raw {
    width: 40%;
}

#big-nav #raw:hover {
    width: 50%;
}

#big-nav #primary {
    background-color: rgba(237, 237, 237, 0.2);
    text-shadow: 0 0 var(--fs-h3) #5E915C77;
}

#big-nav #secondary {
    background-color: rgba(237, 237, 237, 0.4);
    text-shadow: 0 0 var(--fs-h3) #5E915C88;
}

#big-nav #third {
    background-color: rgba(237, 237, 237, 0.6);
    text-shadow: 0 0 var(--fs-h3) #5E915C99;
}

footer {
    top: -5rem;
}

@media screen and (max-width: 800px) {
    header #hero {
        width: 100%;
        height: auto;
        grid-template-columns: 1fr 40vw 30vw 2fr;
        grid-template-rows: minmax(7rem, 1fr) auto 1.5fr 2fr;
        overflow-x: clip;
    }

    header #title {
        flex-direction: column;
    }

    header #title-text {
        font-size: max(12vw, 2rem);
        margin-left: 0;
    }

    header #sub-title {
        font-size: max(5vw, 1rem);
        line-height: max(8vw, 1.5rem);
        margin: 0;
        padding-top: max(6vw, 0.4rem);
    }

    header #title-bar {
        height: max(2vw, 0.5rem);
        width: max(15vw, 2rem);
        align-self: flex-start;
        top: max(-3vw, -1.2rem);
    }

    br.responsive {
        display: none;
    }

    #big-nav {
        border-radius: 0;
        top: -12vw;
    }

    header img {
        bottom: 0;
        right: 120%;
        width: 255%;
        grid-column: 2/5;
        grid-row: 3/5;
        align-self: end;
    }
}

@media screen and (max-width: 30rem) {
    #big-nav {
        background-color: var(--neutral-100);
    }

    #big-nav > div {
        display: none;
    }
}