*, *::before, *::after { box-sizing: border-box; } *:target { animation: target-fade 3s 1; } @keyframes target-fade { 0% { background: var(--accent-color); } 100% { background: unset; } } body { margin: 0 auto; max-width: var(--content-width); padding: 1rem; } nav { margin: 1rem auto; } h1 { margin: 1rem auto; } article { h1 { margin: 1rem auto; } h2 { margin-top: 3rem; } h3 { margin-top: 2rem; } h1, h2, h3 { margin-bottom: 1rem; } } /* Text formatting */ h1, h2, h3, h4, h5, h6 { font-family: var(--header-family); line-height: 1.25; } a { color: var(--accent-color); text-decoration: none; &:hover { color: var(--base0C); text-decoration: underline; } } dd, li, p, td { line-height: 1.45; } p { margin-top: 1rem; } dd { margin-top: 0.5rem; margin-bottom: 1.5rem; } kbd { border: var(--border-style); font-size: 0.8em; font-weight: bold; padding: 0 0.25em; } code, pre { font-family: var(--mono-family); } code { background: var(--base01); font-size: 0.9em; } pre { color: var(--base05); border: var(--border-style); font-size: 1rem; line-height: 1.5; margin-top: 1rem; margin-bottom: 1rem; max-height: var(--code-block-size); padding: 0.5rem; overflow: auto; direction: ltr; code { background: unset; } } mark { background: var(--foreground); color: var(--background); } hr { border-color: var(--accent-color); margin: 1em 0; } /* Multimedia blocks */ img, video, audio, iframe { display: block; height: auto; max-width: 100%; margin: auto; } table { border-collapse: collapse; border-spacing: 0.5em; margin: auto; overflow: auto; width: 100%; border: var(--border-style); margin: var(--vertical-rhythm) auto; caption { margin: unset; } thead tr { background: var(--base05); color: var(--base00); } tbody { tr + tr, tr:first-child { border-top: var(--border-style); } tr:hover { background: var(--selection-color); } } th, td { padding: 0.5em; } tr td > p { margin: 0; } } @mixin table-item-align { text-align: left; } thead { font-weight: bold; & tr th { @include table-item-align; } } tbody { & tr td { @include table-item-align; } } ol, ul { line-height: 1.5; } figure { margin: 2rem auto; & > * { margin: 1rem auto; } } figcaption { text-align: center; font-size: 1rem; } blockquote { margin: 2rem 1rem; } blockquote footer { display: block; width: 100%; } /* Form controls */ button { background: unset; border: var(--base05) solid 1px; color: var(--base05); cursor: pointer; font-size: 1rem; padding: 0.5rem; } /* Semantic blocks */ aside { --vertical-rhythm-reduction: 0.2; color: var(--base03); border: 1px solid var(--base03); border-left: 3px solid var(--base03); font-size: calc(1rem * (1 - var(--vertical-rhythm-reduction))); font-family: var(--header-family); line-height: calc(1rem * (1 + var(--vertical-rhythm-reduction))); margin: 1rem 0; padding: 0.5rem; width: 100%; } header, footer { a[href]::after { content: unset; } } footer { align-items: center; display: flex; flex-flow: column wrap; justify-content: space-evenly; text-align: center; } @media print { html { overflow: auto; } p { orphans: 3; } pre { max-height: unset; } }