/* general styling */
html {
font-family: monospace;
font-size: large;
background: linear-gradient(to bottom right, turquoise, teal);
min-height: 100%;
}
header,
footer,
article,
main nav {
border: 3px black solid;
background: turquoise;
margin: 5px;
box-shadow: 2px 2px 2px;
}
/* header and footer */
header {
text-align: center;
}
#homelink {
color: blue;
text-decoration: none;
text-transform: uppercase;
font-size: xx-large;
font-weight: bold;
}
#homelink:hover {
text-decoration: underline;
}
/* main content */
main nav {
padding: 10px;
}
article {
padding: 20px;
text-align: justify;
hyphens: auto;
/* about page is janky without this; see
* https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Floats#clearing_boxes_wrapped_around_a_float */
display: flow-root;
}
h1, h2, h3, h4, h5, h6 {
text-align: left;
}
ul {
padding-left: 2ch;
}
ol {
padding-left: 3ch;
}
ol ol {
list-style: lower-alpha
}
ol ol ol {
list-style: lower-roman
}
@media screen and (min-width: 80ch) {
/* to avoid zoom issues, grid layout is only used when mid-width is
* large enough */
body {
display: grid;
place-content: center;
}
main {
/* min-width is set due to zoom issues */
min-width: 100%;
display: flex;
align-items: start;
}
main nav {
flex: auto;
position: sticky;
top: 10px;
}
article {
/* width is set for the about page */
width: 80ch;
max-width: 80ch;
flex: auto;
}
}