:root {
    --top-bar-height: 4rem;
    --total-header-height: 11rem;
    --page-width: 60vw;
    --body-color: white;
    --accent-color: #be0f34;
    --subaccent-color: black;
    --extra-color: #62c2f3;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--accent-color);
}

body {
    font-family: 'Montserrat', sans-serif;
    color: var(--subaccent-color, black);
    background-color: #d3d3dc;
    margin: 0;
}

li {
    margin: 0.5rem 0;
}

main {
    max-width: var(--page-width);
    min-width: 70rem;
    margin: 0 auto;
    background-color: var(--body-color);
}

@media screen and (max-width: 69rem) {
    main {
        max-width: 100% !important;
        min-width: 100% !important;
    }
}

iframe {
    border: none;
}

#header {
    position: sticky;
    left: 0;
    top: 0;
    width: 100%;
    height: var(--total-header-height);
    z-index: 1;
}

#footer {
    width: 100%;
    height: 12rem;
    background-color: var(--body-color);
}

div#content {
    left: 0;
    bottom: 0;
    overflow: auto;
    margin: 0 1.5rem;
}

div#content span {
    font-weight: bold;
}

.hidden {
    display: none;
}

.loading {
    background-image: linear-gradient(to bottom right, lightgray, darkgray, lightgray);
    background-size: 200% 200%;
    animation-name: loading;
    animation-duration: 2s;
    animation-iteration-count: infinite;
    animation-timing-function: linear;
}

@keyframes loading {
    0% {
        background-position: 0 0;
    }
    25% {
        background-position: 25% 25%;
    }
    50% {
        background-position: 50% 50%;
    }
    75% {
        background-position: 75% 75%;
    }
    100% {
        background-position: 100% 100%;
    }
}