@mixin generate-button-colors($textColor, $backgroundColor) { background-color: $backgroundColor; color: $textColor; fill: $textColor; text-transform: uppercase; border: 1px solid $backgroundColor; vertical-align: top; &: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*1.3 $-m; margin: $-xs $-xs $-xs 0; display: inline-block; border: none; font-weight: 400; outline: 0; border-radius: $button-border-radius; cursor: pointer; transition: all ease-in-out 120ms; box-shadow: 0; @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, #AAA); } &.muted-light { @include generate-button-colors(#666, #e4e4e4); } } .button.outline { background-color: transparent; color: #888; fill: #888; border: 1px solid #DDD; &:hover, &:focus, &:active { box-shadow: none; background-color: #EEE; } &.page { border-color: $color-page; color: $color-page; fill: $color-page; &:hover, &:focus, &:active { background-color: $color-page; color: #FFF; fill: #FFF; } } &.chapter { border-color: $color-chapter; color: $color-chapter; fill: $color-chapter; &:hover, &:focus, &:active { background-color: $color-chapter; color: #FFF; fill: #FFF; } } &.book { border-color: $color-book; color: $color-book; fill: $color-book; &:hover, &:focus, &:active { background-color: $color-book; color: #FFF; fill: #FFF; } } } .text-button { @extend .link; background-color: transparent; padding: 0; margin: 0; border: none; user-select: none; &:focus, &:active { outline: 0; } &:hover { text-decoration: none; } &.neg { color: $negative; } &.link { &:hover { text-decoration: underline; } } } .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; &.text-left { text-align: left; } } .button.icon { .svg-icon { margin-right: 0; } } .button.svg { svg { display: inline-block; position: absolute; left: $-m; top: $-s - 2px; width: 24px; height: 24px; } padding: $-s $-m; padding-bottom: $-s - 2px; padding-left: $-m*2 + 24px; } .button[disabled] { background-color: #BBB; cursor: default; &:hover { background-color: #BBB; cursor: default; box-shadow: none; } }