1 // stylelint-disable selector-no-qualifying-type
9 font-weight: $btn-font-weight;
12 vertical-align: middle;
14 background-color: transparent;
15 border: $btn-border-width solid transparent;
16 @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);
17 @include transition($btn-transition);
21 text-decoration: none;
27 box-shadow: $btn-focus-box-shadow;
30 // Disabled comes first so active can properly restyle
33 opacity: $btn-disabled-opacity;
34 @include box-shadow(none);
37 // Opinionated: add "hand" cursor to non-disabled .btn elements
38 &:not(:disabled):not(.disabled) {
42 &:not(:disabled):not(.disabled):active,
43 &:not(:disabled):not(.disabled).active {
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 @include button-outline-variant($value);
80 // Make a button look and behave like a link
82 font-weight: $font-weight-normal;
86 color: $link-hover-color;
87 text-decoration: $link-hover-decoration;
92 text-decoration: $link-hover-decoration;
98 color: $btn-link-disabled-color;
102 // No need for an active state here
111 @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-line-height-lg, $btn-border-radius-lg);
115 @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-line-height-sm, $btn-border-radius-sm);
127 // Vertically space out multiple block buttons
129 margin-top: $btn-block-spacing-y;
133 // Specificity overrides
134 input[type="submit"],
136 input[type="button"] {