// Buttons .btn { appearance: none; background: $bg-color-light; border: $border-width solid $primary-color; border-radius: $border-radius; color: $primary-color; cursor: pointer; display: inline-block; font-size: $font-size; height: $control-size; line-height: $line-height; outline: none; padding: $control-padding-y $control-padding-x; text-align: center; text-decoration: none; transition: background .2s, border .2s, box-shadow .2s, color .2s; user-select: none; vertical-align: middle; white-space: nowrap; &:focus { @include control-shadow(); } &:focus, &:hover { background: $secondary-color; border-color: $primary-color-dark; color: $light-color; text-decoration: none; } &:active, &.active { background: $primary-color-dark; border-color: darken($primary-color-dark, 5%); color: $light-color; text-decoration: none; &.loading { &::after { border-bottom-color: $light-color; border-left-color: $light-color; } } } &[disabled], &:disabled, &.disabled { cursor: default; opacity: .5; pointer-events: none; } // Button Primary &.btn-primary { background: $primary-color; border-color: $primary-color-dark; color: $light-color; &:focus, &:hover { background: darken($primary-color-dark, 2%); border-color: darken($primary-color-dark, 5%); color: $light-color; } &:active, &.active { background: darken($primary-color-dark, 4%); border-color: darken($primary-color-dark, 7%); color: $light-color; } &.loading { &::after { border-bottom-color: $light-color; border-left-color: $light-color; } } } // Button Colors &.btn-success { @include button-variant($success-color); } &.btn-warning { @include button-variant($warning-color); } &.btn-error { @include button-variant($error-color); } // Button Link &.btn-link { background: transparent; border-color: transparent; color: $link-color; &:focus, &:hover, &:active, &.active { color: $link-color-dark; } } // Button Sizes &.btn-sm { font-size: $font-size-sm; height: $control-size-sm; padding: $control-padding-y-sm $control-padding-x-sm; } &.btn-lg { font-size: $font-size-lg; height: $control-size-lg; padding: $control-padding-y-lg $control-padding-x-lg; } // Button Block &.btn-block { display: block; width: 100%; } // Button Action &.btn-action { width: $control-size; padding-left: 0; padding-right: 0; &.btn-sm { width: $control-size-sm; } &.btn-lg { width: $control-size-lg; } } // Button Clear &.btn-clear { background: transparent; border: 0; color: currentColor; height: $unit-5; line-height: $unit-4; margin-left: $unit-1; margin-right: -2px; opacity: 1; padding: $unit-h; text-decoration: none; width: $unit-5; &:focus, &:hover { background: rgba($bg-color, .5); opacity: .95; } &::before { content: "\2715"; } } } // Button groups .btn-group { display: inline-flex; flex-wrap: wrap; .btn { flex: 1 0 auto; &:first-child:not(:last-child) { border-bottom-right-radius: 0; border-top-right-radius: 0; } &:not(:first-child):not(:last-child) { border-radius: 0; margin-left: -$border-width; } &:last-child:not(:first-child) { border-bottom-left-radius: 0; border-top-left-radius: 0; margin-left: -$border-width; } &:focus, &:hover, &:active, &.active { z-index: $zindex-0; } } &.btn-group-block { display: flex; .btn { flex: 1 0 0; } } }