Skip to content

Instantly share code, notes, and snippets.

@JoshBarr
Created September 29, 2014 20:58
Show Gist options
  • Save JoshBarr/ba8ccb1a7ef0bba63d47 to your computer and use it in GitHub Desktop.
Save JoshBarr/ba8ccb1a7ef0bba63d47 to your computer and use it in GitHub Desktop.
goodworld stylesheet
* {
-moz-box-sizing: border-box;
box-sizing: border-box; }
html {
background: #d0d3d6; }
body {
margin: 0;
font-family: "source sans pro", helvetica, sans-serif;
line-height: 1.5;
color: #333;
min-height: 100%;
position: relative;
background: #d0d3d6; }
/**
* ----------------------------------------------------------------------------
* Typography
* ----------------------------------------------------------------------------
*/
h1 {
font-size: 48px;
font-size: 3rem;
font-weight: 300;
margin-top: 0;
margin-bottom: 1em;
line-height: 1.4; }
h2 {
font-size: 36px;
font-size: 2.25rem;
font-weight: 400;
margin-top: 0;
margin-bottom: 1em;
line-height: 1.35; }
h3 {
font-size: 24px;
font-size: 1.5rem;
font-weight: 400;
margin-top: 0;
margin-bottom: 0.5em; }
h4 {
margin-bottom: 0.5em;
font-weight: 600;
line-height: 1.4; }
h4, p, dl, table, ul, ol {
margin-top: 0; }
h5 {
margin-top: 0;
font-size: 16px;
font-size: 1rem;
margin-bottom: 0.5em; }
h6 {
margin-top: 0;
font-size: 14px;
font-size: 0.875rem;
margin-bottom: 1em; }
p {
margin-top: 0;
margin-bottom: 24px;
margin-bottom: 1.5rem; }
a {
text-decoration: none;
color: #014d8c; }
a:hover {
color: #0169bf;
border-color: #0285f1; }
@media only screen and (max-width: 37.4375em) {
h1 {
font-size: 2rem; }
h2 {
font-size: 1.75rem; }
h3 {
font-size: 1.25rem; } }
.note {
color: grey; }
.link-positive {
color: #56af1b; }
.link-positive:hover {
color: #408314; }
blockquote {
margin-left: 0;
padding-left: 1.5em;
border-left: solid 3px #eee;
font-size: 20px;
font-size: 1.25rem;
color: #888; }
cite {
font-size: 14px;
font-size: 0.875rem;
color: #666; }
cite:before {
content: "\2014\00a0";
font-weight: 300; }
small {
color: #888; }
table {
table-layout: fixed;
padding: 0;
border-collapse: collapse;
margin-bottom: 1.5em; }
table thead {
font-weight: 600; }
table td {
border: solid 1px #ddd;
padding: 0.5em 1em;
vertical-align: top; }
.table--zebra tbody tr:nth-child(odd) {
background-color: #fafafa; }
.table--split {
text-align: right;
width: 100%; }
.table--split td {
width: 50%;
border-top: none;
border-left: none;
border-right: none;
vertical-align: top;
padding-left: 0;
padding-right: 0; }
.table--split tr > :first-child {
text-align: left;
font-weight: 600; }
.table--split tr:last-child > td {
border-bottom: none; }
/**
* List styles
* ----------------------------------------------------------------------------
*/
dl, ul, ol {
margin-top: 0;
margin-bottom: 1.5em; }
ul ul, ul ol, ol ul, ol ol {
margin-bottom: 0.5em;
padding-top: 0.5em; }
.section {
margin-bottom: 1em; }
/**
* Definition lists
*/
dt {
font-weight: 600; }
dd {
margin-left: 0;
margin-bottom: 1em; }
.dl--inline dd, .dl--inline dt {
display: inline;
margin: 0; }
.dl--inline dt:after {
content: "\2014";
margin-left: 0.25em;
color: #999;
font-weight: 300; }
.bare-list {
margin-bottom: 0;
list-style: none; }
/**
* Throws list items into a collection of inline-blocks
*/
.nav {
/* ul, ol */
margin-top: 0;
margin-bottom: 0;
list-style: none;
padding-left: 0;
font-size: medium; }
.nav > li {
display: inline-block;
vertical-align: middle; }
/**
* Extends `.nav {}`
*
* Adds spacing between a bunch of inline block nav children.
*
*/
.nav--links > li {
margin-right: 0.75em;
line-height: 1; }
.nav--links > li:last-child {
margin-right: 0; }
.nav--links > .nav--links__tight {
margin-right: 0.25em; }
.nav--bullet li:after {
content: "•";
margin-left: 0.55em;
color: #aaa;
display: inline-block; }
.nav--bullet li:last-child:after {
display: none; }
/**
* ----------------------------------------------------------------------------
* Typography continued
* ----------------------------------------------------------------------------
*/
.default {
font-size: medium; }
.intro {
font-size: 20px;
font-size: 1.25rem;
line-height: 1.4; }
.para {
font-size: 18px;
font-size: 1.125rem;
margin-bottom: 1.5em; }
.small {
font-size: 14px;
font-size: 0.875rem; }
.font-light {
font-weight: 300; }
.font-light strong {
font-weight: 600; }
/**
* Ensure that leading/trailing rules can have their padding overridden
* by structural classes further down the stylesheet.
*/
.leading-rule {
border-top: solid 1px rgba(0, 0, 0, 0.2);
padding-top: 1em; }
.trailing-rule {
padding-bottom: 1em;
border-bottom: solid 1px rgba(0, 0, 0, 0.2); }
/**
* ----------------------------------------------------------------------------
* Main navigation
* ----------------------------------------------------------------------------
*/
.is-overlay .menu-wide {
z-index: 1;
position: relative; }
.menu {
display: none;
position: absolute;
width: 100%;
background: #1A3D72;
border-color: #1A3D72;
z-index: 5;
color: #fff;
padding-top: 1em;
padding-bottom: 1em; }
.menu li {
margin-bottom: 0.5em;
border-bottom: solid 1px rgba(0, 0, 0, 0.1);
padding-bottom: 0.5em;
text-align: center; }
.menu li:last-child {
border-bottom: none;
margin-bottom: 0; }
.menu a {
color: #fff; }
.menu:before {
content: "";
position: absolute;
border: solid 0.35em transparent;
border-bottom-color: inherit;
width: 0;
bottom: 100%;
right: 1.25em;
-webkit-animation: slideUp 0.1s ease-out 0.1s backwards;
animation: slideUp 0.1s ease-out 0.1s backwards; }
/**
* ---------------------------------------------------------------------------
* Buttons
* ---------------------------------------------------------------------------
*
* Can be applied to any element
* Will become an inline-block
*
*
* Combine with other modifiers for the styling, eg:
*
* <span class="btn btn-primary"></span>
*
*
* 1. Buttons shouldn't wordwrap.
* 2. Deal with styling for <button> element.
*
*
* Note:
*
* Applying button classes to an <input type="submit"> element can be
* unpredictable (especially in Firefox). Use a <button type="submit"></button>
* instead to avoid weird line-height issues.
*
*/
.btn {
display: inline-block;
text-decoration: none;
font-family: inherit;
font-size: inherit;
line-height: 2.25;
white-space: nowrap;
/* [1] */
-webkit-appearance: none;
/* [2] */
-moz-appearance: none;
-ms-appearance: none;
-o-appearance: none;
appearance: none;
border: none;
padding-left: 1em;
padding-right: 1em;
border-radius: 0.25em;
padding-top: 0;
padding-bottom: 0;
margin: 0; }
.btn:hover {
color: inherit;
cursor: pointer; }
/**
* Button modifiers
* ---------------------------------------------------------------------------
*/
.btn--small {
padding-left: 0.75em;
padding-right: 0.75em;
line-height: 2;
border-radius: 0.25em; }
.btn--inline {
line-height: 1.9;
padding-left: 1em;
padding-right: 1em; }
.btn--large {
line-height: 3;
padding-left: 2em;
padding-right: 2em; }
.btn--block {
display: block;
width: 100%;
text-align: center; }
.btn--circle {
line-height: 1.75;
padding-left: 0.75em;
padding-right: 0.75em; }
.btn-icon {
padding-left: 0.66667em; }
.btn-icon > .i {
margin-right: 0.33333em; }
.btn-icon:active > .i {
background-position: 0 25%; }
/**
* Button themes
* ---------------------------------------------------------------------------
*/
.btn-primary, .btn-secondary, .btn-positive, .btn-negative {
border-style: solid;
border-width: 1px; }
.btn-primary {
background-color: #014d8c;
border-color: #014d8c;
color: #fff; }
.btn-primary:hover {
background-color: #013159;
border-color: #013159;
color: #fff; }
.btn-secondary {
background-color: #999;
color: #fff; }
.btn-secondary:hover {
background-color: #666;
border-color: #666;
color: #fff; }
.btn-tertiary {
border: solid 1px rgba(0, 0, 0, 0.25);
color: #666; }
.btn-tertiary:hover {
color: #333;
border-color: rgba(0, 0, 0, 0.4); }
.btn-remove {
color: #FA4C3D; }
.btn-remove:hover {
color: #f93224; }
.btn-outline {
border: solid 1px rgba(255, 255, 255, 0.5);
color: #fff; }
.btn-outline:hover {
color: #014d8c;
background: #fff;
border-color: #fff; }
.btn-positive {
background-color: #7CB655;
border-color: #7CB655;
color: #fff; }
.btn-positive:hover {
color: #fff;
background-color: #71a949;
border-color: #71a949; }
.btn-negative {
background-color: #FA4C3D;
border-color: #FA4C3D;
color: #fff; }
.btn-negative:hover {
color: #fff;
background-color: #f93224;
border-color: #f93224; }
/**
* Apply the active state to buttons last to ensure color is respected.
*/
.btn:active {
background-color: #333;
color: #fff;
border-color: #333; }
/**
* Button Groups
* ---------------------------------------------------------------------------
*/
@media only screen and (max-width: 37.4375em) {
.btn-group > .btn {
margin-bottom: 1em; } }
@media only screen and (min-width: 37.5em) {
.btn-group > .btn {
margin-right: 0.5em; }
.btn-group > .btn:last-child {
margin-right: 0; } }
.btn-group > :last-child {
margin-bottom: 0; }
.btn-group__divider {
margin-right: 0.35em;
display: inline-block; }
@media only screen and (max-width: 28.125em) {
.btn-group__divider {
display: block;
margin-bottom: 1em;
font-weight: 600;
text-transform: uppercase; }
.btn-group__divider:before, .btn-group__divider:after {
content: "";
display: inline-block;
vertical-align: middle;
width: 3em;
height: 1px;
background: #C9DCEB; }
.btn-group__divider:before {
margin-right: 0.35em; }
.btn-group__divider:after {
margin-left: 0.35em; } }
/**
* ---------------------------------------------------------------------------
* Icons
* ---------------------------------------------------------------------------
*/
.i {
display: inline-block;
width: 1em;
height: 1em;
background-size: cover;
vertical-align: middle;
margin-top: -0.125em; }
.i--small {
width: 0.875em;
height: 0.875em; }
.i--primary {
background-position: 0 12.5%; }
.menu .i--primary {
background-position: 0 37.5%; }
.i--light {
background-position: 0 37.5%; }
.i--white {
background-position: 0 25%; }
.i--positive {
background-position: 0 75%; }
.i--lightgreen {
background-position: 0 87.5%; }
.i--grey {
background-position: 0 50%; }
.logo {
padding-top: 1.25em;
padding-bottom: 1.25em; }
.logo__mark {
font-size: 1.125em;
width: 10.25em;
height: 2.625em; }
@media only screen and (max-width: 37.4375em) {
.logo--responsive {
font-size: 1em; } }
/**
* ---------------------------------------------------------------------------
* Page components
* ---------------------------------------------------------------------------
*/
.gw-user {
margin-right: 0.35em; }
/**
* Extends `.nav {}`
*
* Tabbing is achieved through a selected/deselected bottom border. Add/remove here.
*/
.tabs {
padding-bottom: 0.5em; }
.tab {
padding-bottom: 0.25em;
color: #888;
border-bottom: solid 2px #eee; }
.tab--active {
color: #222;
border-bottom-color: #aaa; }
/**
* Avatars
* ---------------------------------------------------------------------------
*/
.circle, .avatar, .btn--circle {
border-radius: 50em;
display: inline-block;
overflow: hidden; }
.circle {
width: 100%;
padding-bottom: 100%;
height: 0; }
.avatar {
background-color: #ddd;
min-width: 2em;
min-height: 2em; }
.avatar > img {
display: block;
width: 100%; }
.team {
display: inline-block;
margin-right: 1em;
margin-bottom: 0.5em; }
.team img {
-webkit-transition: -webkit-transform linear 0.1s;
transition: transform linear 0.1s;
-webkit-backface-visibility: hidden;
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1); }
.team:hover img {
-webkit-transform: scale(1.03);
-ms-transform: scale(1.03);
transform: scale(1.03); }
.team__image, .team__name {
text-align: left;
display: inline-block;
vertical-align: middle; }
.team__image {
width: 4em;
height: 4em;
margin-right: 0.75em;
overflow: hidden;
-webkit-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1); }
.team__role {
color: #888; }
/**
* Media blocks
* ---------------------------------------------------------------------------
*/
.media {
overflow: hidden;
margin-bottom: 32px;
margin-bottom: 2rem; }
.media--squishy img {
width: 100%; }
.media__image {
float: left;
margin-right: 2em; }
.media__image > img {
display: block; }
/**
* Inset panels/cards
* ---------------------------------------------------------------------------
*/
.card {
border-radius: 0.25em;
padding-top: 1.25em;
padding-bottom: 1.25em;
margin-bottom: 2em;
border: solid 1px #e2e2e2;
background: #fff;
box-shadow: 0 1px 5px rgba(10, 15, 37, 0.05);
padding-left: 1em;
padding-right: 1em; }
@media only screen and (min-width: 37.5em) {
.card {
padding-left: 2em;
padding-right: 2em; } }
.card > :last-child {
margin-bottom: 0; }
/**
* Mobile menu icon, with transition
* ---------------------------------------------------------------------------
*/
@media only screen and (max-width: 37.4375em) {
.menu-logo {
width: 5em; } }
.menu-icon {
display: inline-block;
position: relative;
width: 1em;
height: 0.875em;
margin-left: 0.25em;
vertical-align: middle; }
.menu-icon:before, .menu-icon:after {
content: "";
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
transform: rotate(0);
-webkit-transition: -webkit-transform 0.2s ease-out, width 0.2s ease-out;
transition: transform 0.2s ease-out, width 0.2s ease-out; }
.menu-icon:before, .menu-icon:after, .menu-icon .menu-icon__middle {
display: block;
position: absolute;
height: 2px;
width: 100%;
background: #014d8c; }
.menu-icon:before {
top: 0;
-webkit-transform-origin: 0% 50%;
-ms-transform-origin: 0% 50%;
transform-origin: 0% 50%; }
.menu-icon:after {
bottom: 0;
-webkit-transform-origin: 0% 50%;
-ms-transform-origin: 0% 50%;
transform-origin: 0% 50%; }
.menu-icon .menu-icon__middle {
top: 50%;
margin-top: -1px;
-webkit-transition: opacity 0.2s;
transition: opacity 0.2s; }
.menu-icon--active:before, .menu-icon--active:after, .menu-icon:active:before, .menu-icon:active:after {
width: 104%; }
.menu-icon--active:before, .menu-icon:active:before {
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg); }
.menu-icon--active:after, .menu-icon:active:after {
-webkit-transform: rotate(-45deg);
-ms-transform: rotate(-45deg);
transform: rotate(-45deg); }
.menu-icon--active .menu-icon__middle, .menu-icon:active .menu-icon__middle {
opacity: 0; }
/**
* ---------------------------------------------------------------------------
* Forms
* ---------------------------------------------------------------------------
*/
fieldset {
border: none;
padding: 0;
margin: 0; }
.field {
border: solid 1px #ddd;
padding: 0.5em 0.5em;
font-size: inherit;
appearance: none;
width: 100%;
background: #eee;
border-radius: 0.125em; }
.field--text, textarea {
font-family: inherit; }
.field:focus {
outline: none;
border-color: #014d8c;
box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); }
.field--select {
width: 100%; }
.label {
margin-bottom: 1em;
display: inline-block;
width: 100%; }
/* Hack attack, sorry! */
.cc-logos {
margin-top: 0.5em; }
/**
* ---------------------------------------------------------------------------
* Structure
* ---------------------------------------------------------------------------
*/
.wrapper {
max-width: 1200px;
max-width: 75rem;
margin-left: auto;
margin-right: auto; }
@media only screen and (min-width: 57em) {
.tasty-whitespace {
padding-left: 5%;
padding-right: 5%; } }
.nugget {
max-width: 25em; }
.prose {
max-width: 36em; }
.snack {
max-width: 45em; }
.column {
padding-left: 1em;
padding-right: 1em;
text-align: left; }
.column .grid {
margin-left: -1rem;
margin-right: -1rem; }
/**
* Grid
* ---------------------------------------------------------------------------
*/
.grid {
font-size: 0;
text-align: justify; }
.grid:after {
width: 100%;
display: inline-block;
content: ""; }
.grid > * {
font-size: medium;
display: inline-block;
vertical-align: top; }
/**
* Block context
* ---------------------------------------------------------------------------
*/
/* Avoid double margin */
.block > :last-child, .block--tight > :last-child, .space--small > :last-child, .block--deep > :last-child {
margin-bottom: 0; }
.block {
padding-top: 2em;
padding-bottom: 2em; }
.block--tight {
padding: 1em; }
.space--small {
padding-top: 1em;
padding-bottom: 1em; }
.block--deep {
padding-top: 3em; }
.block--top {
padding-top: 6%;
padding-bottom: 0; }
/**
* ---------------------------------------------------------------------------
* Brand colours
* ---------------------------------------------------------------------------
*/
.brand {
color: #014d8c; }
.brand-alt {
color: #00a1ff; }
/**
* ---------------------------------------------------------------------------
* Themes
* ---------------------------------------------------------------------------
*/
.theme-primary, .theme-night {
-webkit-font-smoothing: antialiased; }
.theme-primary {
background-color: #014d8c;
color: #fff; }
.theme-primary .link {
color: #fff;
border-bottom: solid 1px rgba(255, 255, 255, 0.2); }
.theme-primary .link:hover {
border-bottom-color: rgba(255, 255, 255, 0.5); }
.theme-night {
background-color: #222;
color: #fff; }
.theme-night a {
color: #fff; }
.theme-night .leading-rule, .theme-night .trailing-rule {
border-color: rgba(255, 255, 255, 0.2); }
.theme-night .btn-outline:hover {
color: #222; }
.theme-light {
background-color: #ddd; }
.theme-xlight {
background-color: #F2F6F8; }
.theme-ui {
background-color: #586268; }
.theme-white {
background-color: #fff; }
.theme-light-brand {
background-color: #dceaf0;
color: #014781; }
/**
* ---------------------------------------------------------------------------
* Homepage - intro
* ---------------------------------------------------------------------------
*/
@-webkit-keyframes tweetIn {
0% {
opacity: 0;
-webkit-transform: scale(0);
transform: scale(0); }
50% {
-webkit-transform: scale(1.1);
transform: scale(1.1); }
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1); } }
@keyframes tweetIn {
0% {
opacity: 0;
-webkit-transform: scale(0);
transform: scale(0); }
50% {
-webkit-transform: scale(1.1);
transform: scale(1.1); }
100% {
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1); } }
@-webkit-keyframes avatarIn {
0% {
opacity: 0;
-webkit-transform: translateY(100%);
transform: translateY(100%); }
50% {
-webkit-transform: translateY(-10%);
transform: translateY(-10%); }
100% {
opacity: 1;
-webkit-transform: translateY(0%);
transform: translateY(0%); } }
@keyframes avatarIn {
0% {
opacity: 0;
-webkit-transform: translateY(100%);
transform: translateY(100%); }
50% {
-webkit-transform: translateY(-10%);
transform: translateY(-10%); }
100% {
opacity: 1;
-webkit-transform: translateY(0%);
transform: translateY(0%); } }
.gw-intro {
max-width: 37em;
margin-left: auto;
margin-right: auto;
margin-top: 7%;
border-top-left-radius: 0.5em;
border-top-right-radius: 0.5em;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.25);
position: relative;
overflow: hidden;
padding-top: 3em;
padding-bottom: 1em;
text-align: left; }
.gw-intro:before {
position: absolute;
display: block;
width: 100%;
text-align: left;
color: #fff;
padding-left: 0.5em;
content: "• • •";
line-height: 1;
font-size: 2em;
background: #4d555b;
top: 0; }
.gw-intro__block {
padding-left: 10%;
padding-right: 10%; }
@media only screen and (min-width: 30.0625em) {
.gw-intro__flip {
direction: rtl; }
.gw-intro__flip > * {
direction: ltr; } }
.gw-intro__avatar {
-webkit-animation: avatarIn 0.2s ease-out backwards;
animation: avatarIn 0.2s ease-out backwards;
color: #fff;
vertical-align: top;
display: inline-block; }
.gw-intro__avatar > .i {
width: 3em;
height: 3em;
margin-top: 0; }
.gw-intro__avatar > span {
font-size: 0.75em;
line-height: 1;
display: inline-block; }
@media only screen and (min-width: 30.0625em) {
.gw-intro__avatar {
width: 6em; }
.gw-intro__avatar > span {
width: 100%; } }
.gw-intro__tweet {
font-size: 1.0625em;
vertical-align: top;
background: #ccc;
display: inline-block;
border-radius: 0.125em;
box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
padding: 0.75em;
position: relative;
-webkit-animation: tweetIn 0.2s ease-out backwards;
animation: tweetIn 0.2s ease-out backwards; }
.gw-intro__tweet > .i {
position: absolute;
right: 100%;
top: 50%;
display: none; }
@media only screen and (min-width: 30.0625em) {
.gw-intro__tweet > .i {
display: block; } }
.gw-intro__1 {
-webkit-animation-delay: 800ms;
animation-delay: 800ms; }
.gw-intro__1 > .i {
background-color: #c7be6c; }
.gw-intro__2 {
-webkit-animation-delay: 1200ms;
animation-delay: 1200ms; }
.gw-intro__2 > .i {
background-color: #65a5c6; }
@media only screen and (max-width: 30em) {
.gw-intro__2 {
direction: rtl; } }
.gw-intro__3 {
-webkit-animation-delay: 1800ms;
animation-delay: 1800ms; }
.gw-intro__3 > .i {
background-color: #8fc26d; }
.gw-intro__tweet-1 {
-webkit-animation-delay: 900ms;
animation-delay: 900ms;
background-color: #f5eea8; }
.gw-intro__tweet-2 {
-webkit-animation-delay: 1300ms;
animation-delay: 1300ms;
background-color: #acdef3; }
.gw-intro__tweet-2 > .i {
right: auto;
left: 100%; }
.gw-intro__tweet-3 {
-webkit-animation-delay: 1900ms;
animation-delay: 1900ms;
background-color: #d6f2c3; }
@-webkit-keyframes fadeIn {
0% {
opacity: 0;
-webkit-transform: translateY(-10%);
transform: translateY(-10%); }
100% {
opacity: 1;
-webkit-transform: translateY(0%);
transform: translateY(0%); } }
@keyframes fadeIn {
0% {
opacity: 0;
-webkit-transform: translateY(-10%);
transform: translateY(-10%); }
100% {
opacity: 1;
-webkit-transform: translateY(0%);
transform: translateY(0%); } }
@media only screen and (max-width: 37.4375em) {
.gw-np-promo {
display: none; } }
.gw-this-or-that__or {
display: inline-block;
font-size: 1em;
font-weight: 600; }
.gw-this-or-that__or:before, .gw-this-or-that__or:after {
content: "";
display: inline-block;
position: relative;
width: 4em;
height: 1px;
background: #C5CFE6;
top: 50%;
vertical-align: middle; }
.gw-this-or-that__or:after {
margin-left: 0.35em; }
.gw-this-or-that__or:before {
margin-right: 0.35em; }
/**
* ---------------------------------------------------------------------------
* Utilities
* ---------------------------------------------------------------------------
*/
.u-center {
text-align: center; }
.u-middle > * {
vertical-align: middle; }
.u-strong {
font-weight: 600; }
.u-auto {
margin-left: auto;
margin-right: auto; }
.u-hide {
display: none; }
.u-right {
text-align: right; }
.u-overflow {
overflow: hidden; }
.u-tight {
margin-bottom: 0.25em; }
/**
* 1. Ensures text doesn't wrap and break your layout
* 2. Trigger overflow behavior
* 3. Truncate the text
*/
.u-truncate {
white-space: nowrap;
/* [1] */
overflow: hidden;
/* [2] */
text-overflow: ellipsis;
/* [3] */ }
@media only screen and (max-width: 37.4375em) {
.u-hide-small {
display: none; }
.u-center-small {
text-align: center; } }
@media only screen and (max-width: 43.125em) {
/**
* Oh yeah, that thing where you can join a class to itself to
* increase specificity by 1? Sweeeet.
*/
.u-hide-nav {
display: none; }
.menu--active .menu {
display: block; } }
@media only screen and (min-width: 43.1875em) {
.u-show-nav {
display: none; } }
@media only screen and (min-width: 37.5em) {
.u-auto-medium {
margin-left: auto;
margin-right: auto; }
.u-hide-medium {
display: none; }
.u-center-medium {
text-align: center; } }
@media only screen and (min-width: 57em) {
.u-auto-large {
margin-left: auto;
margin-right: auto; }
.u-hide-large {
display: none; }
.u-center-large {
text-align: center; } }
/**
* ---------------------------------------------------------------------------
* Widths
* ---------------------------------------------------------------------------
*
* Can be applied to anything.
* Widths, like states and utilities, should come near the end of the
* stylesheet to ensure they are obeyed.
*
* Try not to apply widths with a specificity of > 1. Don't do this:
*
* .something > li { width: 100% }
*
* If you *do* need to set a width, try BEMing it to keep specificity down:
*
* .something__item { width: 100% }
*
*/
.one-tenth {
width: 10%; }
.one-quarter {
width: 25%; }
.one-fifth {
width: 20%; }
.one-third {
width: 33.33333%; }
.three-tenths {
width: 30%; }
.two-fifths {
width: 40%; }
.one-half {
width: 50%; }
.three-fifths {
width: 60%; }
.two-thirds {
width: 66.66667%; }
.seven-tenths {
width: 70%; }
.three-quarters {
width: 75%; }
.four-fifths {
width: 80%; }
.nine-tenths {
width: 90%; }
.full {
width: 100%; }
@media only screen and (min-width: 25em) {
.small-one-tenth {
width: 10%; }
.small-one-quarter {
width: 25%; }
.small-one-fifth {
width: 20%; }
.small-one-third {
width: 33.33333%; }
.small-three-tenths {
width: 30%; }
.small-two-fifths {
width: 40%; }
.small-one-half {
width: 50%; }
.small-three-fifths {
width: 60%; }
.small-two-thirds {
width: 66.66667%; }
.small-seven-tenths {
width: 70%; }
.small-three-quarters {
width: 75%; }
.small-four-fifths {
width: 80%; }
.small-nine-tenths {
width: 90%; }
.small-full {
width: 100%; } }
@media only screen and (min-width: 37.5em) {
.medium-one-tenth {
width: 10%; }
.medium-one-quarter {
width: 25%; }
.medium-one-fifth {
width: 20%; }
.medium-one-third {
width: 33.33333%; }
.medium-three-tenths {
width: 30%; }
.medium-two-fifths {
width: 40%; }
.medium-one-half {
width: 50%; }
.medium-three-fifths {
width: 60%; }
.medium-two-thirds {
width: 66.66667%; }
.medium-seven-tenths {
width: 70%; }
.medium-three-quarters {
width: 75%; }
.medium-four-fifths {
width: 80%; }
.medium-nine-tenths {
width: 90%; }
.medium-full {
width: 100%; } }
@media only screen and (min-width: 57em) {
.large-one-tenth {
width: 10%; }
.large-one-quarter {
width: 25%; }
.large-one-fifth {
width: 20%; }
.large-one-third {
width: 33.33333%; }
.large-three-tenths {
width: 30%; }
.large-two-fifths {
width: 40%; }
.large-one-half {
width: 50%; }
.large-three-fifths {
width: 60%; }
.large-two-thirds {
width: 66.66667%; }
.large-seven-tenths {
width: 70%; }
.large-three-quarters {
width: 75%; }
.large-four-fifths {
width: 80%; }
.large-nine-tenths {
width: 90%; }
.large-full {
width: 100%; } }
@media only screen and (min-width: 68.75em) {
.xlarge-one-tenth {
width: 10%; }
.xlarge-one-quarter {
width: 25%; }
.xlarge-one-fifth {
width: 20%; }
.xlarge-one-third {
width: 33.33333%; }
.xlarge-three-tenths {
width: 30%; }
.xlarge-two-fifths {
width: 40%; }
.xlarge-one-half {
width: 50%; }
.xlarge-three-fifths {
width: 60%; }
.xlarge-two-thirds {
width: 66.66667%; }
.xlarge-seven-tenths {
width: 70%; }
.xlarge-three-quarters {
width: 75%; }
.xlarge-four-fifths {
width: 80%; }
.xlarge-nine-tenths {
width: 90%; }
.xlarge-full {
width: 100%; } }
/**
* ---------------------------------------------------------------------------
* Animation
* ---------------------------------------------------------------------------
*/
@keyframes fadeIn {
0% {
opacity: 0; }
100% {
opacity: 1; } }
@-webkit-keyframes navIn {
0% {
opacity: 0; }
100% {
opacity: 1; } }
@keyframes navIn {
0% {
opacity: 0; }
100% {
opacity: 1; } }
@-webkit-keyframes slideUp {
0% {
-webkit-transform: translateY(15%);
transform: translateY(15%); }
100% {
opacity: 1;
-webkit-transform: translateY(0%);
transform: translateY(0%); } }
@keyframes slideUp {
0% {
-webkit-transform: translateY(15%);
transform: translateY(15%); }
100% {
opacity: 1;
-webkit-transform: translateY(0%);
transform: translateY(0%); } }
.anim-nav {
-webkit-animation: navIn 0.1s ease-out backwards;
animation: navIn 0.1s ease-out backwards; }
.anim-fadein {
-webkit-animation: fadeIn 0.1s ease-out backwards;
animation: fadeIn 0.1s ease-out backwards; }
/**
* ---------------------------------------------------------------------------
* Sequencing
* ---------------------------------------------------------------------------
*
*
*/
.sequence-1 {
-webkit-animation-delay: 100ms;
animation-delay: 100ms; }
.sequence-2 {
-webkit-animation-delay: 200ms;
animation-delay: 200ms; }
.sequence-3 {
-webkit-animation-delay: 300ms;
animation-delay: 300ms; }
.sequence-4 {
-webkit-animation-delay: 400ms;
animation-delay: 400ms; }
.sequence-5 {
-webkit-animation-delay: 500ms;
animation-delay: 500ms; }
.sequence-6 {
-webkit-animation-delay: 600ms;
animation-delay: 600ms; }
/**
* ---------------------------------------------------------------------------
* Success/fail messages
* ---------------------------------------------------------------------------
* *
*/
.message {
font-weight: 600; }
.message--success {
background: #d6f2c3;
border-color: #C3E4AD; }
.message--error {
background: #f5eea8;
border-color: #f5eea8; }
.message--info {
background: #acdef3;
border-color: #acdef3; }
.form__error {
font-weight: 600; }
/**
* ---------------------------------------------------------------------------
* States
* ---------------------------------------------------------------------------
*
* Apply states last.
*
*/
/**
* Prevent all user interaction with the element
*/
.is-disabled {
pointer-events: none;
cursor: default;
opacity: 0.5; }
/**
* Shows errors, especially in forms.
*
* 1. Assume error class can be applied to an input, containing div or label.
* 2. Give links inside an errored component a clickable appearance.
* 3. Reset form field border-color on focus.
*/
.is-error {
color: #FA4C3D;
border-color: #FA4C3D;
/* [1] */ }
.is-error a {
color: #FA4C3D;
text-decoration: underline;
/* [2] */ }
.is-error .field {
border-color: #FA4C3D; }
.is-error .field:focus {
border-color: #014d8c;
/* [3] */ }
.is-field-error {
color: #FA4C3D;
margin-bottom: 0.25em; }
.is-warning {
color: #FA4C3D; }
.is-hidden {
display: none; }
.is-overlay:after {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(255, 255, 255, 0.85);
-webkit-animation: fadeIn 0.1s ease-out backwards;
animation: fadeIn 0.1s ease-out backwards; }
/*# sourceMappingURL=good.css.map */
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment