/*--Page Layout--*/

body {
    overflow: hidden;
    display: grid;
    grid-template-areas:
    "header"
    "main"
    "footer";
    grid-template-rows: auto 1fr auto;
}

header {
    color: var(--black);
    background: var(--light-secondary-background);
    border-bottom: var(--element-depth) solid var(--secondary-background-shadow);
    display: grid;
    place-items: center;
    align-content: center;
    grid-area: header;
    padding: 8px;
}
header h1 {
    font-size: clamp(24px, 4vw, 32px);
    margin: 0;
    padding: 0;
    font-family: 'Minecraft Title', sans-serif;
    text-transform: uppercase;
    font-weight: 1;
    letter-spacing: 0.16px;
    white-space: pre-line;
    text-align: center;
}
header h2 {
    font-size: clamp(13px, 2.1vw, 18px);
    margin: 0;
    padding: 0;
    white-space: pre-line;
    text-align: center;
}

main {
    box-sizing: border-box;
    grid-area: main;
    overflow: auto;
    
    min-height: 0;
    height: calc(100% - 2*var(--element-spacing));
    margin: var(--element-spacing) 0 0 var(--scrollbar-space);
    padding: 0;
}

footer{
    font-size: clamp(10px, 1.3vw, 16px);
    box-sizing: border-box;
    grid-area: footer;
    width: calc(100% - var(--outline-width) * 2);
    background: var(--primary-background);
    border: none;
    border-top: var(--outline-width) solid var(--primary-background-highlight);
    border-bottom: var(--outline-width) solid var(--primary-background-shadow);
    outline: var(--outline-width) solid var(--outline);
    padding: 0 8px;
    margin: var(--outline-width);

    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    justify-content: space-between;
}
footer span:first-child {
    margin-right: 48px;
}
footer a {
    color: var(--text);
}
footer a:hover {
    color: var(--pastel-blue);
}