| // |
| // Base styles |
| // |
| |
| .alert { |
| // scss-docs-start alert-css-vars |
| --#{$variable-prefix}alert-bg: transparent; |
| --#{$variable-prefix}alert-padding: #{$alert-padding-y $alert-padding-x}; |
| --#{$variable-prefix}alert-margin-bottom: #{$alert-margin-bottom}; |
| --#{$variable-prefix}alert-color: inherit; |
| --#{$variable-prefix}alert-border-color: transparent; |
| --#{$variable-prefix}alert-border: #{$alert-border-width} solid var(--#{$variable-prefix}alert-border-color); |
| --#{$variable-prefix}alert-border-radius: #{$alert-border-radius}; |
| // scss-docs-end alert-css-vars |
| |
| position: relative; |
| padding: var(--#{$variable-prefix}alert-padding); |
| margin-bottom: var(--#{$variable-prefix}alert-margin-bottom); |
| color: var(--#{$variable-prefix}alert-color); |
| background-color: var(--#{$variable-prefix}alert-bg); |
| border: var(--#{$variable-prefix}alert-border); |
| border-radius: var(--#{$variable-prefix}alert-border-radius, 0); // stylelint-disable-line property-disallowed-list |
| } |
| |
| // Headings for larger alerts |
| .alert-heading { |
| // Specified to prevent conflicts of changing $headings-color |
| color: inherit; |
| } |
| |
| // Provide class for links that match alerts |
| .alert-link { |
| font-weight: $alert-link-font-weight; |
| } |
| |
| |
| // Dismissible alerts |
| // |
| // Expand the right padding and account for the close button's positioning. |
| |
| .alert-dismissible { |
| padding-right: $alert-dismissible-padding-r; |
| |
| // Adjust close link position |
| .btn-close { |
| position: absolute; |
| top: 0; |
| right: 0; |
| z-index: $stretched-link-z-index + 1; |
| padding: $alert-padding-y * 1.25 $alert-padding-x; |
| } |
| } |
| |
| |
| // scss-docs-start alert-modifiers |
| // Generate contextual modifier classes for colorizing the alert. |
| |
| @each $state, $value in $theme-colors { |
| $alert-background: shift-color($value, $alert-bg-scale); |
| $alert-border: shift-color($value, $alert-border-scale); |
| $alert-color: shift-color($value, $alert-color-scale); |
| |
| @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) { |
| $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale)); |
| } |
| .alert-#{$state} { |
| @include alert-variant($alert-background, $alert-border, $alert-color); |
| } |
| } |
| // scss-docs-end alert-modifiers |