{"version":3,"sources":["../scss/_button-group.scss","../scss/mixins/_hover.scss","../scss/mixins/_ltr.scss","../scss/variables/components/_shared.scss","../scss/mixins/_rtl.scss","../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAGA,WACA,oBACE,SAAU,SACV,QAAS,YACT,eAAgB,OAEd,yBAAA,gBACA,SAAU,SACV,KAAM,EAAA,EAAA,KCCY,qBAA2B,yBAC5C,+BAAA,sBDGC,QAAS,GAPP,gCAAA,gCAAA,+BAAA,uBAAA,uBAAA,sBAYF,QAAS,EAMf,aACE,QAAS,KACT,UAAW,KACX,gBAAiB,WAEjB,0BACE,MAAO,KE7BO,4DFmCO,sDAGnB,YGjCU,KCLN,kDJmCe,4CAMnB,aGpCU,KH2CoB,gEADY,2EKjB5C,wBLmB+B,EKlB/B,2BLkB+B,EAIE,iEAlBZ,sDKSrB,uBLU8B,EKT9B,0BLS8B,EAME,sDAbY,iEKH5C,uBLiB8B,EKhB9B,0BLgB8B,EAIG,uDA9BZ,4CKLrB,wBLoC+B,EKnC/B,2BLmC+B,EAiBnC,uBACE,cAAe,SACf,aAAc,SAFM,kDEnFJ,6DAAA,0DF2FZ,YAAa,EARG,wCInFZ,mDAAA,gDJ8FJ,aAAc,EAXE,6DAiBhB,aAAc,EAjBE,mDAoBhB,YAAa,EAKT,0CAAA,+BACR,cAAe,QACf,aAAc,QAGN,0CAAA,+BACR,cAAe,OACf,aAAc,OAqBhB,oBACE,eAAgB,OAChB,YAAa,WACb,gBAAiB,OAEf,yBACA,+BACA,MAAO,KA5Gc,iDAAA,2CAiHrB,WG/IY,KHoJkB,qDA1Gc,gEKV5C,2BLqH8B,EKpH9B,0BLoH8B,EAIC,sDA3HV,2CKZrB,uBLwI2B,EKvI3B,wBLuI2B,EAkB3B,uBACa,kCACb,cAAe,EAGT,4CADA,yCACA,uDADA,oDAEJ,SAAU,SACV,KAAM,cACN,eAAgB","sourcesContent":["// stylelint-disable selector-no-qualifying-type\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n\n  > .btn {\n    position: relative;\n    flex: 1 1 auto;\n\n    // Bring the hover, focused, and \"active\" buttons to the front to overlay\n    // the borders properly\n    @include hover() {\n      z-index: 1;\n    }\n    &:focus,\n    &:active,\n    &.active {\n      z-index: 1;\n    }\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n\n  .input-group {\n    width: auto;\n  }\n}\n\n.btn-group {\n  // Prevent double borders when buttons are next to each other\n  > .btn:not(:first-child),\n  > .btn-group:not(:first-child) {\n    @include ltr {\n      margin-left: -$btn-border-width;\n    }\n    @include rtl {\n      margin-right: -$btn-border-width;\n    }\n  }\n\n  // Reset rounded corners\n  @include ltr {\n    > .btn:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > .btn {\n      @include border-right-radius(0);\n    }\n\n    > .btn:not(:first-child),\n    > .btn-group:not(:first-child) > .btn {\n      @include border-left-radius(0);\n    }\n  }\n\n  @include rtl {\n    > .btn:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > .btn {\n      @include border-left-radius(0);\n    }\n\n    > .btn:not(:first-child),\n    > .btn-group:not(:first-child) > .btn {\n      @include border-right-radius(0);\n    }\n  }\n}\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-sm > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n  padding-right: $btn-padding-x * .75;\n  padding-left: $btn-padding-x * .75;\n\n  &::after,\n  .dropup &::after,\n  .dropright &::after {\n    @include ltr {\n      margin-left: 0;\n    }\n    @include rtl {\n      margin-right: 0;\n    }\n  }\n\n  .dropleft &::before {\n    @include ltr {\n      margin-right: 0;\n    }\n    @include rtl {\n      margin-left: 0;\n    }\n  }\n}\n\n.btn-sm + .dropdown-toggle-split {\n  padding-right: $btn-padding-x-sm * .75;\n  padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n  padding-right: $btn-padding-x-lg * .75;\n  padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n\n.btn-group.show .dropdown-toggle {\n  @include box-shadow($btn-active-box-shadow);\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    @include box-shadow(none);\n  }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n  flex-direction: column;\n  align-items: flex-start;\n  justify-content: center;\n\n  > .btn,\n  > .btn-group {\n    width: 100%;\n  }\n\n  > .btn:not(:first-child),\n  > .btn-group:not(:first-child) {\n    margin-top: -$btn-border-width;\n  }\n\n  // Reset rounded corners\n  > .btn:not(:last-child):not(.dropdown-toggle),\n  > .btn-group:not(:last-child) > .btn {\n    @include border-bottom-radius(0);\n  }\n\n  > .btn:not(:first-child),\n  > .btn-group:not(:first-child) > .btn {\n    @include border-top-radius(0);\n  }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n  > .btn,\n  > .btn-group > .btn {\n    margin-bottom: 0; // Override default `<label>` value\n\n    input[type=\"radio\"],\n    input[type=\"checkbox\"] {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n  }\n}\n","// Hover mixin and `$enable-hover-media-query` are deprecated.\n//\n// Originally added during our alphas and maintained during betas, this mixin was\n// designed to prevent `:hover` stickiness on iOS-an issue where hover styles\n// would persist after initial touch.\n//\n// For backward compatibility, we've kept these mixins and updated them to\n// always return their regular pseudo-classes instead of a shimmed media query.\n//\n// Issue: https://github.com/twbs/bootstrap/issues/25195\n\n@mixin hover() {\n  @media (hover: hover), (-ms-high-contrast: none) {\n    &:hover { @content; }\n  }\n}\n\n@mixin hover-focus() {\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin plain-hover-focus() {\n  &,\n  &:hover,\n  &:focus {\n    @content;\n  }\n}\n\n@mixin hover-focus-active() {\n  &:hover,\n  &:focus,\n  &:active {\n    @content;\n  }\n}\n","@mixin ltr {\n  @if $enable-ltr {\n    @if & {\n      & {\n        html:not([dir=\"rtl\"]) & {\n          @content;\n        }\n      }\n    }\n    @else {\n      html:not([dir=\"rtl\"]) {\n        @content;\n      }\n    }\n  }\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","@mixin rtl {\n  @if $enable-rtl {\n    @if & {\n      & {\n        *[dir=\"rtl\"] & {\n          @content;\n        }\n      }\n    }\n    @else {\n      *[dir=\"rtl\"] {\n        @content;\n      }\n    }\n  }\n}\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"]}