body { font-family: Cantarell, sans; position: relative; } h1, h2, h3, h4, h5, h6 { font-family: 'Roboto Condensed', sans; } footer { color: #999; text-align: center; margin-top: 2rem; } a { color: black; } a:hover { color: orange; } #nav h1 { margin: 0; padding: 0; font-size: 1.5rem; } #content h1 { font-size: 2.4rem; } #content h2 { font-size: 2rem; } #content h3 { font-size: 1.5rem; } #content h4 { font-size: 1.35rem; } #content h5 { font-size: 1.35rem; font-weight: normal; text-decoration: underline; } #content h6 { font-size: 1rem; font-weight: normal; font-variant: small-caps; } #content h1.title { text-align: center; width: 100%; } /* common between xsmall, small, and med */ @media screen and (max-width: 1200px) { #nav { border-top: solid thin gray; padding-top: 1rem; position: absolute; } #nav h1, #nav ul { width: 14rem; margin: 0 auto; } #nav h1 { font-size: 1.5rem; } footer { position: absolute; bottom: 0; width: 100%; } } /* common between xsmall and small */ @media screen and (max-width: 640px) { #content h1 { font-size: 2rem; } #content h2 { font-size: 1.67rem; } #nav ul { font-size: 1.5rem; padding-left: 3rem; } } /* xsmall */ @media screen and (max-width: 320px) { html { font-size: 10px; } body { width: 100%; margin: 2px; padding-bottom: 14rem; } #nav { width: 100%; bottom: 3rem; } } /* small */ @media screen and (min-width: 321px) and (max-width: 640px) { html { font-size: 12px; } body { margin: 1vw auto; width: 40rem; max-width: 96%; padding-bottom: 12rem; } #nav { width: 40rem; max-width: 96%; bottom: 1.5rem; } } /* medium */ @media screen and (min-width: 641px) and (max-width: 1200px) { html { font-size: 16px; } body { margin: 2vw auto; width: 40em; padding-bottom: 11rem; } #nav { width: 40rem; bottom: 2rem; } } /* large */ @media screen and (min-width: 1201px) { html { font-size: 1.2vw; } body { margin: 2vw auto; width: 40em; } #nav { position: fixed; left: calc(50% - 36em); top: 2vw; margin: 0; padding: 0; } }