// Button variant mixin @mixin button-variant($color: $primary-color) { background: $color; border-color: darken($color, 3%); color: $light-color; &:focus { @include control-shadow($color); } &:focus, &:hover { background: darken($color, 2%); border-color: darken($color, 5%); color: $light-color; } &:active, &.active { background: darken($color, 7%); border-color: darken($color, 10%); color: $light-color; } &.loading { @extend .btn-primary.loading; } } @mixin button-outline-variant($color: $primary-color) { background: $light-color; border-color: $color; color: $color; &:focus { @include control-shadow($color); } &:focus, &:hover { background: lighten($color, 50%); border-color: darken($color, 2%); color: $color; } &:active, &.active { background: $color; border-color: darken($color, 5%); color: $light-color; } &.loading { &::after { border-bottom-color: $color; border-left-color: $color; } } }