@import 'breakpoints'; @import 'colors'; @import 'fonts'; @import 'mixins'; * { font-family: Montserrat, sans-serif; color: $text-color; box-sizing: border-box; margin: 0; padding: 0; } body { background: $background; display: flex; flex-direction: column; min-height: 100vh; } header { } main { width: 100%; max-width: $large; margin: 0 auto; flex-grow: 1; } footer { border-top: 1px solid #666; 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; } } } 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 { border-bottom: 2px $text-color solid; } 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 { padding-left: 1.5em; } iframe { border: none; width: 100%; height: 100vh; display: block; margin: 1rem 0; &.aspect-178 { height: 56.25vw; max-height: $large * 0.5625; } } .nav { display: flex; flex-flow: column wrap; justify-content: space-between; &.nav-main { max-width: $large; margin: 0 auto; padding: 0.5em; } hr { margin: 0.5em 40%; } .nav-logo { @include heading; text-decoration: none; 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; padding: 0.5em; &.nav-link-active { color: $highlight; } } @media screen and (min-width: $small) { flex-direction: row; hr { margin: 0 0.5em; align-self: center; } } } .date { font-style: italic; }