@mixin generate-button-colors($textColor, $backgroundColor) { background-color: $backgroundColor; color: $textColor; &:hover { background-color: lighten($backgroundColor, 8%); box-shadow: $bs-med; text-decoration: none; color: $textColor; } &:active { background-color: darken($backgroundColor, 8%); } &:focus { background-color: lighten($backgroundColor, 4%); box-shadow: $bs-light; text-decoration: none; color: $textColor; } } // Button Specific Variables $button-border-radius: 2px; .button-base { text-decoration: none; font-size: $fs-m; line-height: 1.4em; padding: $-xs $-m; margin: $-xs $-xs $-xs 0; display: inline-block; border: none; font-weight: 500; font-family: $text; outline: 0; border-radius: $button-border-radius; cursor: pointer; transition: all ease-in-out 120ms; box-shadow: 0 0.5px 1.5px 0 rgba(0, 0, 0, 0.21); @include generate-button-colors(#EEE, $primary); } .button, input[type="button"], input[type="submit"] { @extend .button-base; &.pos { @include generate-button-colors(#EEE, $positive); } &.neg { @include generate-button-colors(#EEE, $negative); } &.secondary { @include generate-button-colors(#EEE, $secondary); } &.muted { @include generate-button-colors(#EEE, #888); } } .text-button { @extend .link; background-color: transparent; padding: 0; margin: 0; border: none; &:focus, &:active { outline: 0; } &.neg { color: $negative; } } .button-group { @include clearfix; .button, button[type="button"] { margin: $-xs 0 $-xs 0; float: left; border-radius: 0; &:first-child { border-radius: $button-border-radius 0 0 $button-border-radius; } &:last-child { border-radius: 0 $button-border-radius $button-border-radius 0; } } } .button.block { width: 100%; text-align: center; display: block; } .button.icon { i { padding-right: 0; } }