1 // stylelint-disable selector-no-qualifying-type
9 font-weight: $btn-font-weight;
12 vertical-align: middle;
14 border: $btn-border-width solid transparent;
15 @include button-size($btn-padding-y, $btn-padding-x, $font-size-base, $btn-line-height, $btn-border-radius);
16 @include transition($btn-transition);
18 // Share hover and focus styles
19 @include hover-focus {
20 text-decoration: none;
26 box-shadow: $btn-focus-box-shadow;
29 // Disabled comes first so active can properly restyle
32 opacity: $btn-disabled-opacity;
33 @include box-shadow(none);
36 // Opinionated: add "hand" cursor to non-disabled .btn elements
37 &:not([disabled]):not(.disabled) {
41 &:not([disabled]):not(.disabled):active,
42 &:not([disabled]):not(.disabled).active {
43 background-image: none;
44 @include box-shadow($btn-active-box-shadow);
47 @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
52 // Future-proof disabling of clicks on `<a>` elements
54 fieldset[disabled] a.btn {
63 @each $color, $value in $theme-colors {
65 @include button-variant($value, $value);
69 @each $color, $value in $theme-colors {
70 .btn-outline-#{$color} {
71 @if $color == "light" {
72 @include button-outline-variant($value, $gray-900);
74 @include button-outline-variant($value, $white);
84 // Make a button look and behave like a link
86 font-weight: $font-weight-normal;
88 background-color: transparent;
91 color: $link-hover-color;
92 text-decoration: $link-hover-decoration;
93 background-color: transparent;
94 border-color: transparent;
99 text-decoration: $link-hover-decoration;
100 border-color: transparent;
106 color: $btn-link-disabled-color;
109 // No need for an active state here
118 @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);
122 @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);
134 // Vertically space out multiple block buttons
136 margin-top: $btn-block-spacing-y;
140 // Specificity overrides
141 input[type="submit"],
143 input[type="button"] {