{"version":3,"sources":["../scss/_forms.scss","../scss/_functions.scss","../scss/variables/components/_buttons-forms.scss","../scss/vendors/_rfs.scss","../scss/variables/_typography.scss","../scss/variables/components/_shared.scss","../scss/variables/_colors.scss","../scss/mixins/_border-radius.scss","../scss/mixins/_transition.scss","../scss/mixins/_forms.scss","../scss/variables/components/_tooltips.scss","../scss/variables/components/_custom-forms.scss","../scss/mixins/_gradients.scss","../scss/mixins/_breakpoints.scss"],"names":[],"mappings":"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","sourcesContent":["// stylelint-disable selector-no-qualifying-type\n\n//\n// Textual form controls\n//\n\n.form-control {\n  display: block;\n  width: 100%;\n  height: $input-height;\n  padding: $input-padding-y $input-padding-x;\n  font-family: $input-font-family;\n  @include font-size($input-font-size);\n  font-weight: $input-font-weight;\n  line-height: $input-line-height;\n  background-clip: padding-box;\n  border: $input-border-width solid;\n  @include themes($form-theme-map, $create: parent) {\n    color: themes-get-value(\"input-color\");\n    background-color: themes-get-value(\"input-bg\");\n    border-color: themes-get-value(\"input-border-color\");\n  }\n\n  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n  @include border-radius($input-border-radius, 0);\n\n  @include box-shadow($input-box-shadow);\n  @include transition($input-transition);\n\n  // Unstyle the caret on `<select>`s in IE10+.\n  &::-ms-expand {\n    background-color: transparent;\n    border: 0;\n  }\n\n  // Remove select outline from select box in FF\n  &:-moz-focusring {\n    color: transparent;\n    text-shadow: 0 0 0 $input-color;\n  }\n\n  // Customize the `:focus` state to imitate native WebKit styles.\n  @include form-control-focus($ignore-warning: true);\n\n  // Placeholder\n  &::placeholder {\n    @include themes($form-theme-map, $create: parent) {\n      color: themes-get-value(\"input-placeholder-color\");\n    }\n    // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n    opacity: 1;\n  }\n\n  // Disabled and read-only inputs\n  //\n  // HTML5 says that controls under a fieldset > legend:first-child won't be\n  // disabled if the fieldset is disabled. Due to implementation difficulty, we\n  // don't honor that edge case; we style them as disabled anyway.\n  &:disabled,\n  &[readonly] {\n    @include themes($form-theme-map, $create: parent) {\n      background-color: themes-get-value(\"input-disabled-bg\");\n    }\n    // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n    opacity: 1;\n  }\n}\n\ninput[type=\"date\"],\ninput[type=\"time\"],\ninput[type=\"datetime-local\"],\ninput[type=\"month\"] {\n  &.form-control {\n    appearance: none; // Fix appearance for date inputs in Safari\n  }\n}\n\nselect.form-control {\n  &:focus::-ms-value {\n    // Suppress the nested default white text on blue background highlight given to\n    // the selected option text when the (still closed) <select> receives focus\n    // in IE and (under certain conditions) Edge, as it looks bad and cannot be made to\n    // match the appearance of the native widget.\n    // See https://github.com/twbs/bootstrap/issues/19398.\n    @include themes($form-theme-map, $create: parent) {\n      color: themes-get-value(\"input-color\");\n      background-color: themes-get-value(\"input-bg\");\n    }\n  }\n\n  option {\n    // Add background-color for option elements\n    @include themes($form-theme-map, $create: parent) {\n      background-color: themes-get-value(\"select-option-bg\");\n    }\n  }\n}\n\n// Make file inputs better match text inputs by forcing them to new lines.\n.form-control-file,\n.form-control-range {\n  display: block;\n  width: 100%;\n}\n\n\n//\n// Labels\n//\n\n// For use with horizontal and inline forms, when you need the label (or legend)\n// text to align with the form controls.\n.col-form-label {\n  padding-top: add($input-padding-y, $input-border-width);\n  padding-bottom: add($input-padding-y, $input-border-width);\n  margin-bottom: 0; // Override the `<label>/<legend>` default\n  @include font-size(inherit); // Override the `<legend>` default\n  line-height: $input-line-height;\n}\n\n.col-form-label-lg {\n  padding-top: add($input-padding-y-lg, $input-border-width);\n  padding-bottom: add($input-padding-y-lg, $input-border-width);\n  @include font-size($input-font-size-lg);\n  line-height: $input-line-height-lg;\n}\n\n.col-form-label-sm {\n  padding-top: add($input-padding-y-sm, $input-border-width);\n  padding-bottom: add($input-padding-y-sm, $input-border-width);\n  @include font-size($input-font-size-sm);\n  line-height: $input-line-height-sm;\n}\n\n\n// Readonly controls as plain text\n//\n// Apply class to a readonly input to make it appear like regular plain\n// text (without any border, background color, focus indicator)\n\n.form-control-plaintext {\n  display: block;\n  width: 100%;\n  padding: $input-padding-y 0;\n  margin-bottom: 0; // match inputs if this class comes on inputs with default margins\n  @include font-size($input-font-size);\n  line-height: $input-line-height;\n  background-color: transparent;\n  border: solid transparent;\n  border-width: $input-border-width 0;\n  @include themes($form-theme-map, $create: parent) {\n    color: themes-get-value(\"input-plaintext-color\");\n  }\n\n  &.form-control-sm,\n  &.form-control-lg {\n    padding-right: 0;\n    padding-left: 0;\n  }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n  height: $input-height-sm;\n  padding: $input-padding-y-sm $input-padding-x-sm;\n  @include font-size($input-font-size-sm);\n  line-height: $input-line-height-sm;\n  @include border-radius($input-border-radius-sm);\n}\n\n.form-control-lg {\n  height: $input-height-lg;\n  padding: $input-padding-y-lg $input-padding-x-lg;\n  @include font-size($input-font-size-lg);\n  line-height: $input-line-height-lg;\n  @include border-radius($input-border-radius-lg);\n}\n\n// stylelint-disable-next-line no-duplicate-selectors\nselect.form-control {\n  &[size],\n  &[multiple] {\n    height: auto;\n  }\n}\n\ntextarea.form-control {\n  height: auto;\n}\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n  margin-bottom: $form-group-margin-bottom;\n}\n\n.form-text {\n  display: block;\n  margin-top: $form-text-margin-top;\n}\n\n\n// Form grid\n//\n// Special replacement for our grid system's `.row` for tighter form layouts.\n\n.form-row {\n  display: flex;\n  flex-wrap: wrap;\n  margin-right: -$form-grid-gutter-width / 2;\n  margin-left: -$form-grid-gutter-width / 2;\n\n  > .col,\n  > [class*=\"col-\"] {\n    padding-right: $form-grid-gutter-width / 2;\n    padding-left: $form-grid-gutter-width / 2;\n  }\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.form-check {\n  position: relative;\n  display: block;\n  @include ltr {\n    padding-left: $form-check-input-gutter;\n  }\n  @include rtl {\n    padding-right: $form-check-input-gutter;\n  }\n}\n\n.form-check-input {\n  position: absolute;\n  margin-top: $form-check-input-margin-y;\n  @include ltr {\n    margin-left: -$form-check-input-gutter;\n  }\n  @include rtl {\n    margin-right: -$form-check-input-gutter;\n  }\n\n  // Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247\n  &[disabled] ~ .form-check-label,\n  &:disabled ~ .form-check-label {\n    @include themes($typography-theme-map, $create: parent) {\n      color: themes-get-value(\"text-muted\");\n    }\n  }\n}\n\n.form-check-label {\n  margin-bottom: 0; // Override default `<label>` bottom margin\n}\n\n.form-check-inline {\n  display: inline-flex;\n  align-items: center;\n  @include ltr {\n    padding-left: 0; // Override base .form-check\n    margin-right: $form-check-inline-margin-x;\n  }\n  @include rtl {\n    padding-right: 0; // Override base .form-check\n    margin-left: $form-check-inline-margin-x;\n  }\n\n  // Undo .form-check-input defaults and add some `margin-right`.\n  .form-check-input {\n    position: static;\n    margin-top: 0;\n    @include ltr {\n      margin-right: $form-check-inline-input-margin-x;\n      margin-left: 0;\n    }\n    @include rtl {\n      margin-right: 0;\n      margin-left: $form-check-inline-input-margin-x;\n    }\n  }\n}\n\n\n// Form validation\n//\n// Provide feedback to users when form field values are valid or invalid. Works\n// primarily for client-side validation via scoped `:invalid` and `:valid`\n// pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for\n// server side validation.\n\n@each $state, $data in $form-validation-states {\n  @include form-validation-state($state, map-get($data, color), map-get($data, icon));\n}\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n\n.form-inline {\n  display: flex;\n  flex-flow: row wrap;\n  align-items: center; // Prevent shorter elements from growing to same height as others (e.g., small buttons growing to normal sized button height)\n\n  // Because we use flex, the initial sizing of checkboxes is collapsed and\n  // doesn't occupy the full-width (which is what we want for xs grid tier),\n  // so we force that here.\n  .form-check {\n    width: 100%;\n  }\n\n  // Kick in the inline\n  @include media-breakpoint-up(sm) {\n    label {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      margin-bottom: 0;\n    }\n\n    // Inline-block all the things for \"inline\"\n    .form-group {\n      display: flex;\n      flex: 0 0 auto;\n      flex-flow: row wrap;\n      align-items: center;\n      margin-bottom: 0;\n    }\n\n    // Allow folks to *not* use `.form-group`\n    .form-control {\n      display: inline-block;\n      width: auto; // Prevent labels from stacking above inputs in `.form-group`\n      vertical-align: middle;\n    }\n\n    // Make static controls behave like regular ones\n    .form-control-plaintext {\n      display: inline-block;\n    }\n\n    .input-group,\n    .custom-select {\n      width: auto;\n    }\n\n    // Remove default margin on radios/checkboxes that were used for stacking, and\n    // then undo the floating of radios and checkboxes to match.\n    .form-check {\n      display: flex;\n      align-items: center;\n      justify-content: center;\n      width: auto;\n      @include ltr {\n        padding-left: 0;\n      }\n      @include rtl {\n        padding-right: 0;\n      }\n    }\n    .form-check-input {\n      position: relative;\n      flex-shrink: 0;\n      margin-top: 0;\n      @include ltr {\n        margin-right: $form-check-input-margin-x;\n        margin-left: 0;\n      }\n      @include rtl {\n        margin-right: 0;\n        margin-left: $form-check-input-margin-x;\n      }\n    }\n\n    .custom-control {\n      align-items: center;\n      justify-content: center;\n    }\n    .custom-control-label {\n      margin-bottom: 0;\n    }\n  }\n}\n\n.form-control-color {\n  max-width: 3rem;\n  padding: $input-padding-y;\n}\n\n.form-control-color::-moz-color-swatch {\n  @include border-radius($input-border-radius);\n}\n\n.form-control-color::-webkit-color-swatch {\n  @include border-radius($input-border-radius);\n}\n","// Bootstrap functions\n//\n// Utility mixins and functions for evaluating source code across our variables, maps, and mixins.\n\n// Ascending\n// Used to evaluate Sass maps like our grid breakpoints.\n@mixin _assert-ascending($map, $map-name) {\n  $prev-key: null;\n  $prev-num: null;\n  @each $key, $num in $map {\n    @if $prev-num == null or unit($num) == \"%\" or unit($prev-num) == \"%\" {\n      // Do nothing\n    } @else if not comparable($prev-num, $num) {\n      @warn \"Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n    } @else if $prev-num >= $num {\n      @warn \"Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !\";\n    }\n    $prev-key: $key;\n    $prev-num: $num;\n  }\n}\n\n// Starts at zero\n// Used to ensure the min-width of the lowest breakpoint starts at 0.\n@mixin _assert-starts-at-zero($map, $map-name: \"$grid-breakpoints\") {\n  @if length($map) > 0 {\n    $values: map-values($map);\n    $first-value: nth($values, 1);\n    @if $first-value != 0 {\n      @warn \"First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.\";\n    }\n  }\n}\n\n// Replace `$search` with `$replace` in `$string`\n// Used on our SVG icon backgrounds for custom forms.\n//\n// @author Hugo Giraudel\n// @param {String} $string - Initial string\n// @param {String} $search - Substring to replace\n// @param {String} $replace ('') - New value\n// @return {String} - Updated string\n@function str-replace($string, $search, $replace: \"\") {\n  $index: str-index($string, $search);\n\n  @if $index {\n    @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);\n  }\n\n  @return $string;\n}\n\n// See https://codepen.io/kevinweber/pen/dXWoRw\n@function escape-svg($string) {\n  @if str-index($string, \"data:image/svg+xml\") {\n    @each $char, $encoded in $escaped-characters {\n      // Do not escape the url brackets\n      @if str-index($string, \"url(\") == 1 {\n        $string: url(\"#{str-replace(str-slice($string, 6, -3), $char, $encoded)}\");\n      } @else {\n        $string: str-replace($string, $char, $encoded);\n      }\n    }\n  }\n\n  @return $string;\n}\n\n// Color contrast\n@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {\n  $r: red($color);\n  $g: green($color);\n  $b: blue($color);\n\n  $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;\n\n  @if ($yiq >= $yiq-contrasted-threshold) {\n    @return $dark;\n  } @else {\n    @return $light;\n  }\n}\n\n// Retrieve color Sass maps\n@function color($key: \"blue\") {\n  @return map-get($colors, $key);\n}\n\n@function theme-color($key: \"primary\") {\n  @return map-get($theme-colors, $key);\n}\n\n@function gray($key: \"100\") {\n  @return map-get($grays, $key);\n}\n\n// Request a theme color level\n// @function theme-color-level($color-name: \"primary\", $level: 0) {\n//   $color: theme-color($color-name);\n//   $color-base: if($level > 0, $black, $white);\n//   $level: abs($level);\n\n//   @return mix($color-base, $color, $level * $theme-color-interval);\n// }\n\n// scss-docs-start color-level\n@function theme-color-level($color, $level: 0) {\n  $color-base: if($level > 0, $black, $white);\n  $level: abs($level);\n\n  @return mix($color-base, $color, $level * $theme-color-interval);\n}\n// scss-docs-end color-level\n\n// Return valid calc\n@function add($value1, $value2, $return-calc: true) {\n  @if $value1 == null {\n    @return $value2;\n  }\n\n  @if $value2 == null {\n    @return $value1;\n  }\n\n  @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n    @return $value1 + $value2;\n  }\n\n  @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(\" + \") + $value2);\n}\n\n@function subtract($value1, $value2, $return-calc: true) {\n  @if $value1 == null and $value2 == null {\n    @return null;\n  }\n\n  @if $value1 == null {\n    @return -$value2;\n  }\n\n  @if $value2 == null {\n    @return $value1;\n  }\n\n  @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) {\n    @return $value1 - $value2;\n  }\n\n  @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(\" - \") + $value2);\n}\n","// Buttons + Forms\n//\n// scss-docs-start buttons-forms\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n$input-btn-padding-y:    .375rem !default;\n$input-btn-padding-x:    .75rem !default;\n$input-btn-font-family:  null !default;\n$input-btn-font-size:    $font-size-base !default;\n$input-btn-line-height:  $line-height-base !default;\n\n$input-btn-focus-width:       .2rem !default;\n$input-btn-focus-color:       rgba($component-active-bg, .25) !default;\n$input-btn-focus-box-shadow:  0 0 0 $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm:    .25rem !default;\n$input-btn-padding-x-sm:    .5rem !default;\n$input-btn-font-size-sm:    $font-size-sm !default;\n$input-btn-line-height-sm:  $line-height-sm !default;\n\n$input-btn-padding-y-lg:    .5rem !default;\n$input-btn-padding-x-lg:    1rem !default;\n$input-btn-font-size-lg:    $font-size-lg !default;\n$input-btn-line-height-lg:  $line-height-lg !default;\n\n$input-btn-border-width:  $border-width !default;\n// scss-docs-end buttons-forms\n\n\n// Buttons\n//\n// scss-docs-start buttons\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n$btn-padding-y:    $input-btn-padding-y !default;\n$btn-padding-x:    $input-btn-padding-x !default;\n$btn-font-family:  $input-btn-font-family !default;\n$btn-font-size:    $input-btn-font-size !default;\n$btn-line-height:  $input-btn-line-height !default;\n$btn-white-space:  null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:    $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:    $input-btn-padding-x-sm !default;\n$btn-font-size-sm:    $input-btn-font-size-sm !default;\n$btn-line-height-sm:  $input-btn-line-height-sm !default;\n\n$btn-padding-y-lg:    $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:    $input-btn-padding-x-lg !default;\n$btn-font-size-lg:    $input-btn-font-size-lg !default;\n$btn-line-height-lg:  $input-btn-line-height-lg !default;\n\n$btn-border-width:  $input-btn-border-width !default;\n\n$btn-font-weight:        $font-weight-normal !default;\n$btn-box-shadow:         inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:        $input-btn-focus-width !default;\n$btn-focus-box-shadow:   $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:   .65 !default;\n$btn-active-box-shadow:  inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-disabled-color:  $gray-600 !default;\n\n$btn-block-spacing-y: .5rem !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:     $border-radius !default;\n$btn-border-radius-lg:  $border-radius-lg !default;\n$btn-border-radius-sm:  $border-radius-sm !default;\n\n$btn-transition:  color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end buttons\n\n// Forms\n\n// scss-docs-start forms\n$label-margin-bottom:  .5rem !default;\n\n$input-padding-y:    $input-btn-padding-y !default;\n$input-padding-x:    $input-btn-padding-x !default;\n$input-font-family:  $input-btn-font-family !default;\n$input-font-size:    $input-btn-font-size !default;\n$input-font-weight:  $font-weight-base !default;\n$input-line-height:  $input-btn-line-height !default;\n\n$input-padding-y-sm:    $input-btn-padding-y-sm !default;\n$input-padding-x-sm:    $input-btn-padding-x-sm !default;\n$input-font-size-sm:    $input-btn-font-size-sm !default;\n$input-line-height-sm:  $input-btn-line-height-sm !default;\n\n$input-padding-y-lg:    $input-btn-padding-y-lg !default;\n$input-padding-x-lg:    $input-btn-padding-x-lg !default;\n$input-font-size-lg:    $input-btn-font-size-lg !default;\n$input-line-height-lg:  $input-btn-line-height-lg !default;\n\n$input-bg:           $white !default;\n$input-disabled-bg:  $gray-200 !default;\n\n$input-color:         $gray-700 !default;\n$input-border-color:  $gray-200 !default;\n$input-border-width:  $input-btn-border-width !default;\n$input-box-shadow:    inset 0 1px 1px rgba($black, .075) !default;\n\n$input-border-radius:     $border-radius !default;\n$input-border-radius-lg:  $border-radius-lg !default;\n$input-border-radius-sm:  $border-radius-sm !default;\n\n$input-focus-bg:            $input-bg !default;\n$input-focus-border-color:  lighten($component-active-bg, 25%) !default;\n$input-focus-color:         $input-color !default;\n$input-focus-width:         $input-btn-focus-width !default;\n$input-focus-box-shadow:    $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color:  $gray-600 !default;\n$input-plaintext-color:    $body-color !default;\n\n$input-height-border:  $input-border-width * 2 !default;\n\n$input-height-inner:          add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half:     add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter:  add($input-line-height * .25em, $input-padding-y / 2) !default;\n\n$input-height:     add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm:  add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg:  add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition:  border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-text-margin-top:  .25rem !default;\n\n$form-check-input-gutter:    1.25rem !default;\n$form-check-input-margin-y:  .3rem !default;\n$form-check-input-margin-x:  .25rem !default;\n\n$form-check-inline-margin-x:        .75rem !default;\n$form-check-inline-input-margin-x:  .3125rem !default;\n\n$form-grid-gutter-width:    10px !default;\n$form-group-margin-bottom:  1rem !default;\n\n$input-group-addon-color:         $input-color !default;\n$input-group-addon-bg:            $gray-100 !default;\n$input-group-addon-border-color:  $input-border-color !default;\n\n$select-option-bg: inherit !default;\n// scss-docs-end forms\n\n$form-theme-map: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-theme-map: map-merge(\n  (\n    default: (\n      \"input-bg\":                        $input-bg,\n      \"input-disabled-bg\":               $input-disabled-bg,\n      \"input-color\":                     $input-color,\n      \"input-border-color\":              $input-border-color,\n      \"input-focus-bg\":                  $input-focus-bg,\n      \"input-focus-border-color\":        $input-focus-border-color,\n      \"input-focus-color\":               $input-focus-color,\n      \"input-placeholder-color\":         $input-placeholder-color,\n      \"input-plaintext-color\":           $input-plaintext-color,\n      \"input-group-addon-color\":         $input-group-addon-color,\n      \"input-group-addon-bg\":            $input-group-addon-bg,\n      \"input-group-addon-border-color\":  $input-group-addon-border-color,\n      \"select-option-bg\":                $select-option-bg\n    )\n  ),\n  $form-theme-map\n);\n\n// Form validation\n\n$form-feedback-margin-top:     $form-text-margin-top !default;\n$form-feedback-font-size:      $small-font-size !default;\n$form-feedback-valid-color:    theme-color(\"success\") !default;\n$form-feedback-invalid-color:  theme-color(\"danger\") !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>\") !default;\n$form-feedback-icon-invalid-color:  $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>\") !default;\n\n$form-validation-states: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$form-validation-states: map-merge(\n  (\n    \"valid\": (\n      \"color\":  $form-feedback-valid-color,\n      \"icon\":   $form-feedback-icon-valid\n    ),\n    \"invalid\": (\n      \"color\":  $form-feedback-invalid-color,\n      \"icon\":   $form-feedback-icon-invalid\n    ),\n  ),\n  $form-validation-states\n);\n","// stylelint-disable property-blacklist, scss/dollar-variable-default\n\n// SCSS RFS mixin\n//\n// Automated font-resizing\n//\n// See https://github.com/twbs/rfs\n\n// Configuration\n\n// Base font size\n$rfs-base-font-size: 1.25rem !default;\n$rfs-font-size-unit: rem !default;\n\n// Breakpoint at where font-size starts decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n// Resize font-size based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != \"number\" or $rfs-factor <= 1 {\n  @error \"`#{$rfs-factor}` is not a valid  $rfs-factor, it must be greater than 1.\";\n}\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-responsive-font-sizes to false\n$enable-responsive-font-sizes: true !default;\n\n// Cache $rfs-base-font-size unit\n$rfs-base-font-size-unit: unit($rfs-base-font-size);\n\n// Remove px-unit from $rfs-base-font-size for calculations\n@if $rfs-base-font-size-unit == \"px\" {\n  $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);\n}\n@else if $rfs-base-font-size-unit == \"rem\" {\n  $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == \"px\" {\n  $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == \"rem\" or $rfs-breakpoint-unit-cache == \"em\" {\n  $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);\n}\n\n// Responsive font-size mixin\n@mixin rfs($fs, $important: false) {\n  // Cache $fs unit\n  $fs-unit: if(type-of($fs) == \"number\", unit($fs), false);\n\n  // Add !important suffix if needed\n  $rfs-suffix: if($important, \" !important\", \"\");\n\n  // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n  @if not $fs-unit or $fs-unit != \"\" and $fs-unit != \"px\" and $fs-unit != \"rem\" or $fs == 0 {\n    font-size: #{$fs}#{$rfs-suffix};\n  }\n  @else {\n    // Variables for storing static and fluid rescaling\n    $rfs-static: null;\n    $rfs-fluid: null;\n\n    // Remove px-unit from $fs for calculations\n    @if $fs-unit == \"px\" {\n      $fs: $fs / ($fs * 0 + 1);\n    }\n    @else if $fs-unit == \"rem\" {\n      $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);\n    }\n\n    // Set default font-size\n    @if $rfs-font-size-unit == rem {\n      $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};\n    }\n    @else if $rfs-font-size-unit == px {\n      $rfs-static: #{$fs}px#{$rfs-suffix};\n    }\n    @else {\n      @error \"`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.\";\n    }\n\n    // Only add media query if font-size is bigger as the minimum font-size\n    // If $rfs-factor == 1, no rescaling will take place\n    @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {\n      $min-width: null;\n      $variable-unit: null;\n\n      // Calculate minimum font-size for given font-size\n      $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;\n\n      // Calculate difference between given font-size and minimum font-size for given font-size\n      $fs-diff: $fs - $fs-min;\n\n      // Base font-size formatting\n      // No need to check if the unit is valid, because we did that before\n      $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);\n\n      // If two-dimensional, use smallest of screen width and height\n      $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n      // Calculate the variable width between 0 and $rfs-breakpoint\n      $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};\n\n      // Set the calculated font-size.\n      $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};\n    }\n\n    // Rendering\n    @if $rfs-fluid == null {\n      // Only render static font-size if no fluid font-size is available\n      font-size: $rfs-static;\n    }\n    @else {\n      $mq-value: null;\n\n      // RFS breakpoint formatting\n      @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {\n        $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};\n      }\n      @else if $rfs-breakpoint-unit == px {\n        $mq-value: #{$rfs-breakpoint}px;\n      }\n      @else {\n        @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n      }\n\n      @if $rfs-class == \"disable\" {\n        // Adding an extra class increases specificity,\n        // which prevents the media query to override the font size\n        &,\n        .disable-responsive-font-size &,\n        &.disable-responsive-font-size {\n          font-size: $rfs-static;\n        }\n      }\n      @else {\n        font-size: $rfs-static;\n      }\n\n      @if $rfs-two-dimensional {\n        @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n      @else {\n        @media (max-width: #{$mq-value}) {\n          @if $rfs-class == \"enable\" {\n            .enable-responsive-font-size &,\n            &.enable-responsive-font-size {\n              font-size: $rfs-fluid;\n            }\n          }\n          @else {\n            font-size: $rfs-fluid;\n          }\n\n          @if $rfs-safari-iframe-resize-bug-fix {\n            // stylelint-disable-next-line length-zero-no-unit\n            min-width: 0vw;\n          }\n        }\n      }\n    }\n  }\n}\n\n// The font-size & responsive-font-size mixin uses RFS to rescale font sizes\n@mixin font-size($fs, $important: false) {\n  @include rfs($fs, $important);\n}\n\n@mixin responsive-font-size($fs, $important: false) {\n  @include rfs($fs, $important);\n}\n","// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:  -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace:   SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n$font-family-base:        $font-family-sans-serif !default;\n// stylelint-enable value-keyword-case\n\n$font-size-base:  .875rem !default;\n$font-size-lg:    $font-size-base * 1.25 !default;\n$font-size-sm:    $font-size-base * .875 !default;\n\n$font-weight-lighter:  lighter !default;\n$font-weight-light:    300 !default;\n$font-weight-normal:   400 !default;\n$font-weight-bold:     700 !default;\n$font-weight-bolder:   bolder !default;\n\n$font-weight-base:  $font-weight-normal !default;\n$line-height-base:  1.5 !default;\n\n$h1-font-size:  $font-size-base * 2.5 !default;\n$h2-font-size:  $font-size-base * 2 !default;\n$h3-font-size:  $font-size-base * 1.75 !default;\n$h4-font-size:  $font-size-base * 1.5 !default;\n$h5-font-size:  $font-size-base * 1.25 !default;\n$h6-font-size:  $font-size-base !default;\n\n$headings-margin-bottom:  $spacer / 2 !default;\n$headings-font-family:    null !default;\n$headings-font-weight:    500 !default;\n$headings-line-height:    1.2 !default;\n$headings-color:          null !default;\n\n$display1-size:  6rem !default;\n$display2-size:  5.5rem !default;\n$display3-size:  4.5rem !default;\n$display4-size:  3.5rem !default;\n\n$display1-weight:      300 !default;\n$display2-weight:      300 !default;\n$display3-weight:      300 !default;\n$display4-weight:      300 !default;\n$display-line-height:  $headings-line-height !default;\n\n$lead-font-size:    $font-size-base * 1.25 !default;\n$lead-font-weight:  300 !default;\n\n$small-font-size:  80% !default;\n\n$text-muted:  $gray-700 !default;\n\n$blockquote-small-color:      $gray-600 !default;\n$blockquote-small-font-size:  $small-font-size !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n\n$hr-border-color:  rgba($black, .2) !default;\n$hr-border-width:  $border-width !default;\n\n$vr-bg:     rgba($black, .2) !default;\n$vr-width:  $border-width !default;\n\n$mark-padding:  .2em !default;\n\n$dt-font-weight:  $font-weight-bold !default;\n\n$kbd-box-shadow:          inset 0 -.1rem 0 rgba($black, .25) !default;\n$nested-kbd-font-weight:  $font-weight-bold !default;\n\n$list-inline-padding:  .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n\n$hr-margin-y:  $spacer !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:  1rem !default;\n\n// Icons\n//\n// Style .c-icon element.\n\n$icon-size-base:  1rem !default;\n$icon-size-sm:    $icon-size-base * .875 !default;\n$icon-size-lg:    $icon-size-base * 1.25 !default;\n$icon-size-xl:    $icon-size-base * 1.5 !default;\n\n\n$typography-theme-map: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$typography-theme-map: map-merge(\n  (\n    default: (\n      \"hr-border-color\":  $hr-border-color,\n      \"vr-bg\":            $vr-bg,\n      \"text-muted\":       $text-muted\n    )\n  ),\n  $typography-theme-map\n);\n","\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n$line-height-lg:  1.5 !default;\n$line-height-sm:  1.5 !default;\n\n$border-width:  1px !default;\n$border-color:  $gray-200 !default;\n\n$border-theme-map: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$border-theme-map: map-merge(\n  (\n    default: (\n      \"border-color\": $border-color\n    )\n  ),\n  $border-theme-map\n);\n\n$border-radius:     .25rem !default;\n$border-radius-lg:  .3rem !default;\n$border-radius-sm:  .2rem !default;\n\n$rounded-pill:  50rem !default;\n\n$box-shadow-sm:  0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow:     0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-lg:  0 1rem 3rem rgba($black, .175) !default;\n\n$component-color:  $body-color !default;\n$component-bg:     $white !default;\n\n$component-active-color:  $white !default;\n$component-active-bg:     theme-color(\"primary\") !default;\n\n$caret-width:           .3em !default;\n$caret-vertical-align:  $caret-width * .85 !default;\n$caret-spacing:         $caret-width * .85 !default;\n\n$transition-base:      all .2s ease-in-out !default;\n$transition-fade:      opacity .15s linear !default;\n$transition-collapse:  height .35s ease !default;\n\n$embed-responsive-aspect-ratios: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$embed-responsive-aspect-ratios: join(\n  (\n    (21 9),\n    (16 9),\n    (4 3),\n    (1 1),\n  ),\n  $embed-responsive-aspect-ratios\n);\n","//\n// CoreUI default colors\n//\n\n$white:  #fff !default;\n$black:  #000015 !default;\n\n$gray-base:  #3c4b64 !default;\n$gray-100:   #ebedef !default;\n$gray-200:   #d8dbe0 !default;\n$gray-300:   #c4c9d0 !default;\n$gray-400:   #b1b7c1 !default;\n$gray-500:   #9da5b1 !default;\n$gray-600:   #8a93a2 !default;\n$gray-700:   #768192 !default;\n$gray-800:   #636f83 !default;\n$gray-900:   #4f5d73 !default;\n\n$grays: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$grays: map-merge(\n  (\n    \"100\":  $gray-100,\n    \"200\":  $gray-200,\n    \"300\":  $gray-300,\n    \"400\":  $gray-400,\n    \"500\":  $gray-500,\n    \"600\":  $gray-600,\n    \"700\":  $gray-700,\n    \"800\":  $gray-800,\n    \"900\":  $gray-900\n  ),\n  $grays\n);\n\n$primary-base:  #321fdb !default;\n$primary-100:   #eae9fb !default;\n$primary-200:   #d6d2fb !default;\n$primary-300:   #c1bcf4 !default;\n$primary-400:   #ada5f1 !default;\n$primary-500:   #988fed !default;\n$primary-600:   #8478ea !default;\n$primary-700:   #6f62e6 !default;\n$primary-800:   #5b4ce2 !default;\n$primary-900:   #4635df !default;\n\n$primary-dark:  #1f1498 !default;\n$primary:       #321fdb !default;\n$primary-50:    #988fed !default;\n$primary-25:    #ccc7f6 !default;\n\n\n$secondary-base:  #3c4b64 !default;\n\n$secondary-100:   #ebedef !default;\n$secondary-200:   #d8dbe0 !default;\n$secondary-300:   #c4c9d0 !default;\n$secondary-400:   #b1b7c1 !default;\n$secondary-500:   #9da5b1 !default;\n$secondary-600:   #8a93a2 !default;\n$secondary-700:   #768192 !default;\n$secondary-800:   #636f83 !default;\n$secondary-900:   #4f5d73 !default;\n\n$secondary-dark:  #212233 !default;\n$secondary:       #3c4b64 !default;\n$secondary-50:    #9da5b1 !default;\n$secondary-25:    #ced2d8 !default;\n\n\n$danger-dark:  #d93737 !default;\n$danger:       #e55353 !default;\n$danger-50:    #f2a9a9 !default;\n$danger-25:    #f9d4d4 !default;\n\n$info-dark:  #2982cc !default;\n$info:       #39f !default;\n$info-50:    #80c6ff !default;\n$info-25:    #c0e6ff !default;\n\n$success-dark:  #1b9e3e !default;\n$success:       #2eb85c !default;\n$success-50:    #96dbad !default;\n$success-25:    #cbedd6 !default;\n\n$warning-dark:  #f6960b !default;\n$warning:       #f9b115 !default;\n$warning-50:    #fcd88a !default;\n$warning-25:    #feecc5 !default;\n\n$light:  $gray-100 !default;\n$dark:   $gray-800 !default;\n\n$pink:  #e83e8c !default;\n\n// scss-docs-start theme-colors-map\n$theme-colors: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$theme-colors: map-merge(\n  (\n    \"primary\":    $primary,\n    \"secondary\":  $secondary-25,\n    \"success\":    $success,\n    \"info\":       $info,\n    \"warning\":    $warning,\n    \"danger\":     $danger,\n    \"light\":      $light,\n    \"dark\":       $dark\n  ),\n  $theme-colors\n);\n// scss-docs-end theme-colors-map\n\n// Set a specific jump point for requesting color jumps\n$theme-color-interval:  8% !default;\n\n// The yiq lightness value that determines when the lightness of color changes from \"dark\" to \"light\". Acceptable values are between 0 and 255.\n$yiq-contrasted-threshold:  150 !default;\n\n// Customize the light and dark text colors for use in our YIQ color contrast function.\n$yiq-text-dark:   $gray-900 !default;\n$yiq-text-light:  $white !default;\n\n$yiq-theme-map: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$yiq-theme-map: map-merge(\n  (\n    default: (\n      \"yiq-text-dark\":  $yiq-text-dark,\n      \"yiq-text-light\":  $yiq-text-light\n    )\n  ),\n  $yiq-theme-map\n);\n\n// TODO: Move to better place\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n  (\"<\",\"%3c\"),\n  (\">\",\"%3e\"),\n  (\"#\",\"%23\"),\n  (\"(\",\"%28\"),\n  (\")\",\"%29\"),\n) !default;\n","// stylelint-disable property-blacklist\n// Single side border-radius\n\n// Helper function to replace negative values with 0\n@function valid-radius($radius) {\n  $return: ();\n  @each $value in $radius {\n    @if type-of($value) == number {\n      $return: append($return, max($value, 0));\n    } @else {\n      $return: append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {\n  @if $enable-rounded {\n    border-radius: valid-radius($radius);\n  }\n  @else if $fallback-border-radius != false {\n    border-radius: $fallback-border-radius;\n  }\n}\n\n@mixin border-top-radius($radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-right-radius($radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-left-radius($radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-left-radius($radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-right-radius($radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-right-radius($radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-left-radius($radius) {\n  @if $enable-rounded {\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n","// stylelint-disable property-blacklist\n@mixin transition($transition...) {\n  @if length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `$input-focus-border-color` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n@mixin form-control-focus($ignore-warning: false) {\n  &:focus {\n    @include themes($form-theme-map) {\n      color: themes-get-value(\"input-focus-color\");\n      background-color: themes-get-value(\"input-focus-bg\");\n      border-color: themes-get-value(\"input-focus-border-color\");\n    }\n    outline: 0;\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n    } @else {\n      // Avoid using mixin so we can pass custom focus shadow properly\n      box-shadow: $input-focus-box-shadow;\n    }\n  }\n  @include deprecate(\"The `form-control-focus()` mixin\", \"v4.4.0\", \"v5\", $ignore-warning);\n}\n\n// This mixin uses an `if()` technique to be compatible with Dart Sass\n// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(&, \"&\", \"\")}:#{$state},\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state($state, $color, $icon) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    @include font-size($form-feedback-font-size);\n    color: $color;\n  }\n\n  .#{$state}-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%; // Contain to parent when possible\n    padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;\n    margin-top: .1rem;\n    @include font-size($form-feedback-tooltip-font-size);\n    line-height: $form-feedback-tooltip-line-height;\n    color: color-yiq($color);\n    background-color: rgba($color, $form-feedback-tooltip-opacity);\n    @include border-radius($form-feedback-tooltip-border-radius);\n  }\n\n  @include form-validation-state-selector($state) {\n    ~ .#{$state}-feedback,\n    ~ .#{$state}-tooltip {\n      display: block;\n    }\n  }\n\n  .form-control {\n    @include form-validation-state-selector($state) {\n      border-color: $color;\n\n      @if $enable-validation-icons {\n        @include ltr {\n          padding-right: $input-height-inner;\n        }\n        @include rtl {\n          padding-left: $input-height-inner;\n        }\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        @include ltr {\n          background-position: right $input-height-inner-quarter center;\n        }\n        @include rtl {\n          background-position: left $input-height-inner-quarter center;\n        }\n        background-size: $input-height-inner-half $input-height-inner-half;\n      }\n\n      &:focus {\n        border-color: $color;\n        box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n      }\n    }\n  }\n\n  // stylelint-disable-next-line selector-no-qualifying-type\n  textarea.form-control {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        @include ltr {\n          padding-right: $input-height-inner;\n          background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n        }\n        @include rtl {\n          padding-left: $input-height-inner;\n          background-position: top $input-height-inner-quarter left $input-height-inner-quarter;\n        }\n      }\n    }\n  }\n\n  .custom-select {\n    @include form-validation-state-selector($state) {\n      border-color: $color;\n\n      @if $enable-validation-icons {\n        @include ltr {\n          padding-right: $custom-select-feedback-icon-padding-right;\n        }\n        @include rtl {\n          padding-left: $custom-select-feedback-icon-padding-right;\n        }\n        background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;\n      }\n\n      &:focus {\n        border-color: $color;\n        box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      ~ .form-check-label {\n        color: $color;\n      }\n\n      ~ .#{$state}-feedback,\n      ~ .#{$state}-tooltip {\n        display: block;\n      }\n    }\n  }\n\n  .custom-control-input {\n    @include form-validation-state-selector($state) {\n      ~ .custom-control-label {\n        color: $color;\n\n        &::before {\n          border-color: $color;\n        }\n      }\n\n      &:checked {\n        ~ .custom-control-label::before {\n          border-color: lighten($color, 10%);\n          @include gradient-bg(lighten($color, 10%));\n        }\n      }\n\n      &:focus {\n        ~ .custom-control-label::before {\n          box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n        }\n\n        &:not(:checked) ~ .custom-control-label::before {\n          border-color: $color;\n        }\n      }\n    }\n  }\n\n  // custom file\n  .custom-file-input {\n    @include form-validation-state-selector($state) {\n      ~ .custom-file-label {\n        border-color: $color;\n      }\n\n      &:focus {\n        ~ .custom-file-label {\n          border-color: $color;\n          box-shadow: 0 0 0 $input-focus-width rgba($color, .25);\n        }\n      }\n    }\n  }\n}\n","// Tooltips\n\n$tooltip-font-size:      $font-size-sm !default;\n$tooltip-max-width:      200px !default;\n$tooltip-color:          $white !default;\n$tooltip-bg:             $black !default;\n$tooltip-border-radius:  $border-radius !default;\n$tooltip-opacity:        .9 !default;\n$tooltip-padding-y:      .25rem !default;\n$tooltip-padding-x:      .5rem !default;\n$tooltip-margin:         0 !default;\n\n$tooltip-arrow-width:    .8rem !default;\n$tooltip-arrow-height:   .4rem !default;\n$tooltip-arrow-color:    $tooltip-bg !default;\n\n// Form tooltips must come after regular tooltips\n$form-feedback-tooltip-padding-y:      $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x:      $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size:      $tooltip-font-size !default;\n$form-feedback-tooltip-line-height:    $line-height-base !default;\n$form-feedback-tooltip-opacity:        $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius:  $tooltip-border-radius !default;\n","$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$custom-control-gutter:    .5rem !default;\n$custom-control-spacer-x:  1rem !default;\n$custom-control-cursor:    null !default;\n\n$custom-control-indicator-size:  1rem !default;\n\n$custom-control-indicator-bg-size:       50% 50% !default;\n$custom-control-indicator-box-shadow:    $input-box-shadow !default;\n$custom-control-indicator-border-width:  $input-border-width !default;\n\n$custom-control-label-color:  null !default;\n\n$custom-control-indicator-checked-box-shadow:    none !default;\n\n$custom-control-indicator-focus-box-shadow:    $input-focus-box-shadow !default;\n\n$custom-control-indicator-active-box-shadow:    none !default;\n\n$custom-checkbox-indicator-border-radius:  $border-radius !default;\n\n$custom-checkbox-indicator-indeterminate-box-shadow:    none !default;\n\n$custom-radio-indicator-border-radius:  50% !default;\n\n$custom-switch-width:                    $custom-control-indicator-size * 1.75 !default;\n$custom-switch-indicator-border-radius:  $custom-control-indicator-size / 2 !default;\n$custom-switch-indicator-size:           subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;\n\n$custom-select-padding-y:          $input-padding-y !default;\n$custom-select-padding-x:          $input-padding-x !default;\n$custom-select-font-family:        $input-font-family !default;\n$custom-select-font-size:          $input-font-size !default;\n$custom-select-height:             $input-height !default;\n$custom-select-indicator-padding:  1rem !default; // Extra padding to account for the presence of the background-image based indicator\n$custom-select-font-weight:        $input-font-weight !default;\n$custom-select-line-height:        $input-line-height !default;\n\n$custom-select-bg-size:            8px 10px !default; // In pixels because image dimensions\n\n$custom-select-feedback-icon-padding-right:  add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-position:       center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;\n$custom-select-feedback-icon-size:           $input-height-inner-half $input-height-inner-half !default;\n\n$custom-select-border-width:   $input-border-width !default;\n$custom-select-border-radius:  $border-radius !default;\n$custom-select-box-shadow:     inset 0 1px 2px rgba($black, .075) !default;\n\n$custom-select-focus-width:         $input-focus-width !default;\n$custom-select-focus-box-shadow:    0 0 0 $custom-select-focus-width $input-btn-focus-color !default;\n\n$custom-select-padding-y-sm:  $input-padding-y-sm !default;\n$custom-select-padding-x-sm:  $input-padding-x-sm !default;\n$custom-select-font-size-sm:  $input-font-size-sm !default;\n$custom-select-height-sm:     $input-height-sm !default;\n\n$custom-select-padding-y-lg:  $input-padding-y-lg !default;\n$custom-select-padding-x-lg:  $input-padding-x-lg !default;\n$custom-select-font-size-lg:  $input-font-size-lg !default;\n$custom-select-height-lg:     $input-height-lg !default;\n\n$custom-range-track-width:          100% !default;\n$custom-range-track-height:         .5rem !default;\n$custom-range-track-cursor:         pointer !default;\n$custom-range-track-border-radius:  1rem !default;\n$custom-range-track-box-shadow:     inset 0 .25rem .25rem rgba($black, .1) !default;\n\n$custom-range-thumb-width:                   1rem !default;\n$custom-range-thumb-height:                  $custom-range-thumb-width !default;\n$custom-range-thumb-border:                  0 !default;\n$custom-range-thumb-border-radius:           1rem !default;\n$custom-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;\n$custom-range-thumb-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$custom-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in IE/Edge\n\n$custom-file-height:              $input-height !default;\n$custom-file-height-inner:        $input-height-inner !default;\n$custom-file-focus-box-shadow:    $input-focus-box-shadow !default;\n\n$custom-file-padding-y:      $input-padding-y !default;\n$custom-file-padding-x:      $input-padding-x !default;\n$custom-file-line-height:    $input-line-height !default;\n$custom-file-font-family:    $input-font-family !default;\n$custom-file-font-weight:    $input-font-weight !default;\n\n$custom-file-border-width:   $input-border-width !default;\n\n$custom-file-border-radius:  $input-border-radius !default;\n$custom-file-box-shadow:     $input-box-shadow !default;\n$custom-file-text: (\n  en: \"Browse\"\n) !default;\n\n\n// Default Theme\n\n$custom-control-indicator-bg:            $input-bg !default;\n$custom-control-indicator-border-color:  $gray-500 !default;\n$custom-control-indicator-disabled-bg:   $input-disabled-bg !default;\n\n$custom-control-label-disabled-color:  $gray-600 !default;\n\n$custom-control-indicator-checked-color:         $component-active-color !default;\n$custom-control-indicator-checked-bg:            $component-active-bg !default;\n$custom-control-indicator-checked-disabled-bg:   rgba(theme-color(\"primary\"), .5) !default;\n$custom-control-indicator-checked-border-color:  $custom-control-indicator-checked-bg !default;\n\n$custom-control-indicator-focus-border-color:  $input-focus-border-color !default;\n\n$custom-control-indicator-active-color:         $component-active-color !default;\n$custom-control-indicator-active-bg:            lighten($component-active-bg, 35%) !default;\n$custom-control-indicator-active-border-color:  $custom-control-indicator-active-bg !default;\n\n$custom-checkbox-indicator-icon-checked:                url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>\") !default;\n$custom-checkbox-indicator-indeterminate-bg:            $component-active-bg !default;\n$custom-checkbox-indicator-indeterminate-color:         $custom-control-indicator-checked-color !default;\n$custom-checkbox-indicator-indeterminate-border-color:  $custom-checkbox-indicator-indeterminate-bg !default;\n$custom-checkbox-indicator-icon-indeterminate:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>\") !default;\n\n$custom-radio-indicator-icon-checked:  url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>\") !default;\n\n$custom-select-color:               $input-color !default;\n$custom-select-disabled-color:      $gray-600 !default;\n$custom-select-bg:                  $input-bg !default;\n$custom-select-disabled-bg:         $gray-200 !default;\n$custom-select-indicator-color:     $gray-800 !default;\n$custom-select-indicator:           url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>\") !default;\n$custom-select-background:          escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)\n$custom-select-border-color:        $input-border-color !default;\n$custom-select-focus-border-color:  $input-focus-border-color !default;\n\n$custom-range-track-bg:           $gray-300 !default;\n$custom-range-thumb-bg:           $component-active-bg !default;\n$custom-range-thumb-active-bg:    lighten($component-active-bg, 35%) !default;\n$custom-range-thumb-disabled-bg:  $gray-500 !default;\n\n$custom-file-focus-border-color:  $input-focus-border-color !default;\n$custom-file-disabled-bg:         $input-disabled-bg !default;\n$custom-file-color:               $input-color !default;\n$custom-file-bg:                  $input-bg !default;\n$custom-file-border-color:        $input-border-color !default;\n$custom-file-button-color:        $custom-file-color !default;\n$custom-file-button-bg:           $input-group-addon-bg !default;\n\n\n$custom-forms-theme-map: () !default;\n// stylelint-disable-next-line scss/dollar-variable-default\n$custom-forms-theme-map: map-merge(\n  (\n    default: (\n      \"custom-control-indicator-bg\":                           $custom-control-indicator-bg,\n      \"custom-control-indicator-border-color\":                 $custom-control-indicator-border-color,\n      \"custom-control-indicator-disabled-bg\":                  $custom-control-indicator-disabled-bg,\n      \"custom-control-label-disabled-color\":                   $custom-control-label-disabled-color,\n      \"custom-control-indicator-checked-color\":                $custom-control-indicator-checked-color,\n      \"custom-control-indicator-checked-bg\":                   $custom-control-indicator-checked-bg,\n      \"custom-control-indicator-checked-disabled-bg\":          $custom-control-indicator-checked-disabled-bg,\n      \"custom-control-indicator-checked-border-color\":         $custom-control-indicator-checked-border-color,\n      \"custom-control-indicator-focus-border-color\":           $custom-control-indicator-focus-border-color,\n      \"custom-control-indicator-active-color\":                 $custom-control-indicator-active-color,\n      \"custom-control-indicator-active-bg\":                    $custom-control-indicator-active-bg,\n      \"custom-control-indicator-active-border-color\":          $custom-control-indicator-active-border-color,\n      \"custom-checkbox-indicator-icon-checked\":                $custom-checkbox-indicator-icon-checked,\n      \"custom-checkbox-indicator-indeterminate-bg\":            $custom-checkbox-indicator-indeterminate-bg,\n      \"custom-checkbox-indicator-indeterminate-color\":         $custom-checkbox-indicator-indeterminate-color,\n      \"custom-checkbox-indicator-indeterminate-border-color\":  $custom-checkbox-indicator-indeterminate-border-color,\n      \"custom-checkbox-indicator-icon-indeterminate\":          $custom-checkbox-indicator-icon-indeterminate,\n      \"custom-radio-indicator-icon-checked\":                   $custom-radio-indicator-icon-checked,\n      \"custom-select-color\":                                   $custom-select-color,\n      \"custom-select-disabled-color\":                          $custom-select-disabled-color,\n      \"custom-select-bg\":                                      $custom-select-bg,\n      \"custom-select-disabled-bg\":                             $custom-select-disabled-bg,\n      \"custom-select-indicator-color\":                         $custom-select-indicator-color,\n      \"custom-select-indicator\":                               $custom-select-indicator,\n      \"custom-select-background\":                              $custom-select-background,\n      \"custom-select-border-color\":                            $custom-select-border-color,\n      \"custom-select-focus-border-color\":                      $custom-select-focus-border-color,\n      \"custom-range-track-bg\":                                 $custom-range-track-bg,\n      \"custom-range-thumb-bg\":                                 $custom-range-thumb-bg,\n      \"custom-range-thumb-active-bg\":                          $custom-range-thumb-active-bg,\n      \"custom-range-thumb-disabled-bg\":                        $custom-range-thumb-disabled-bg,\n      \"custom-file-focus-border-color\":                        $custom-file-focus-border-color,\n      \"custom-file-disabled-bg\":                               $custom-file-disabled-bg,\n      \"custom-file-color\":                                     $custom-file-color,\n      \"custom-file-bg\":                                        $custom-file-bg,\n      \"custom-file-border-color\":                              $custom-file-border-color,\n      \"custom-file-button-color\":                              $custom-file-button-color,\n      \"custom-file-button-bg\":                                 $custom-file-button-bg\n    )\n  ),\n  $custom-forms-theme-map\n);\n","// Gradients\n\n@mixin gradient-bg($color) {\n  @if $enable-gradients {\n    background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;\n  } @else {\n    background-color: $color;\n  }\n}\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n  background-repeat: repeat-x;\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n  background-repeat: repeat-x;\n}\n\n@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n  background-repeat: repeat-x;\n}\n@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {\n  background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n  background-repeat: no-repeat;\n}\n@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {\n  background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Name of the previous breakpoint, or null for the first breakpoint.\n//\n//    >> breakpoint-before(lg)\n//    md\n//    >> breakpoint-next(lg, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    md\n//    >> breakpoint-next(lg, $breakpoint-names: (xs sm md lg xl))\n//    md\n@function breakpoint-before($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n - 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $next: breakpoint-next($name, $breakpoints);\n  @return if($next, breakpoint-min($next, $breakpoints) - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  $max: breakpoint-max($name, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($name, $breakpoints) {\n      @content;\n    }\n  }\n}\n"]}