body { font-family: 'Montserrat', sans-serif; } h1, h2, h3, h4, h5 { font-family: 'Merriweather', serif; } body { display: flex; width: 99vw; margin: 0 auto; } img { max-width: 100%; max-height: 100vh; } blockquote { margin: 0; padding-left: 2em; border-left: 3px solid lightgray; } aside h1 { font-size: 16pt; text-decoration: underline; font-variant: small-caps; } @media screen and (max-width: 800px) { body { flex-direction: column-reverse; } nav, main { padding: 0 2em; } aside { border-top: 1px solid gray; } aside h1 { text-align: center; } aside li { display: inline-block; } } @media screen and (min-width: 800px) { aside { display: flex; flex: 0 0 18vw; flex-direction: column; justify-content: space-between; min-height: 100vh; border-right: 1px solid gray; } nav { padding: 0 1em; } main { padding: 0 2em; flex-grow: 1; /* god dammit flexbox */ min-width: 1px; } } nav ul { list-style: none; padding-left: 0; } nav li { margin: .5em 0; } nav .file { font-style: italic; opacity: .8; } footer { padding: 1em 0; color: gray; } aside footer { text-align: center; } aside footer a { color: gray; } main footer { text-align: right; } pre, code { background: rgb(248, 248, 252); } code { padding: .05em; } pre { padding: 1em; overflow-x: auto; word-wrap: normal; }