// B U T T O N S .__button-base { border: 1px solid; font-size: 1rem; letter-spacing: 0.025rem; position: relative; transition: all 0.2s; } .__button-basic { @extend .__button-base; @extend .__button-padding-vertical; background-color: transparent; border-color: transparent; &::after { width: 100%; height: 2px; bottom: 2px; left: 0; content: ""; display: block; transition: background-color 0.2s; } &:not(:hover)::after { background-color: transparent; } &:hover::after { background-color: $black; } } .__button-black { @extend .__button-base; @extend .__button-padding-vertical; @extend .__button-padding-horizontal; &:not(:hover) { background-color: $black; border-color: $white; box-shadow: 2px 2px 0 $white; color: $white; } &:hover { background-color: $white; border-color: $black; box-shadow: 2px 2px 0 $black; color: inherit; } } .__button-white { @extend .__button-base; @extend .__button-padding-vertical; @extend .__button-padding-horizontal; &:not(:hover) { background-color: $white; border-color: transparent; box-shadow: 2px 2px 0 $black; color: inherit; } &:hover { background-color: $black; border-color: $white; box-shadow: 2px 2px 0 $white; color: $white; } } .__button-gray { @extend .__button-base; @extend .__button-padding-vertical; @extend .__button-padding-horizontal; background-color: $white; &:not(:hover) { border-color: transparent; box-shadow: 2px 2px 0 $black; } &:hover { border-color: $teal; box-shadow: 2px 2px 0 $teal; color: $teal; } } .__button-padding-vertical { padding-top: 0.5rem; padding-bottom: 0.5rem; } .__button-padding-horizontal { padding-right: 1rem; padding-left: 1rem; } // G R I D .__grid { &:first-of-type { cursor: default; font-size: 0.8rem; font-weight: 600; letter-spacing: 0.2rem; text-transform: uppercase; } &:not(:first-of-type) { border-left: 1px solid $gray; .col { border-bottom-style: solid; border-bottom-width: 1px; &:last-of-type { border-right-style: solid; border-right-width: 1px; } &:not(.red):not(.orange):not(.yellow):not(.green) { border-color: $gray; } } } @media (min-width: 600px) { display: table; table-layout: fixed; width: 100%; .col { display: table-cell; } } } .col { padding: 0.5rem 1rem; width: 100%; &:not(:first-of-type) { text-align: right; } } // Padded columns .grid-padded { @media (min-width: 600px) { margin-right: -1rem; margin-left: -1rem; .grid { border-spacing: 1rem 0; } } } // Vertically center grid content // Requires content within the column to be inline/inline-block .grid-align-middle .col { vertical-align: middle; } .grid-reverse { direction: rtl; .col { direction: ltr; } }