@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 { margin-bottom: 1em; } main { width: 100%; max-width: $large; margin: 0 auto; flex-grow: 1; } footer { 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 { margin-bottom: 0.5em; padding: 0 0.5rem; } h1, h2, h3, h4, h5, h6 { @include heading; } h1 { border-bottom: 2px $text-color solid; } figure { margin-bottom: 1rem; img { max-width: 100%; display: block; margin: 0 auto; } figcaption { display: none; } } .nav { display: flex; flex-direction: column; 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 { } } @media screen and (min-width: $small) { flex-direction: row; hr { margin: 0 0.5em; align-self: center; } } }