.text_white {
    color: #eeeeee;
}

.text_black {
    color: #1f1f1f;
}

* {
    transition-duration: 0.2s;
}

body {
    margin: 0;
    padding: 0;
}

h1 {
    font-size: 4em;
    font-weight: 900;
    margin-top: 0;
    margin-bottom: 8px;
}

h2 {
    font-size: 2.5em;
    font-weight: 900;
    margin-top: 0;
    margin-bottom: 8px;
}

h3 {
    font-size: 2em;
    font-weight: 900;
    margin-top: 0;
    margin-bottom: 8px;
}

p, li {
    font-size: 1.25em;
    font-weight: 500;
    margin-top: 0;
    margin-bottom: 0;
}

strong {
    font-weight: 900;
}

ul {
    margin-top: 0;
    margin-bottom: 0;
}

img {
    margin-top: 40px;
    width: 100%;
    border-radius: 4px;
    box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
}

video {
    box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.1);
}

.section {
    margin-left: 8%;
    margin-right: 8%;
    margin-top: 56px;
    margin-bottom: 56px;
}

/* Header */
.header {
    font-size: 2em;
    font-weight: 900;
    text-decoration: none;
    margin-top: 40px;
}

.header_right {
    float: right;
}

.header_right > a {
    margin-left: 24px;
}

.header_span > a {
    cursor: pointer;
    text-decoration: none;
}

.header_span > a:hover {
    color: #ef884e;
}

#menu_icon {
    display: none;
}

/* Footer */
#footer {
    background-color: #11233E;
}

#footer > div {
    margin-top: 40px;
    margin-bottom: 40px;
}

.button {
    background-color: #efe9e0;
    padding-top: 16px;
    padding-bottom: 16px;
    padding-left: 24px;
    padding-right: 24px;
    border-radius: 4px;
    border: none;
    font-size: 1.25em;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
}

.button:hover {
    background-color: #cbc1b2;
}

.icon {
    font-family: FontAwesome;
    font-weight: normal;
}

/* Fonts */
* {
    font-family: Avenir;
}

@font-face {
    font-family: Avenir;
    src: url(../fonts/Avenir-Black-03.woff2);
    font-weight: 900;
}

@font-face {
    font-family: Avenir;
    src: url(../fonts/Avenir-HeavyOblique-06.woff2);
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-family: Avenir;
    src: url(../fonts/Avenir-Heavy-05.woff2);
    font-weight: 700;
}

@font-face {
    font-family: Avenir;
    src: url(../fonts/Avenir-Medium-09.woff2);
    font-weight: 500;
}

@font-face {
    font-family: FontAwesome;
    src: url(../fonts/FontAwesome5Pro-Regular-400.woff2);
    font-weight: 400;
}

@font-face {
    font-family: FontAwesome;
    src: url(../fonts/FontAwesome5Pro-Solid-900.woff2);
    font-weight: 900;
}

/* Tablet */
@media only screen and (max-width: 992px) {
    h1 {
        font-size: 3em;
    }

    h2 {
        font-size: 1.5em;
    }

    h3 {
        font-size: 1.25em;
    }

    p, li {
        font-size: 1em;
    }

    .header {
        font-size: 1.5em;
    }

    .button {
        font-size: 1em;
    }
}

/* Mobile */
@media only screen and (max-width: 480px) {
    h1 {
        font-size: 3em;
    }

    h2 {
        font-size: 2em;
    }

    p, li {
        font-size: 1em;
    }

    .header {
        font-size: 1.5em;
    }

    .button {
        font-size: 1em;
    }

    * {
        flex-direction: column;
    }

    footer > div {
        gap: 16px;
    }

    .section {
        margin-top: 40px;
        margin-bottom: 40px;
    }

    /* Mobile footer */
    #left_footer > span:nth-child(2), #right_footer > span:nth-child(1) {
        display: none;
    }

    #left_footer::after {
        content: 'Back';
    }

    #right_footer::before {
        content: 'Next';
    }

    #footer > div {
        flex-direction: row;
        margin-top: 24px;
        margin-bottom: 24px;
    }

    /* Mobile header */
    .header_right > a::before {
        content: '\a\a';
        white-space: pre;
    }

    .header_span > a {
        color: #ef884e;
    }

    .header_right > a {
        margin-left: 0;
    }

    .header_right {
        float: none;
    }

    #home_link span {
        display: none;
    }

    #home_link::after {
        content: 'Home';
    }

    .header {
        text-align: center;
        margin-top: 0;
        margin-bottom: 40px;
        margin-left: 0;
        margin-right: 0;
    }

    .headerItems {
        position: absolute;
        top: -40px;
        z-index: 10;
        width: 100%;
        background-color: #11233E;
        box-shadow: 0 0 8px 8px rgba(0, 0, 0, 0.4);
        padding-bottom: 40px;
        padding-top: 72px;
        overflow: hidden;
        transition: max-height 0.5s ease-in-out, padding-top 0.5s ease-in-out, padding-bottom 0.5s ease-in-out, visibility 0s;
        max-height: 300px;
        visibility: visible;
    }

    .hide_header {
        transition: max-height 0.5s ease-in-out, padding-top 0.5s ease-in-out, padding-bottom 0.5s ease-in-out, visibility 0s linear 0.5s;
        visibility: hidden;
        max-height: 0px;
        padding-top: 0px;
        padding-bottom: 0px;
        box-shadow: none;
    }

    #menu_icon {
        display: inline;
        z-index: 50;
        position: absolute;
        padding: 8px;
        /* Subtracting padding and margins */
        top: calc(-40px + 24px - 8px);
        right: calc(24px - 8px);
        font-family: FontAwesome;
        font-weight: 900;
        font-size: 24px;
        border: none;
        background-color: transparent;
    }
}
