@import 'animations'; @import 'breakpoints'; @import 'colors'; @import 'fonts'; @import 'mixins'; * { font-family: Montserrat, sans-serif; box-sizing: border-box; margin: 0; padding: 0; } body { background: $background; color: $text-color; display: flex; flex-direction: column; min-height: 100vh; } h1, h2, h3, h4, h5, h6, p, ul { margin-top: 0.5em; padding: 0 0.5rem; &:last-child { margin-bottom: 0.5em; } } h1, h2, h3, h4, h5, h6 { @include heading; } h1, footer { padding-bottom: 0.2em; @include hline(250px, 4px, $primary-1, $primary-2, $primary-3); } a:not(.nav-logo) { text-decoration: none; color: $highlight-1; text-shadow: -1px 1px 0 $background, 0 1px 0 $background, 1px 1px 0 $background; @include hline(10em, 2px, $highlight-1, $highlight-2, $highlight-3); &:hover, &:focus { animation: cycle-link-background 2s steps(4) infinite 0ms; } } main { width: 100%; max-width: $large; margin: 0 auto; flex-grow: 1; } footer { background-position: right top; font-size: 0.9em; color: $text-darker; width: 100%; max-width: $large; margin: 0 auto; padding: 0.5em; display: flex; align-items: center; flex-direction: column; @media screen and (min-width: $small) { flex-direction: row; & > :first-child { margin-left: auto; } } } figure { margin: 1rem 0; img, video { max-width: 100%; display: block; margin: 0 auto; &.invert { filter: invert(100%); } &.fill { background: $fill-color; padding: 0.5em; } } figcaption { display: none; } } ul, ol { padding-left: 1.5em; li { padding: 0.2em 0; } } iframe { border: none; width: 100%; height: 100vh; display: block; margin: 1rem 0; &.aspect-178 { height: 56.25vw; max-height: $large * 0.5625; } } table { border-collapse: collapse; margin: 1rem 0; thead th { @include heading; font-weight: bold; white-space: nowrap; } thead tr, { @include hline(10em, 2px, $primary-1, $primary-2, $primary-3) } tr:not(:last-child) { border-bottom: 1px solid $primary-3; } td, th { padding: 0.2em 0.5em; text-align: left; } } .nav { display: flex; flex-flow: column wrap; justify-content: flex-end; &.nav-main { max-width: $large; margin: 0 auto; padding: 0.5em; } hr { margin: 0.5em 40%; } .nav-logo { @include heading; text-decoration: none; color: $text-color; margin: 0 auto; img { width: 48px; display: inline-block; margin-right: 1em; vertical-align: middle; } @media screen and (min-width: $small) { margin-left: 0; } } .nav-link { align-self: center; margin: 0 0.5em; padding: 0.5em 0; background-position: center bottom 0.4em; color: $text-color; font-family: Orbitron,Montserrat,sans-serif; &.nav-link-active { color: $highlight-1; } } @media screen and (min-width: $small) { flex-direction: row; hr { margin: 0 0.5em; align-self: center; } } } .date { font-style: italic; } .overflow-x-auto { overflow-x: auto; }