--- styles: true --- // Frameworks & Imports @charset "utf-8"; @import "colors.scss"; @import "normalize"; @import "sassline-base"; @import "syntax"; @import "flex"; // Structural elements body { background: $color__site--background; color: $color__site--body; height: 100%; display: flex; @include flex-direction(column); overflow-x: hidden; } .container { width: 90%; max-width: 1200px; margin: 0 auto; } // Header, feature and footer .header, .footer { .container { padding: 1rem 0; @include flexbox; @include flex-direction(column); @include align-items(center); text-align: center; } @include breakpoint(break-1) { .container { @include flex-direction(row); @include justify-content(space-between); text-align: inherit; } } } .header { background: darken($color__site--background, 10%); } .logo { display: inline-block; line-height: 0; img { width: 4rem; height: 4rem; } } .small { padding-top: .6rem; color: $color__site--captions; display: inline-block; } .footer { border-top: 1px solid darken($color__site--background, 15%); a { color: invert($color__site--heading); &:hover { color: lighten(invert($color__site--body), 15%); } } } // Nav and copyright .nav { &--paginator { @include flexbox; @include justify-content(space-between); color: $color__site--captions; text-align: center; } } .pagination { min-width: 20%; } .copyright { @include breakpoint(break-1) { @include order(-1); } } // Main content .main { @include flexbox; @include flex-direction(column); margin-bottom: 1.6rem; @include breakpoint(break-1) { @include flex-direction(row); } } .main { @include flex(1, 0, auto); } .header, .feature, .footer { @include flex(0, 0, auto); } // Lists .list { &--posts { list-style: none; } &--nav { list-style: none; } .item--post { margin-left: 0; } } .item { &--nav { display: inline-block; margin-left: 1rem; &:first-of-type { margin-left: 0; } } &--current { a { color: $color__site--link--current; } } } // Links, icons and images .link { display: inline-block; margin: .2rem; } .icon { vertical-align: middle; width: 1em; height: 1em; fill: CurrentColor; } svg { width: 100%; height: 100%; } img { max-width: 100%; height: auto; } audio, video { width: 100%; } // Form elements and buttons button, input[type="text"], input[type="email"], input[type="submit"], textarea { padding: .6rem 1.2rem; margin-bottom: .6rem; transition: color .1s, background-color .1s, border .1s; line-height: inherit; border: none; box-shadow: none; border-radius: 0; -webkit-appearance: none; &:focus { outline: solid .2rem invert($color__site--accent); } .icon { margin: 0 0 .35rem; } } input[type="submit"], button { cursor: pointer; display: inline-block; background: $color__site--accent; position: relative; transition: box-shadow .1s; will-change: box-shadow; box-shadow: inset 0 0 0 2rem transparent; &:hover { box-shadow: inset 0 0 0 2rem rgba(0,0,0,0.2); } &:active, &:focus { box-shadow: inset 0 0 0 2rem rgba(0,0,0,0.4); } } input[type="text"], input[type="email"], textarea { width: 100%; border: 1px solid $color__site--captions; &:hover { border-color: darken($color__site--captions, 20%); } } textarea { resize: vertical; } label { @include baseline($fontsize: zeta, $font: $bodytype, $lineheight: 2, $below: 2, $breakpoint: all); } ::-webkit-input-placeholder { color: darken($color__site--captions, 30%); } ::-moz-placeholder { color: darken($color__site--captions, 30%); } :-ms-input-placeholder { color: darken($color__site--captions, 30%); } :-moz-placeholder { color: darken($color__site--captions, 30%); } ::selection { background: $color__site--heading; color: $color__site--background; text-shadow: none; } // Sassline overrides .typeset { .button, button { background-image: none; text-shadow: none; color: lighten(invert($color__site--body), 15%); &:hover, &:active, &:focus { background-image: none; color: lighten(invert($color__site--body), 15%); } } hr { width: 100%; } }