@font-face {
    font-family: 'Bauhaus';
    src: url("/fonts/BauhausRegular.woff2") format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Bauhaus';
    src: url("/fonts/BauhausItalic.woff2") format('woff2');
    font-style: italic;
}

html,
body {
    margin: 0;
    padding: 0;
    background-color: #1A1A1A;
}

h1 {
    color: #6f00ff;
    font-family: Bauhaus;
    font-size: 9vh;
    text-align: center;
}

h2,
h3,
h4,
h5,
h6 {
    color: white;
    font-family: Bauhaus;
}

p,
a,
li {
    color: #3f5ad0;
    font-family: Bauhaus;
}

.logo {
    max-width: 90%;
    width: auto;
    height: auto;
    object-fit: contain;

    max-width: 220px;
    max-height: 56px;
}

@media (max-width: 900px) {
    .logo {
        max-width: 180px;
        max-height: 48px;
    }
}

@media (max-width: 600px) {
    .logo {
        max-width: 140px;
        max-height: 44px;
    }
}

@media (max-width: 380px) {
    .logo {
        max-width: 120px;
        max-height: 36px;
    }
}

.fixed-height {
    height: 100dvh;
}

.grid-container-with-nav {
    display: grid;
    grid-template:
        "a a d" 12vh
        "b b c" 1fr
        "b b c" 1fr
        / 1fr 1fr 0.20fr;
    min-width: 100dvw;
    min-height: 100dvh;
}

.grid-container-blank-nav {
    display: grid;
    grid-template:
        "a a d" 12vh
        "b b ." 1fr
        "b b ." 1fr
        / 1fr 1fr 0.20fr;
    min-width: 100dvw;
    min-height: 100dvh;
}

.grid-container-no-nav {
    display: grid;
    grid-template:
        "a a d" 12vh
        "b b b" 1fr
        "b b b" 1fr
        / 1fr 1fr 0.20fr;
    min-width: 100dvw;
    min-height: 100dvh;
}

.grid-container-only-header {
    display: grid;
    grid-template:
        "a a a" 12vh
        "b b b" 1fr
        "b b b" 1fr
        / 1fr 1fr 0.20fr;
    min-width: 100dvw;
    min-height: 100dvh;
}

.header {
    grid-area: a;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #292929;
    border-bottom: 0.15rem solid #575757;
}

.header>h1 {
    margin: 0;
}

.main {
    grid-area: b;
    display: flex;
}

.stretch {
    align-items: stretch;
}

.scrollable {
    display: block;
    overflow-y: scroll;
    width: 100%;
}

.nav {
    grid-area: c;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    box-sizing: border-box;
    background-color: #292929;
    border-left: 0.15rem solid #575757;
}

.nav-button {
    font-size: 7vh;
    text-decoration: none;
    background-color: #333333;
    padding: 0.5rem;
    border-radius: 5%;
    transition: background-color 0.1s;
}

.nav-button:hover {
    background-color: #3D3D3D;
}

.home {
    grid-area: d;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #292929;
    border-bottom: 0.15rem solid #575757;
}

.column {
    flex-direction: column;
}

.center {
    display: flex;
    justify-content: center;
    align-items: center;
}

.align-center {
    display: flex;
    align-items: center;
}

.center-horizontally {
    display: flex;
    align-items: center;
}

.horizontal-padding {
    padding: 0 0.5rem;
}