* { 
    box-sizing: border-box; 
}

html {
    max-width:        960px;
    margin:           auto;
    font-family:      Monaco, Consolas, Monospace;
    font-style:       normal;
    background-color: rgb(128, 128, 128);
}

header {
    color:            black;
    background-color: rgb(192,192,192);
    border:           2px solid black;
    text-align:       center;
}

header h1 {
    font-size: 40px;
}

nav {
    font-size: 30px;
    color:     white;
}

nav p,
nav a:link,
footer a:link {
    color: red;
    background-color: rgb(0, 0, 0);
    padding:    10px;
    text-align: center;
}

nav a:visited,
footer a:visited {
    color: red;
}

nav a:hover, 
nav a:active,
footer a:hover, 
footer a:active {
    color: white;
}


main {
    background-color: rgb(64, 64, 64);
    color:            rgb(256, 256, 256);
    font-size:        16px;
    margin-top:       5px;
    margin-bottom:    5px;
    padding-left:     80px;
    padding-right:    80px;
    text-align:       left;
    border:           2px solid black;
}

li {
    font-size:   16px;
    white-space: break-spaces;
    line-height: 1em;
    margin-bottom: 0.1em;
}

dd, dt {
    font-size:   16px;
    white-space: break-spaces;
    line-height: 1em;
}

figure {
    font-size: 16px;
}


main a:link {
    color:            rgb(256, 256, 256);
    background-color: initial;
}

main
a:visited {
    color: rgb(224, 224, 224);
}

main
a:hover,
a:active {
    color: red;
}


main img {
    image-rendering: pixelated;
    image-rendering: crisp-edges;
    /* -ms-interpolation-mode: nearest-neighbor; */
}

main p {
    line-height: 1.4em;
}

main h2 {
    font-size:      30px;
    text-align:     center;
    padding-top:    1em;
    padding-bottom: 1em;
    border-top:     4px rgb(100, 100, 100) solid;
    border-bottom:  4px rgb(100, 100, 100) solid;
}

main h3 {
    font-size:   26px;
}


h2 + h3 {
    padding-top: 1em;
}

main h4 {
    font-size: 18px;
}

p + img,
img + p,
p + figure,
figure + p {
    padding-top: 1em;
}

p + pre {
    padding-top: 1em;
}


p + h3,
pre + h3,
img + h3,
figure + h3 {
    margin-top:  2em;
    padding-top: 2em;
    border-top:  4px solid rgb(100, 100, 100);
}

p + h4,
pre + h4,
img + h4,
figure + h4 {
    margin-top:  2em;
    padding-top: 2em;
    border-top:  1px solid rgb(100, 100, 100);
}

footer {
    background-color: rgb(64,64,64);
    border: 2px solid rgb(0, 0, 0);
    padding-top: 15px;
    padding-bottom: 15px;
}

footer p {
    color: red;
    background-color: rgb(0, 0, 0);
    padding: 10px;
    text-align: center;
}