* {
    flex-shrink: 0; flex-grow: 0;
    box-sizing: border-box;

    min-width: 0; min-height: 0;

    overflow: hidden;
}

html {font-size: 1vh;}
html, body {
    width: 100vw; height: 100vh;
    margin: 0; padding: 0;

    position: absolute;
    top: 0; left: 0;
}

body {
    display: flex;

    background-color: var(--bg1);

    flex-direction: column;
    justify-content: space-between;
}

header, main, footer {
    display: flex;

    width: 100%;

    border: 2px; border-color: var(--b1);
    background-color: var(--bg2);

    justify-content: center;
    align-items: center;
}

header {border-style: none none solid none;}

main {
    flex-shrink: 1;

    height: 100%;
    margin: 5vh 0;

    background-size: contain;
    background-position: center;
    background-blend-mode: color-burn;

    border-style: solid none;

    flex-direction: column;
}

footer {
    border-style: solid none none none;
}

h1, h2, h3, p, a {
    margin: 0; padding: 0;

    color: var(--t1);

    font-family: "Roboto Condensed";
    text-decoration: none;
    text-align: center;
}

h1 {
    font-weight: 900;
    font-size: 10rem;
    line-height: 12rem;
}

h2 {
    font-weight: 500;
    font-size: 8rem;
    line-height: 10rem;
}

h3 {
    font-weight: 500;
    font-size: 6rem;
    line-height: 8rem;
}

p, a {
    font-weight: 400;
    font-size: 4rem;
    line-height: 6rem;
}

a {cursor: pointer;}

@media (max-aspect-ratio: 1/1) {
    h1 {
        font-size: 6rem;
        line-height: 8rem;
    }
}

footer > * {
    margin: 0 1rem;

    font-weight: 200;
}

footer > p {
    font-size: 2rem;
    line-height: 4rem;

    filter: brightness(1.7);
    
    cursor: default;
}

footer > a.blocked {
    filter: brightness(0.7);

    cursor: not-allowed;
}