.nav-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    column-gap: 20px;
    row-gap: 20px;
    padding: 1em 0;
}

.grid-item-container {
    background-size: cover;
    background-color: #CC263376;
    background-blend-mode: multiply;
    border-radius: 0.25em;
    position: relative;
    cursor: pointer;
    transition: 0.25s;
    width: 100%;
    height: var(--nav-height);
}

.grid-item-container:hover {
    -webkit-box-shadow: -0.5em 0.5em 0px 0px var(--second-red);
    -moz-box-shadow: -0.5em 0.5em 0px 0px var(--second-red);
    box-shadow: -0.5em 0.5em 0px 0px var(--second-red);
    transform: translate(0.5em, -0.5em);
}

.grid-item-container:active {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    transform: unset;
    transition: 0.1s;
}


.title-container {
    position: absolute;
    width: fit-content;
    max-width: 90%;
    top: 50%;
    left: 50%;
    transform: translate(calc((50% + 0.3em) * (-1)), -50%);
    text-align: center;
}

.nav-header {
    font-family: var(--graph-ff);
    font-size: 200%;
    text-transform: uppercase;
    background-color: var(--primary-color);
    color: #ffffff;
    box-shadow: 0.3em 0 0 var(--primary-color), -0.3em 0 0 var(--primary-color);
    margin-left: 0.3em;
    line-height: 1.3;
    -webkit-box-decoration-break: clone;
    -moz-box-decoration-break: clone;
    box-decoration-break: clone;
    display: inline;
    padding: 0.2em 0px 0.3em 0px !important;
}

@media only screen and (max-width: 980px) {
    .nav-grid {
        grid-template-columns: 1fr 1fr;
    }

    .nav-header {
        font-size: 300%;
    }
}

@media only screen and (max-width: 420px) {
    .nav-grid {
        grid-template-columns: 1fr;
    }
}