@font-face {
    font-family: 'IBM';
    src: url('MxPlus_IBM_VGA_9x16.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Heraldic';
    src: url('HeraldicShadows-Regular.woff2') format('woff2');
    font-weight: normal;
    font-style: normal;
}

.fallback {
    display: none;
    font-size: 128px; 
    line-height: 128px; 
    margin: 16px; 
    font-family: 'Heraldic', serif; 
    text-align: center;
}

@media (max-width: 600px) {
    header pre {
        display: none;
    }

    pre code {
        display: block;
    }

    .fallback {
        display: block;
    }
}

/* Set the font so everything uses IBM VGA */
body, pre, code {
    font-family: 'IBM', monospace;
}

/* Default font sizing */
html {
    font-size: 16px;
}

/* Explicitly override headers and common text elements */
h1, h2, h3, h4, h5, h6, p {
    margin: 0;
}

h1 {
    font-size: 64px;
    line-height: 64px;
    margin: 0;
}

h2 {
    font-size: 32px;
    line-height: 32px;
    margin: 0;
}

h3 {
    font-size: 20px;
    line-height: 20px;
    margin: 0;
}

h4, h5, p, a, button, input, label, time {
    font-size: 16px;
    line-height: 20px;
}

h6 {
    font-size: 12px;
    line-height: 12px;
    margin: 0;
}

/* Not really necessary I don't think, but it keeps sizing consistent */
input, button {
    font-family: inherit;
    font-size: 16px;
    line-height: 16px;
}

/* Let Prism control code block typography */
pre[class*="language-"], pre[class*="language-"] *,
code[class*="language-"], code[class*="language-"] * {
    line-height: inherit;
}