]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
v6: Use token Sass map to customize CSS variables instead of Sass variables (#41983)
authorMark Otto <markd.otto@gmail.com>
Tue, 3 Mar 2026 18:51:44 +0000 (10:51 -0800)
committerGitHub <noreply@github.com>
Tue, 3 Mar 2026 18:51:44 +0000 (10:51 -0800)
* Test out using a Sass map for component tokens

* improvements, show how root would work

* WIP updating components to use new map

* more

* fix unused vars, fix test

* Start form vars

* Improve some code work

* Amazing form-range update

- New CSS vars and tokens
- New mixins

* More CSS vars tokens

* OTP tokens

* Tons of tokens updates, also some validation improvements

* fix bundlewatch

* mdx lint

* more bundlewatch

* fixes

* fix dupe id

* Remove button-variables.scss, update buttons to use token maps

* more

* more

* improve tests

* more improvements, lots of docs updates

* bump bundle

* revamp so we can customize, update docs

* fix

* simpler

* fixes

* use mixin instead, check for null values

* better customizing maps

* improvements

* update docs, update bundle

178 files changed:
.bundlewatch.config.json
dist/css/bootstrap-grid.css
dist/css/bootstrap-grid.css.map
dist/css/bootstrap-reboot.css
dist/css/bootstrap-reboot.css.map
dist/css/bootstrap-utilities.css
dist/css/bootstrap-utilities.css.map
dist/css/bootstrap.css
dist/css/bootstrap.css.map
dist/js/bootstrap.bundle.js
dist/js/bootstrap.bundle.js.map
dist/js/bootstrap.esm.js
dist/js/bootstrap.esm.js.map
dist/js/bootstrap.js
dist/js/bootstrap.js.map
js/dist/alert.js
js/dist/base-component.js
js/dist/base-component.js.map
js/dist/button.js
js/dist/carousel.js
js/dist/chip-input.js
js/dist/collapse.js
js/dist/datepicker.js
js/dist/dialog.js
js/dist/dom/data.js
js/dist/dom/event-handler.js
js/dist/dom/manipulator.js
js/dist/dom/selector-engine.js
js/dist/dropdown.js
js/dist/offcanvas.js
js/dist/otp-input.js
js/dist/popover.js
js/dist/scrollspy.js
js/dist/strength.js
js/dist/tab.js
js/dist/toast.js
js/dist/toggler.js
js/dist/tooltip.js
js/dist/util/backdrop.js
js/dist/util/component-functions.js
js/dist/util/config.js
js/dist/util/floating-ui.js
js/dist/util/focustrap.js
js/dist/util/index.js
js/dist/util/sanitizer.js
js/dist/util/scrollbar.js
js/dist/util/swipe.js
js/dist/util/template-factory.js
scss/_accordion.scss
scss/_alert.scss
scss/_avatar.scss
scss/_badge.scss
scss/_breadcrumb.scss
scss/_card.scss
scss/_carousel.scss
scss/_chip.scss
scss/_config.scss
scss/_datepicker.scss
scss/_dialog.scss
scss/_dropdown.scss
scss/_functions.scss
scss/_list-group.scss
scss/_nav.scss
scss/_navbar.scss
scss/_offcanvas.scss
scss/_pagination.scss
scss/_placeholder.scss
scss/_popover.scss
scss/_progress.scss
scss/_root.scss
scss/_spinner.scss
scss/_stepper.scss
scss/_theme.scss
scss/_toasts.scss
scss/_tooltip.scss
scss/_variables.scss
scss/bootstrap.scss
scss/buttons/_button-group.scss
scss/buttons/_button-variables.scss [deleted file]
scss/buttons/_button.scss
scss/buttons/_close.scss
scss/buttons/index.scss
scss/content/_images.scss
scss/content/_prose.scss
scss/content/_reboot.scss
scss/content/_tables.scss
scss/content/_type.scss
scss/forms/_check.scss
scss/forms/_chip-input.scss
scss/forms/_floating-labels.scss
scss/forms/_form-adorn.scss
scss/forms/_form-control.scss
scss/forms/_form-range.scss
scss/forms/_form-text.scss
scss/forms/_form-variables.scss
scss/forms/_input-group.scss
scss/forms/_labels.scss
scss/forms/_otp-input.scss
scss/forms/_radio.scss
scss/forms/_strength.scss
scss/forms/_switch.scss
scss/forms/_validation.scss
scss/helpers/_theme-colors.scss [new file with mode: 0644]
scss/helpers/_vr.scss
scss/helpers/index.scss
scss/mixins/_border-radius.scss
scss/mixins/_tokens.scss [new file with mode: 0644]
scss/mixins/index.scss
scss/tests/jasmine.js
scss/tests/modules/_configuration.test.scss
scss/tests/modules/_root-tokens-bootstrap.test.scss [new file with mode: 0644]
scss/tests/modules/_root-tokens.test.scss [new file with mode: 0644]
site/astro.config.ts
site/data/sidebar.yml
site/src/components/home/Customize.astro
site/src/components/shortcodes/CSSVariables.astro
site/src/components/shortcodes/Code.astro
site/src/content/docs/components/accordion.mdx
site/src/content/docs/components/alert.mdx
site/src/content/docs/components/avatar.mdx
site/src/content/docs/components/badge.mdx
site/src/content/docs/components/breadcrumb.mdx
site/src/content/docs/components/buttons.mdx
site/src/content/docs/components/card.mdx
site/src/content/docs/components/carousel.mdx
site/src/content/docs/components/close-button.mdx
site/src/content/docs/components/dialog.mdx
site/src/content/docs/components/dropdown.mdx
site/src/content/docs/components/list-group.mdx
site/src/content/docs/components/navbar.mdx
site/src/content/docs/components/navs-tabs.mdx
site/src/content/docs/components/offcanvas.mdx
site/src/content/docs/components/pagination.mdx
site/src/content/docs/components/placeholder.mdx
site/src/content/docs/components/popover.mdx
site/src/content/docs/components/progress.mdx
site/src/content/docs/components/spinner.mdx
site/src/content/docs/components/stepper.mdx
site/src/content/docs/components/toasts.mdx
site/src/content/docs/components/tooltip.mdx
site/src/content/docs/content/figures.mdx [deleted file]
site/src/content/docs/content/images.mdx
site/src/content/docs/content/prose.mdx
site/src/content/docs/content/tables.mdx
site/src/content/docs/content/typography.mdx
site/src/content/docs/customize/color-modes.mdx
site/src/content/docs/customize/color.mdx
site/src/content/docs/customize/css-variables.mdx
site/src/content/docs/customize/sass.mdx
site/src/content/docs/customize/theme.mdx
site/src/content/docs/forms/checkbox.mdx
site/src/content/docs/forms/chip-input.mdx
site/src/content/docs/forms/datepicker.mdx
site/src/content/docs/forms/floating-labels.mdx
site/src/content/docs/forms/form-adorn.mdx
site/src/content/docs/forms/form-control.mdx
site/src/content/docs/forms/input-group.mdx
site/src/content/docs/forms/otp-input.mdx
site/src/content/docs/forms/overview.mdx
site/src/content/docs/forms/password-strength.mdx
site/src/content/docs/forms/radio.mdx
site/src/content/docs/forms/range.mdx
site/src/content/docs/forms/switch.mdx
site/src/content/docs/forms/validation.mdx
site/src/content/docs/getting-started/approach.mdx
site/src/content/docs/helpers/focus-ring.mdx
site/src/content/docs/helpers/vertical-rule.mdx
site/src/content/docs/utilities/background.mdx
site/src/content/docs/utilities/border-radius.mdx
site/src/content/docs/utilities/colors.mdx
site/src/scss/_callouts.scss
site/src/scss/_colors.scss [deleted file]
site/src/scss/_component-examples.scss
site/src/scss/_content.scss
site/src/scss/_masthead.scss
site/src/scss/_syntax.scss
site/src/scss/_variables.scss
site/src/scss/docs.scss

index 312cceb0fd6d6b0969cedfec9ecb638675437cdc..40a006a1c2a06f0c909da3219cfb9dfdd28ea24d 100644 (file)
@@ -2,11 +2,11 @@
   "files": [
     {
       "path": "./dist/css/bootstrap-grid.css",
-      "maxSize": "9.5 kB"
+      "maxSize": "9.25 kB"
     },
     {
       "path": "./dist/css/bootstrap-grid.min.css",
-      "maxSize": "10.25 kB"
+      "maxSize": "10.0 kB"
     },
     {
       "path": "./dist/css/bootstrap-reboot.css",
     },
     {
       "path": "./dist/css/bootstrap-reboot.min.css",
-      "maxSize": "6.75 kB"
+      "maxSize": "6.5 kB"
     },
     {
       "path": "./dist/css/bootstrap-utilities.css",
-      "maxSize": "14.25 kB"
+      "maxSize": "14.5 kB"
     },
     {
       "path": "./dist/css/bootstrap-utilities.min.css",
-      "maxSize": "15.0 kB"
+      "maxSize": "15.25 kB"
     },
     {
       "path": "./dist/css/bootstrap.css",
-      "maxSize": "39.25 kB"
+      "maxSize": "40.75 kB"
     },
     {
       "path": "./dist/css/bootstrap.min.css",
-      "maxSize": "37.75 kB"
+      "maxSize": "39.5 kB"
     },
     {
       "path": "./dist/js/bootstrap.bundle.js",
-      "maxSize": "68.25 kB"
+      "maxSize": "68.5 kB"
     },
     {
       "path": "./dist/js/bootstrap.bundle.min.js",
index 657018708737fa610120153152afd06dc9dff9d1..8770ab8f5b2278a99cc44862f08b6c6c5fc88d6c 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors
+  * Copyright 2011-2026 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 :root {
   --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));
 }
 
-.theme-primary {
-  --bs-theme-base: var(--bs-primary-base);
-  --bs-theme-text: var(--bs-primary-text);
-  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);
-  --bs-theme-bg: var(--bs-primary-bg);
-  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-primary-bg-muted);
-  --bs-theme-border: var(--bs-primary-border);
-  --bs-theme-focus-ring: var(--bs-primary-focus-ring);
-  --bs-theme-contrast: var(--bs-primary-contrast);
-}
-
-.theme-accent {
-  --bs-theme-base: var(--bs-accent-base);
-  --bs-theme-text: var(--bs-accent-text);
-  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);
-  --bs-theme-bg: var(--bs-accent-bg);
-  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-accent-bg-muted);
-  --bs-theme-border: var(--bs-accent-border);
-  --bs-theme-focus-ring: var(--bs-accent-focus-ring);
-  --bs-theme-contrast: var(--bs-accent-contrast);
-}
-
-.theme-success {
-  --bs-theme-base: var(--bs-success-base);
-  --bs-theme-text: var(--bs-success-text);
-  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);
-  --bs-theme-bg: var(--bs-success-bg);
-  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-success-bg-muted);
-  --bs-theme-border: var(--bs-success-border);
-  --bs-theme-focus-ring: var(--bs-success-focus-ring);
-  --bs-theme-contrast: var(--bs-success-contrast);
-}
-
-.theme-danger {
-  --bs-theme-base: var(--bs-danger-base);
-  --bs-theme-text: var(--bs-danger-text);
-  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);
-  --bs-theme-bg: var(--bs-danger-bg);
-  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-danger-bg-muted);
-  --bs-theme-border: var(--bs-danger-border);
-  --bs-theme-focus-ring: var(--bs-danger-focus-ring);
-  --bs-theme-contrast: var(--bs-danger-contrast);
-}
-
-.theme-warning {
-  --bs-theme-base: var(--bs-warning-base);
-  --bs-theme-text: var(--bs-warning-text);
-  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);
-  --bs-theme-bg: var(--bs-warning-bg);
-  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-warning-bg-muted);
-  --bs-theme-border: var(--bs-warning-border);
-  --bs-theme-focus-ring: var(--bs-warning-focus-ring);
-  --bs-theme-contrast: var(--bs-warning-contrast);
-}
-
-.theme-info {
-  --bs-theme-base: var(--bs-info-base);
-  --bs-theme-text: var(--bs-info-text);
-  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);
-  --bs-theme-bg: var(--bs-info-bg);
-  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-info-bg-muted);
-  --bs-theme-border: var(--bs-info-border);
-  --bs-theme-focus-ring: var(--bs-info-focus-ring);
-  --bs-theme-contrast: var(--bs-info-contrast);
-}
-
-.theme-inverse {
-  --bs-theme-base: var(--bs-inverse-base);
-  --bs-theme-text: var(--bs-inverse-text);
-  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);
-  --bs-theme-bg: var(--bs-inverse-bg);
-  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);
-  --bs-theme-border: var(--bs-inverse-border);
-  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);
-  --bs-theme-contrast: var(--bs-inverse-contrast);
-}
-
-.theme-secondary {
-  --bs-theme-base: var(--bs-secondary-base);
-  --bs-theme-text: var(--bs-secondary-text);
-  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);
-  --bs-theme-bg: var(--bs-secondary-bg);
-  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);
-  --bs-theme-border: var(--bs-secondary-border);
-  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);
-  --bs-theme-contrast: var(--bs-secondary-contrast);
-}
-
 @layer layout {
   .container,
   .container-fluid,
index 155c6035be3ab673e4e81aecffa0163bea52fda2..be737a29b55bbc92dd364946c611184690db3fc6 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-grid.css","../../scss/_theme.scss","../../scss/layout/_containers.scss","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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N4vCV;EM7vCQ;IACE,wBAAA;EN+vCV;EMhwCQ;IACE,yBAAA;ENkwCV;EMnwCQ;IACE,yBAAA;ENqwCV;EMtwCQ;IACE,yBAAA;ENwwCV;EMjwCQ;IACE,oBAFS;ENqwCnB;EMpwCQ;IACE,oBAFS;ENwwCnB;EMvwCQ;IACE,oBAFS;EN2wCnB;EM1wCQ;IACE,oBAFS;EN8wCnB;EM7wCQ;IACE,oBAFS;ENixCnB;EMhxCQ;IACE,oBAFS;ENoxCnB;EMnxCQ;IACE,oBAFS;ENuxCnB;EMtxCQ;IACE,oBAFS;EN0xCnB;EMzxCQ;IACE,oBAFS;EN6xCnB;EM5xCQ;IACE,qBAFS;ENgyCnB;EM/xCQ;IACE,qBAFS;ENmyCnB;EG92CE;IGoEM;MACE,wBAAA;IN6yCR;IM9yCM;MACE,wBAAA;INgzCR;IMjzCM;MACE,wBAAA;INmzCR;IMpzCM;MACE,wBAAA;INszCR;IMvzCM;MACE,wBAAA;INyzCR;IM1zCM;MACE,wBAAA;IN4zCR;IM7zCM;MACE,wBAAA;IN+zCR;IMh0CM;MACE,wBAAA;INk0CR;IMn0CM;MACE,wBAAA;INq0CR;IMt0CM;MACE,yBAAA;INw0CR;IMz0CM;MACE,yBAAA;IN20CR;IM50CM;MACE,yBAAA;IN80CR;IMv0CM;MACE,oBAFS;IN20CjB;IM10CM;MACE,oBAFS;IN80CjB;IM70CM;MACE,oBAFS;INi1CjB;IMh1CM;MACE,oBAFS;INo1CjB;IMn1CM;MACE,oBAFS;INu1CjB;IMt1CM;MACE,oBAFS;IN01CjB;IMz1CM;MACE,oBAFS;IN61CjB;IM51CM;MACE,oBAFS;INg2CjB;IM/1CM;MACE,oBAFS;INm2CjB;IMl2CM;MACE,qBAFS;INs2CjB;IMr2CM;MACE,qBAFS;INy2CjB;EACF;EGr7CE;IGoEM;MACE,wBAAA;INo3CR;IMr3CM;MACE,wBAAA;INu3CR;IMx3CM;MACE,wBAAA;IN03CR;IM33CM;MACE,wBAAA;IN63CR;IM93CM;MACE,wBAAA;INg4CR;IMj4CM;MACE,wBAAA;INm4CR;IMp4CM;MACE,wBAAA;INs4CR;IMv4CM;MACE,wBAAA;INy4CR;IM14CM;MACE,wBAAA;IN44CR;IM74CM;MACE,yBAAA;IN+4CR;IMh5CM;MACE,yBAAA;INk5CR;IMn5CM;MACE,yBAAA;INq5CR;IM94CM;MACE,oBAFS;INk5CjB;IMj5CM;MACE,oBAFS;INq5CjB;IMp5CM;MACE,oBAFS;INw5CjB;IMv5CM;MACE,oBAFS;IN25CjB;IM15CM;MACE,oBAFS;IN85CjB;IM75CM;MACE,oBAFS;INi6CjB;IMh6CM;MACE,oBAFS;INo6CjB;IMn6CM;MACE,oBAFS;INu6CjB;IMt6CM;MACE,oBAFS;IN06CjB;IMz6CM;MACE,qBAFS;IN66CjB;IM56CM;MACE,qBAFS;INg7CjB;EACF;EG5/CE;IGoEM;MACE,wBAAA;IN27CR;IM57CM;MACE,wBAAA;IN87CR;IM/7CM;MACE,wBAAA;INi8CR;IMl8CM;MACE,wBAAA;INo8CR;IMr8CM;MACE,wBAAA;INu8CR;IMx8CM;MACE,wBAAA;IN08CR;IM38CM;MACE,wBAAA;IN68CR;IM98CM;MACE,wBAAA;INg9CR;IMj9CM;MACE,wBAAA;INm9CR;IMp9CM;MACE,yBAAA;INs9CR;IMv9CM;MACE,yBAAA;INy9CR;IM19CM;MACE,yBAAA;IN49CR;IMr9CM;MACE,oBAFS;INy9CjB;IMx9CM;MACE,oBAFS;IN49CjB;IM39CM;MACE,oBAFS;IN+9CjB;IM99CM;MACE,oBAFS;INk+CjB;IMj+CM;MACE,oBAFS;INq+CjB;IMp+CM;MACE,oBAFS;INw+CjB;IMv+CM;MACE,oBAFS;IN2+CjB;IM1+CM;MACE,oBAFS;IN8+CjB;IM7+CM;MACE,oBAFS;INi/CjB;IMh/CM;MACE,qBAFS;INo/CjB;IMn/CM;MACE,qBAFS;INu/CjB;EACF;EGnkDE;IGoEM;MACE,wBAAA;INkgDR;IMngDM;MACE,wBAAA;INqgDR;IMtgDM;MACE,wBAAA;INwgDR;IMzgDM;MACE,wBAAA;IN2gDR;IM5gDM;MACE,wBAAA;IN8gDR;IM/gDM;MACE,wBAAA;INihDR;IMlhDM;MACE,wBAAA;INohDR;IMrhDM;MACE,wBAAA;INuhDR;IMxhDM;MACE,wBAAA;IN0hDR;IM3hDM;MACE,yBAAA;IN6hDR;IM9hDM;MACE,yBAAA;INgiDR;IMjiDM;MACE,yBAAA;INmiDR;IM5hDM;MACE,oBAFS;INgiDjB;IM/hDM;MACE,oBAFS;INmiDjB;IMliDM;MACE,oBAFS;INsiDjB;IMriDM;MACE,oBAFS;INyiDjB;IMxiDM;MACE,oBAFS;IN4iDjB;IM3iDM;MACE,oBAFS;IN+iDjB;IM9iDM;MACE,oBAFS;INkjDjB;IMjjDM;MACE,oBAFS;INqjDjB;IMpjDM;MACE,oBAFS;INwjDjB;IMvjDM;MACE,qBAFS;IN2jDjB;IM1jDM;MACE,qBAFS;IN8jDjB;EACF;EG1oDE;IGoEM;MACE,wBAAA;INykDR;IM1kDM;MACE,wBAAA;IN4kDR;IM7kDM;MACE,wBAAA;IN+kDR;IMhlDM;MACE,wBAAA;INklDR;IMnlDM;MACE,wBAAA;INqlDR;IMtlDM;MACE,wBAAA;INwlDR;IMzlDM;MACE,wBAAA;IN2lDR;IM5lDM;MACE,wBAAA;IN8lDR;IM/lDM;MACE,wBAAA;INimDR;IMlmDM;MACE,yBAAA;INomDR;IMrmDM;MACE,yBAAA;INumDR;IMxmDM;MACE,yBAAA;IN0mDR;IMnmDM;MACE,oBAFS;INumDjB;IMtmDM;MACE,oBAFS;IN0mDjB;IMzmDM;MACE,oBAFS;IN6mDjB;IM5mDM;MACE,oBAFS;INgnDjB;IM/mDM;MACE,oBAFS;INmnDjB;IMlnDM;MACE,oBAFS;INsnDjB;IMrnDM;MACE,oBAFS;INynDjB;IMxnDM;MACE,oBAFS;IN4nDjB;IM3nDM;MACE,oBAFS;IN+nDjB;IM9nDM;MACE,qBAFS;INkoDjB;IMjoDM;MACE,qBAFS;INqoDjB;EACF;EK9uDA;IACE,8BAAA;ELgvDF;EK7uDA;IACE,gBAAA;IAEA,aAAA;IACA,uDAAA;IACA,mBAAA;IACA,kBAAA;EL8uDF;AACF;AO7xDA;ECgLI;IA1GI,eAqBO;ERssDb;EQjnDE;IA1GI,qBAqBO;ERysDb;EQpnDE;IA1GI,cAqBO;ER4sDb;EQvnDE;IA1GI,aAqBO;ER+sDb;EQ1nDE;IA1GI,oBAqBO;ERktDb;EQ7nDE;IA1GI,cAqBO;ERqtDb;EQhoDE;IA1GI,kBAqBO;ERwtDb;EQnoDE;IA1GI,mBAqBO;ER2tDb;EQtoDE;IA1GI,aAqBO;ER8tDb;EQzoDE;IA1GI,oBAqBO;ERiuDb;EQ5oDE;IA1GI,iBAqBO;ERouDb;EQ/oDE;IA1GI,kBAqBO;ERuuDb;EQlpDE;IA1GI,aAqBO;ER0uDb;EQrpDE;IA1GI,cAgBG;ERkvDT;EQxpDE;IA1GI,mBAqBO;ERgvDb;EQ3pDE;IA1GI,sBAqBO;ERmvDb;EQ9pDE;IA1GI,2BAqBO;ERsvDb;EQjqDE;IA1GI,8BAqBO;ERyvDb;EQpqDE;IA1GI,YAgBG;ERiwDT;EQvqDE;IA1GI,YAgBG;ERowDT;EQ1qDE;IA1GI,cAgBG;ERuwDT;EQ7qDE;IA1GI,cAgBG;ER0wDT;EQhrDE;IA1GI,eAqBO;ERwwDb;EQnrDE;IA1GI,iBAqBO;ER2wDb;EQtrDE;IA1GI,uBAqBO;ER8wDb;EQzrDE;IA1GI,2BAgBG;ERsxDT;EQ5rDE;IA1GI,yBAgBG;ERyxDT;EQ/rDE;IA1GI,uBAgBG;ER4xDT;EQlsDE;IA1GI,8BAgBG;ER+xDT;EQrsDE;IA1GI,6BAgBG;ERkyDT;EQxsDE;IA1GI,6BAgBG;ERqyDT;EQ3sDE;IA1GI,oBAgBG;ERwyDT;EQ9sDE;IA1GI,kBAgBG;ER2yDT;EQjtDE;IA1GI,qBAgBG;ER8yDT;EQptDE;IA1GI,sBAgBG;ERizDT;EQvtDE;IA1GI,uBAgBG;ERozDT;EQ1tDE;IA1GI,qBAgBG;ERuzDT;EQ7tDE;IA1GI,mBAgBG;ER0zDT;EQhuDE;IA1GI,qBAgBG;ER6zDT;EQnuDE;IA1GI,oBAgBG;ERg0DT;EQtuDE;IA1GI,yBAgBG;ERm0DT;EQzuDE;IA1GI,uBAgBG;ERs0DT;EQ5uDE;IA1GI,qBAgBG;ERy0DT;EQ/uDE;IA1GI,4BAgBG;ER40DT;EQlvDE;IA1GI,2BAgBG;ER+0DT;EQrvDE;IA1GI,sBAgBG;ERk1DT;EQxvDE;IA1GI,gBAgBG;ERq1DT;EQ3vDE;IA1GI,sBAgBG;ERw1DT;EQ9vDE;IA1GI,oBAgBG;ER21DT;EQjwDE;IA1GI,kBAgBG;ER81DT;EQpwDE;IA1GI,oBAgBG;ERi2DT;EQvwDE;IA1GI,mBAgBG;ERo2DT;EQ1wDE;IA1GI,kBAgBG;ERu2DT;EQ7wDE;IA1GI,gBAgBG;ER02DT;EQhxDE;IA1GI,mBAgBG;ER62DT;EQnxDE;IA1GI,oBAgBG;ERg3DT;EQtxDE;IA1GI,SAgBG;ERm3DT;EQzxDE;IA1GI,QAgBG;ERs3DT;EQ5xDE;IA1GI,QAgBG;ERy3DT;EQ/xDE;IA1GI,QAgBG;ER43DT;EQlyDE;IA1GI,QAgBG;ER+3DT;EQryDE;IA1GI,QAgBG;ERk4DT;EQxyDE;IA1GI,QAgBG;ERq4DT;EQ3yDE;IA1GI,QAgBG;ERw4DT;EQ9yDE;IA1GI,SAgBG;ER24DT;EQjzDE;IA1GI,eAgBG;ER84DT;EQpzDE;IA1GI,cAgBG;ERi5DT;EQvzDE;IA1GI,YAgBG;ERo5DT;EQ1zDE;IA1GI,cAgBG;ERu5DT;EQ7zDE;IA1GI,YAgBG;ER05DT;EQh0DE;IA1GI,YAgBG;ER65DT;EQn0DE;IA1GI,gBAgBG;ERg6DT;EQt0DE;IA1GI,sBAgBG;ERm6DT;EQz0DE;IA1GI,qBAgBG;ERs6DT;EQ50DE;IA1GI,mBAgBG;ERy6DT;EQ/0DE;IA1GI,qBAgBG;ER46DT;EQl1DE;IA1GI,mBAgBG;ER+6DT;EQr1DE;IA1GI,mBAgBG;ERk7DT;EQx1DE;IA1GI,eAgBG;ERq7DT;EQ31DE;IA1GI,qBAgBG;ERw7DT;EQ91DE;IA1GI,oBAgBG;ER27DT;EQj2DE;IA1GI,kBAgBG;ER87DT;EQp2DE;IA1GI,oBAgBG;ERi8DT;EQv2DE;IA1GI,kBAgBG;ERo8DT;EQ12DE;IA1GI,kBAgBG;ERu8DT;EQ72DE;IA1GI,qBAgBG;ER08DT;EQh3DE;IA1GI,2BAgBG;ER68DT;EQn3DE;IA1GI,0BAgBG;ERg9DT;EQt3DE;IA1GI,wBAgBG;ERm9DT;EQz3DE;IA1GI,0BAgBG;ERs9DT;EQ53DE;IA1GI,wBAgBG;ERy9DT;EQ/3DE;IA1GI,wBAgBG;ER49DT;EQl4DE;IA1GI,oBAgBG;ER+9DT;EQr4DE;IA1GI,0BAgBG;ERk+DT;EQx4DE;IA1GI,yBAgBG;ERq+DT;EQ34DE;IA1GI,uBAgBG;ERw+DT;EQ94DE;IA1GI,yBAgBG;ER2+DT;EQj5DE;IA1GI,uBAgBG;ER8+DT;EQp5DE;IA1GI,uBAgBG;ERi/DT;EQv5DE;IA1GI,mBAgBG;ERo/DT;EQ15DE;IA1GI,yBAgBG;ERu/DT;EQ75DE;IA1GI,wBAgBG;ER0/DT;EQh6DE;IA1GI,sBAgBG;ER6/DT;EQn6DE;IA1GI,wBAgBG;ERggET;EQt6DE;IA1GI,sBAgBG;ERmgET;EQz6DE;IA1GI,sBAgBG;ERsgET;EQ56DE;IA1GI,sBAgBG;ERygET;EQ/6DE;IA1GI,4BAgBG;ER4gET;EQl7DE;IA1GI,2BAgBG;ER+gET;EQr7DE;IA1GI,yBAgBG;ERkhET;EQx7DE;IA1GI,2BAgBG;ERqhET;EQ37DE;IA1GI,yBAgBG;ERwhET;EQ97DE;IA1GI,yBAgBG;ER2hET;EQj8DE;IA1GI,UAgBG;ER8hET;EQp8DE;IA1GI,gBAgBG;ERiiET;EQv8DE;IA1GI,eAgBG;ERoiET;EQ18DE;IA1GI,aAgBG;ERuiET;EQ78DE;IA1GI,eAgBG;ER0iET;EQh9DE;IA1GI,aAgBG;ER6iET;EQn9DE;IA1GI,iBAgBG;ERgjET;EQt9DE;IA1GI,uBAgBG;ERmjET;EQz9DE;IA1GI,sBAgBG;ERsjET;EQ59DE;IA1GI,oBAgBG;ERyjET;EQ/9DE;IA1GI,sBAgBG;ER4jET;EQl+DE;IA1GI,oBAgBG;ER+jET;EQr+DE;IA1GI,gBAgBG;ERkkET;EQx+DE;IA1GI,sBAgBG;ERqkET;EQ3+DE;IA1GI,qBAgBG;ERwkET;EQ9+DE;IA1GI,mBAgBG;ER2kET;EQj/DE;IA1GI,qBAgBG;ER8kET;EQp/DE;IA1GI,mBAgBG;ERilET;EQv/DE;IA1GI,sBAgBG;ERolET;EQ1/DE;IA1GI,4BAgBG;ERulET;EQ7/DE;IA1GI,2BAgBG;ER0lET;EQhgEE;IA1GI,yBAgBG;ER6lET;EQngEE;IA1GI,2BAgBG;ERgmET;EQtgEE;IA1GI,yBAgBG;ERmmET;EQzgEE;IA1GI,qBAgBG;ERsmET;EQ5gEE;IA1GI,2BAgBG;ERymET;EQ/gEE;IA1GI,0BAgBG;ER4mET;EQlhEE;IA1GI,wBAgBG;ER+mET;EQrhEE;IA1GI,0BAgBG;ERknET;EQxhEE;IA1GI,wBAgBG;ERqnET;EQ3hEE;IA1GI,oBAgBG;ERwnET;EQ9hEE;IA1GI,0BAgBG;ER2nET;EQjiEE;IA1GI,yBAgBG;ER8nET;EQpiEE;IA1GI,uBAgBG;ERioET;EQviEE;IA1GI,yBAgBG;ERooET;EQ1iEE;IA1GI,uBAgBG;ERuoET;EQ7iEE;IA1GI,uBAgBG;ER0oET;EQhjEE;IA1GI,6BAgBG;ER6oET;EQnjEE;IA1GI,4BAgBG;ERgpET;EQtjEE;IA1GI,0BAgBG;ERmpET;EQzjEE;IA1GI,4BAgBG;ERspET;EQ5jEE;IA1GI,0BAgBG;ERypET;EG9qEE;IK+GA;MA1GI,eAqBO;IRwpEX;IQnkEA;MA1GI,qBAqBO;IR2pEX;IQtkEA;MA1GI,cAqBO;IR8pEX;IQzkEA;MA1GI,aAqBO;IRiqEX;IQ5kEA;MA1GI,oBAqBO;IRoqEX;IQ/kEA;MA1GI,cAqBO;IRuqEX;IQllEA;MA1GI,kBAqBO;IR0qEX;IQrlEA;MA1GI,mBAqBO;IR6qEX;IQxlEA;MA1GI,aAqBO;IRgrEX;IQ3lEA;MA1GI,oBAqBO;IRmrEX;IQ9lEA;MA1GI,iBAqBO;IRsrEX;IQjmEA;MA1GI,kBAqBO;IRyrEX;IQpmEA;MA1GI,aAqBO;IR4rEX;IQvmEA;MA1GI,cAgBG;IRosEP;IQ1mEA;MA1GI,mBAqBO;IRksEX;IQ7mEA;MA1GI,sBAqBO;IRqsEX;IQhnEA;MA1GI,2BAqBO;IRwsEX;IQnnEA;MA1GI,8BAqBO;IR2sEX;IQtnEA;MA1GI,YAgBG;IRmtEP;IQznEA;MA1GI,YAgBG;IRstEP;IQ5nEA;MA1GI,cAgBG;IRytEP;IQ/nEA;MA1GI,cAgBG;IR4tEP;IQloEA;MA1GI,eAqBO;IR0tEX;IQroEA;MA1GI,iBAqBO;IR6tEX;IQxoEA;MA1GI,uBAqBO;IRguEX;IQ3oEA;MA1GI,2BAgBG;IRwuEP;IQ9oEA;MA1GI,yBAgBG;IR2uEP;IQjpEA;MA1GI,uBAgBG;IR8uEP;IQppEA;MA1GI,8BAgBG;IRivEP;IQvpEA;MA1GI,6BAgBG;IRovEP;IQ1pEA;MA1GI,6BAgBG;IRuvEP;IQ7pEA;MA1GI,oBAgBG;IR0vEP;IQhqEA;MA1GI,kBAgBG;IR6vEP;IQnqEA;MA1GI,qBAgBG;IRgwEP;IQtqEA;MA1GI,sBAgBG;IRmwEP;IQzqEA;MA1GI,uBAgBG;IRswEP;IQ5qEA;MA1GI,qBAgBG;IRywEP;IQ/qEA;MA1GI,mBAgBG;IR4wEP;IQlrEA;MA1GI,qBAgBG;IR+wEP;IQrrEA;MA1GI,oBAgBG;IRkxEP;IQxrEA;MA1GI,yBAgBG;IRqxEP;IQ3rEA;MA1GI,uBAgBG;IRwxEP;IQ9rEA;MA1GI,qBAgBG;IR2xEP;IQjsEA;MA1GI,4BAgBG;IR8xEP;IQpsEA;MA1GI,2BAgBG;IRiyEP;IQvsEA;MA1GI,sBAgBG;IRoyEP;IQ1sEA;MA1GI,gBAgBG;IRuyEP;IQ7sEA;MA1GI,sBAgBG;IR0yEP;IQhtEA;MA1GI,oBAgBG;IR6yEP;IQntEA;MA1GI,kBAgBG;IRgzEP;IQttEA;MA1GI,oBAgBG;IRmzEP;IQztEA;MA1GI,mBAgBG;IRszEP;IQ5tEA;MA1GI,kBAgBG;IRyzEP;IQ/tEA;MA1GI,gBAgBG;IR4zEP;IQluEA;MA1GI,mBAgBG;IR+zEP;IQruEA;MA1GI,oBAgBG;IRk0EP;IQxuEA;MA1GI,SAgBG;IRq0EP;IQ3uEA;MA1GI,QAgBG;IRw0EP;IQ9uEA;MA1GI,QAgBG;IR20EP;IQjvEA;MA1GI,QAgBG;IR80EP;IQpvEA;MA1GI,QAgBG;IRi1EP;IQvvEA;MA1GI,QAgBG;IRo1EP;IQ1vEA;MA1GI,QAgBG;IRu1EP;IQ7vEA;MA1GI,QAgBG;IR01EP;IQhwEA;MA1GI,SAgBG;IR61EP;IQnwEA;MA1GI,eAgBG;IRg2EP;IQtwEA;MA1GI,cAgBG;IRm2EP;IQzwEA;MA1GI,YAgBG;IRs2EP;IQ5wEA;MA1GI,cAgBG;IRy2EP;IQ/wEA;MA1GI,YAgBG;IR42EP;IQlxEA;MA1GI,YAgBG;IR+2EP;IQrxEA;MA1GI,gBAgBG;IRk3EP;IQxxEA;MA1GI,sBAgBG;IRq3EP;IQ3xEA;MA1GI,qBAgBG;IRw3EP;IQ9xEA;MA1GI,mBAgBG;IR23EP;IQjyEA;MA1GI,qBAgBG;IR83EP;IQpyEA;MA1GI,mBAgBG;IRi4EP;IQvyEA;MA1GI,mBAgBG;IRo4EP;IQ1yEA;MA1GI,eAgBG;IRu4EP;IQ7yEA;MA1GI,qBAgBG;IR04EP;IQhzEA;MA1GI,oBAgBG;IR64EP;IQnzEA;MA1GI,kBAgBG;IRg5EP;IQtzEA;MA1GI,oBAgBG;IRm5EP;IQzzEA;MA1GI,kBAgBG;IRs5EP;IQ5zEA;MA1GI,kBAgBG;IRy5EP;IQ/zEA;MA1GI,qBAgBG;IR45EP;IQl0EA;MA1GI,2BAgBG;IR+5EP;IQr0EA;MA1GI,0BAgBG;IRk6EP;IQx0EA;MA1GI,wBAgBG;IRq6EP;IQ30EA;MA1GI,0BAgBG;IRw6EP;IQ90EA;MA1GI,wBAgBG;IR26EP;IQj1EA;MA1GI,wBAgBG;IR86EP;IQp1EA;MA1GI,oBAgBG;IRi7EP;IQv1EA;MA1GI,0BAgBG;IRo7EP;IQ11EA;MA1GI,yBAgBG;IRu7EP;IQ71EA;MA1GI,uBAgBG;IR07EP;IQh2EA;MA1GI,yBAgBG;IR67EP;IQn2EA;MA1GI,uBAgBG;IRg8EP;IQt2EA;MA1GI,uBAgBG;IRm8EP;IQz2EA;MA1GI,mBAgBG;IRs8EP;IQ52EA;MA1GI,yBAgBG;IRy8EP;IQ/2EA;MA1GI,wBAgBG;IR48EP;IQl3EA;MA1GI,sBAgBG;IR+8EP;IQr3EA;MA1GI,wBAgBG;IRk9EP;IQx3EA;MA1GI,sBAgBG;IRq9EP;IQ33EA;MA1GI,sBAgBG;IRw9EP;IQ93EA;MA1GI,sBAgBG;IR29EP;IQj4EA;MA1GI,4BAgBG;IR89EP;IQp4EA;MA1GI,2BAgBG;IRi+EP;IQv4EA;MA1GI,yBAgBG;IRo+EP;IQ14EA;MA1GI,2BAgBG;IRu+EP;IQ74EA;MA1GI,yBAgBG;IR0+EP;IQh5EA;MA1GI,yBAgBG;IR6+EP;IQn5EA;MA1GI,UAgBG;IRg/EP;IQt5EA;MA1GI,gBAgBG;IRm/EP;IQz5EA;MA1GI,eAgBG;IRs/EP;IQ55EA;MA1GI,aAgBG;IRy/EP;IQ/5EA;MA1GI,eAgBG;IR4/EP;IQl6EA;MA1GI,aAgBG;IR+/EP;IQr6EA;MA1GI,iBAgBG;IRkgFP;IQx6EA;MA1GI,uBAgBG;IRqgFP;IQ36EA;MA1GI,sBAgBG;IRwgFP;IQ96EA;MA1GI,oBAgBG;IR2gFP;IQj7EA;MA1GI,sBAgBG;IR8gFP;IQp7EA;MA1GI,oBAgBG;IRihFP;IQv7EA;MA1GI,gBAgBG;IRohFP;IQ17EA;MA1GI,sBAgBG;IRuhFP;IQ77EA;MA1GI,qBAgBG;IR0hFP;IQh8EA;MA1GI,mBAgBG;IR6hFP;IQn8EA;MA1GI,qBAgBG;IRgiFP;IQt8EA;MA1GI,mBAgBG;IRmiFP;IQz8EA;MA1GI,sBAgBG;IRsiFP;IQ58EA;MA1GI,4BAgBG;IRyiFP;IQ/8EA;MA1GI,2BAgBG;IR4iFP;IQl9EA;MA1GI,yBAgBG;IR+iFP;IQr9EA;MA1GI,2BAgBG;IRkjFP;IQx9EA;MA1GI,yBAgBG;IRqjFP;IQ39EA;MA1GI,qBAgBG;IRwjFP;IQ99EA;MA1GI,2BAgBG;IR2jFP;IQj+EA;MA1GI,0BAgBG;IR8jFP;IQp+EA;MA1GI,wBAgBG;IRikFP;IQv+EA;MA1GI,0BAgBG;IRokFP;IQ1+EA;MA1GI,wBAgBG;IRukFP;IQ7+EA;MA1GI,oBAgBG;IR0kFP;IQh/EA;MA1GI,0BAgBG;IR6kFP;IQn/EA;MA1GI,yBAgBG;IRglFP;IQt/EA;MA1GI,uBAgBG;IRmlFP;IQz/EA;MA1GI,yBAgBG;IRslFP;IQ5/EA;MA1GI,uBAgBG;IRylFP;IQ//EA;MA1GI,uBAgBG;IR4lFP;IQlgFA;MA1GI,6BAgBG;IR+lFP;IQrgFA;MA1GI,4BAgBG;IRkmFP;IQxgFA;MA1GI,0BAgBG;IRqmFP;IQ3gFA;MA1GI,4BAgBG;IRwmFP;IQ9gFA;MA1GI,0BAgBG;IR2mFP;EACF;EGjoFE;IK+GA;MA1GI,eAqBO;IR2mFX;IQthFA;MA1GI,qBAqBO;IR8mFX;IQzhFA;MA1GI,cAqBO;IRinFX;IQ5hFA;MA1GI,aAqBO;IRonFX;IQ/hFA;MA1GI,oBAqBO;IRunFX;IQliFA;MA1GI,cAqBO;IR0nFX;IQriFA;MA1GI,kBAqBO;IR6nFX;IQxiFA;MA1GI,mBAqBO;IRgoFX;IQ3iFA;MA1GI,aAqBO;IRmoFX;IQ9iFA;MA1GI,oBAqBO;IRsoFX;IQjjFA;MA1GI,iBAqBO;IRyoFX;IQpjFA;MA1GI,kBAqBO;IR4oFX;IQvjFA;MA1GI,aAqBO;IR+oFX;IQ1jFA;MA1GI,cAgBG;IRupFP;IQ7jFA;MA1GI,mBAqBO;IRqpFX;IQhkFA;MA1GI,sBAqBO;IRwpFX;IQnkFA;MA1GI,2BAqBO;IR2pFX;IQtkFA;MA1GI,8BAqBO;IR8pFX;IQzkFA;MA1GI,YAgBG;IRsqFP;IQ5kFA;MA1GI,YAgBG;IRyqFP;IQ/kFA;MA1GI,cAgBG;IR4qFP;IQllFA;MA1GI,cAgBG;IR+qFP;IQrlFA;MA1GI,eAqBO;IR6qFX;IQxlFA;MA1GI,iBAqBO;IRgrFX;IQ3lFA;MA1GI,uBAqBO;IRmrFX;IQ9lFA;MA1GI,2BAgBG;IR2rFP;IQjmFA;MA1GI,yBAgBG;IR8rFP;IQpmFA;MA1GI,uBAgBG;IRisFP;IQvmFA;MA1GI,8BAgBG;IRosFP;IQ1mFA;MA1GI,6BAgBG;IRusFP;IQ7mFA;MA1GI,6BAgBG;IR0sFP;IQhnFA;MA1GI,oBAgBG;IR6sFP;IQnnFA;MA1GI,kBAgBG;IRgtFP;IQtnFA;MA1GI,qBAgBG;IRmtFP;IQznFA;MA1GI,sBAgBG;IRstFP;IQ5nFA;MA1GI,uBAgBG;IRytFP;IQ/nFA;MA1GI,qBAgBG;IR4tFP;IQloFA;MA1GI,mBAgBG;IR+tFP;IQroFA;MA1GI,qBAgBG;IRkuFP;IQxoFA;MA1GI,oBAgBG;IRquFP;IQ3oFA;MA1GI,yBAgBG;IRwuFP;IQ9oFA;MA1GI,uBAgBG;IR2uFP;IQjpFA;MA1GI,qBAgBG;IR8uFP;IQppFA;MA1GI,4BAgBG;IRivFP;IQvpFA;MA1GI,2BAgBG;IRovFP;IQ1pFA;MA1GI,sBAgBG;IRuvFP;IQ7pFA;MA1GI,gBAgBG;IR0vFP;IQhqFA;MA1GI,sBAgBG;IR6vFP;IQnqFA;MA1GI,oBAgBG;IRgwFP;IQtqFA;MA1GI,kBAgBG;IRmwFP;IQzqFA;MA1GI,oBAgBG;IRswFP;IQ5qFA;MA1GI,mBAgBG;IRywFP;IQ/qFA;MA1GI,kBAgBG;IR4wFP;IQlrFA;MA1GI,gBAgBG;IR+wFP;IQrrFA;MA1GI,mBAgBG;IRkxFP;IQxrFA;MA1GI,oBAgBG;IRqxFP;IQ3rFA;MA1GI,SAgBG;IRwxFP;IQ9rFA;MA1GI,QAgBG;IR2xFP;IQjsFA;MA1GI,QAgBG;IR8xFP;IQpsFA;MA1GI,QAgBG;IRiyFP;IQvsFA;MA1GI,QAgBG;IRoyFP;IQ1sFA;MA1GI,QAgBG;IRuyFP;IQ7sFA;MA1GI,QAgBG;IR0yFP;IQhtFA;MA1GI,QAgBG;IR6yFP;IQntFA;MA1GI,SAgBG;IRgzFP;IQttFA;MA1GI,eAgBG;IRmzFP;IQztFA;MA1GI,cAgBG;IRszFP;IQ5tFA;MA1GI,YAgBG;IRyzFP;IQ/tFA;MA1GI,cAgBG;IR4zFP;IQluFA;MA1GI,YAgBG;IR+zFP;IQruFA;MA1GI,YAgBG;IRk0FP;IQxuFA;MA1GI,gBAgBG;IRq0FP;IQ3uFA;MA1GI,sBAgBG;IRw0FP;IQ9uFA;MA1GI,qBAgBG;IR20FP;IQjvFA;MA1GI,mBAgBG;IR80FP;IQpvFA;MA1GI,qBAgBG;IRi1FP;IQvvFA;MA1GI,mBAgBG;IRo1FP;IQ1vFA;MA1GI,mBAgBG;IRu1FP;IQ7vFA;MA1GI,eAgBG;IR01FP;IQhwFA;MA1GI,qBAgBG;IR61FP;IQnwFA;MA1GI,oBAgBG;IRg2FP;IQtwFA;MA1GI,kBAgBG;IRm2FP;IQzwFA;MA1GI,oBAgBG;IRs2FP;IQ5wFA;MA1GI,kBAgBG;IRy2FP;IQ/wFA;MA1GI,kBAgBG;IR42FP;IQlxFA;MA1GI,qBAgBG;IR+2FP;IQrxFA;MA1GI,2BAgBG;IRk3FP;IQxxFA;MA1GI,0BAgBG;IRq3FP;IQ3xFA;MA1GI,wBAgBG;IRw3FP;IQ9xFA;MA1GI,0BAgBG;IR23FP;IQjyFA;MA1GI,wBAgBG;IR83FP;IQpyFA;MA1GI,wBAgBG;IRi4FP;IQvyFA;MA1GI,oBAgBG;IRo4FP;IQ1yFA;MA1GI,0BAgBG;IRu4FP;IQ7yFA;MA1GI,yBAgBG;IR04FP;IQhzFA;MA1GI,uBAgBG;IR64FP;IQnzFA;MA1GI,yBAgBG;IRg5FP;IQtzFA;MA1GI,uBAgBG;IRm5FP;IQzzFA;MA1GI,uBAgBG;IRs5FP;IQ5zFA;MA1GI,mBAgBG;IRy5FP;IQ/zFA;MA1GI,yBAgBG;IR45FP;IQl0FA;MA1GI,wBAgBG;IR+5FP;IQr0FA;MA1GI,sBAgBG;IRk6FP;IQx0FA;MA1GI,wBAgBG;IRq6FP;IQ30FA;MA1GI,sBAgBG;IRw6FP;IQ90FA;MA1GI,sBAgBG;IR26FP;IQj1FA;MA1GI,sBAgBG;IR86FP;IQp1FA;MA1GI,4BAgBG;IRi7FP;IQv1FA;MA1GI,2BAgBG;IRo7FP;IQ11FA;MA1GI,yBAgBG;IRu7FP;IQ71FA;MA1GI,2BAgBG;IR07FP;IQh2FA;MA1GI,yBAgBG;IR67FP;IQn2FA;MA1GI,yBAgBG;IRg8FP;IQt2FA;MA1GI,UAgBG;IRm8FP;IQz2FA;MA1GI,gBAgBG;IRs8FP;IQ52FA;MA1GI,eAgBG;IRy8FP;IQ/2FA;MA1GI,aAgBG;IR48FP;IQl3FA;MA1GI,eAgBG;IR+8FP;IQr3FA;MA1GI,aAgBG;IRk9FP;IQx3FA;MA1GI,iBAgBG;IRq9FP;IQ33FA;MA1GI,uBAgBG;IRw9FP;IQ93FA;MA1GI,sBAgBG;IR29FP;IQj4FA;MA1GI,oBAgBG;IR89FP;IQp4FA;MA1GI,sBAgBG;IRi+FP;IQv4FA;MA1GI,oBAgBG;IRo+FP;IQ14FA;MA1GI,gBAgBG;IRu+FP;IQ74FA;MA1GI,sBAgBG;IR0+FP;IQh5FA;MA1GI,qBAgBG;IR6+FP;IQn5FA;MA1GI,mBAgBG;IRg/FP;IQt5FA;MA1GI,qBAgBG;IRm/FP;IQz5FA;MA1GI,mBAgBG;IRs/FP;IQ55FA;MA1GI,sBAgBG;IRy/FP;IQ/5FA;MA1GI,4BAgBG;IR4/FP;IQl6FA;MA1GI,2BAgBG;IR+/FP;IQr6FA;MA1GI,yBAgBG;IRkgGP;IQx6FA;MA1GI,2BAgBG;IRqgGP;IQ36FA;MA1GI,yBAgBG;IRwgGP;IQ96FA;MA1GI,qBAgBG;IR2gGP;IQj7FA;MA1GI,2BAgBG;IR8gGP;IQp7FA;MA1GI,0BAgBG;IRihGP;IQv7FA;MA1GI,wBAgBG;IRohGP;IQ17FA;MA1GI,0BAgBG;IRuhGP;IQ77FA;MA1GI,wBAgBG;IR0hGP;IQh8FA;MA1GI,oBAgBG;IR6hGP;IQn8FA;MA1GI,0BAgBG;IRgiGP;IQt8FA;MA1GI,yBAgBG;IRmiGP;IQz8FA;MA1GI,uBAgBG;IRsiGP;IQ58FA;MA1GI,yBAgBG;IRyiGP;IQ/8FA;MA1GI,uBAgBG;IR4iGP;IQl9FA;MA1GI,uBAgBG;IR+iGP;IQr9FA;MA1GI,6BAgBG;IRkjGP;IQx9FA;MA1GI,4BAgBG;IRqjGP;IQ39FA;MA1GI,0BAgBG;IRwjGP;IQ99FA;MA1GI,4BAgBG;IR2jGP;IQj+FA;MA1GI,0BAgBG;IR8jGP;EACF;EGplGE;IK+GA;MA1GI,eAqBO;IR8jGX;IQz+FA;MA1GI,qBAqBO;IRikGX;IQ5+FA;MA1GI,cAqBO;IRokGX;IQ/+FA;MA1GI,aAqBO;IRukGX;IQl/FA;MA1GI,oBAqBO;IR0kGX;IQr/FA;MA1GI,cAqBO;IR6kGX;IQx/FA;MA1GI,kBAqBO;IRglGX;IQ3/FA;MA1GI,mBAqBO;IRmlGX;IQ9/FA;MA1GI,aAqBO;IRslGX;IQjgGA;MA1GI,oBAqBO;IRylGX;IQpgGA;MA1GI,iBAqBO;IR4lGX;IQvgGA;MA1GI,kBAqBO;IR+lGX;IQ1gGA;MA1GI,aAqBO;IRkmGX;IQ7gGA;MA1GI,cAgBG;IR0mGP;IQhhGA;MA1GI,mBAqBO;IRwmGX;IQnhGA;MA1GI,sBAqBO;IR2mGX;IQthGA;MA1GI,2BAqBO;IR8mGX;IQzhGA;MA1GI,8BAqBO;IRinGX;IQ5hGA;MA1GI,YAgBG;IRynGP;IQ/hGA;MA1GI,YAgBG;IR4nGP;IQliGA;MA1GI,cAgBG;IR+nGP;IQriGA;MA1GI,cAgBG;IRkoGP;IQxiGA;MA1GI,eAqBO;IRgoGX;IQ3iGA;MA1GI,iBAqBO;IRmoGX;IQ9iGA;MA1GI,uBAqBO;IRsoGX;IQjjGA;MA1GI,2BAgBG;IR8oGP;IQpjGA;MA1GI,yBAgBG;IRipGP;IQvjGA;MA1GI,uBAgBG;IRopGP;IQ1jGA;MA1GI,8BAgBG;IRupGP;IQ7jGA;MA1GI,6BAgBG;IR0pGP;IQhkGA;MA1GI,6BAgBG;IR6pGP;IQnkGA;MA1GI,oBAgBG;IRgqGP;IQtkGA;MA1GI,kBAgBG;IRmqGP;IQzkGA;MA1GI,qBAgBG;IRsqGP;IQ5kGA;MA1GI,sBAgBG;IRyqGP;IQ/kGA;MA1GI,uBAgBG;IR4qGP;IQllGA;MA1GI,qBAgBG;IR+qGP;IQrlGA;MA1GI,mBAgBG;IRkrGP;IQxlGA;MA1GI,qBAgBG;IRqrGP;IQ3lGA;MA1GI,oBAgBG;IRwrGP;IQ9lGA;MA1GI,yBAgBG;IR2rGP;IQjmGA;MA1GI,uBAgBG;IR8rGP;IQpmGA;MA1GI,qBAgBG;IRisGP;IQvmGA;MA1GI,4BAgBG;IRosGP;IQ1mGA;MA1GI,2BAgBG;IRusGP;IQ7mGA;MA1GI,sBAgBG;IR0sGP;IQhnGA;MA1GI,gBAgBG;IR6sGP;IQnnGA;MA1GI,sBAgBG;IRgtGP;IQtnGA;MA1GI,oBAgBG;IRmtGP;IQznGA;MA1GI,kBAgBG;IRstGP;IQ5nGA;MA1GI,oBAgBG;IRytGP;IQ/nGA;MA1GI,mBAgBG;IR4tGP;IQloGA;MA1GI,kBAgBG;IR+tGP;IQroGA;MA1GI,gBAgBG;IRkuGP;IQxoGA;MA1GI,mBAgBG;IRquGP;IQ3oGA;MA1GI,oBAgBG;IRwuGP;IQ9oGA;MA1GI,SAgBG;IR2uGP;IQjpGA;MA1GI,QAgBG;IR8uGP;IQppGA;MA1GI,QAgBG;IRivGP;IQvpGA;MA1GI,QAgBG;IRovGP;IQ1pGA;MA1GI,QAgBG;IRuvGP;IQ7pGA;MA1GI,QAgBG;IR0vGP;IQhqGA;MA1GI,QAgBG;IR6vGP;IQnqGA;MA1GI,QAgBG;IRgwGP;IQtqGA;MA1GI,SAgBG;IRmwGP;IQzqGA;MA1GI,eAgBG;IRswGP;IQ5qGA;MA1GI,cAgBG;IRywGP;IQ/qGA;MA1GI,YAgBG;IR4wGP;IQlrGA;MA1GI,cAgBG;IR+wGP;IQrrGA;MA1GI,YAgBG;IRkxGP;IQxrGA;MA1GI,YAgBG;IRqxGP;IQ3rGA;MA1GI,gBAgBG;IRwxGP;IQ9rGA;MA1GI,sBAgBG;IR2xGP;IQjsGA;MA1GI,qBAgBG;IR8xGP;IQpsGA;MA1GI,mBAgBG;IRiyGP;IQvsGA;MA1GI,qBAgBG;IRoyGP;IQ1sGA;MA1GI,mBAgBG;IRuyGP;IQ7sGA;MA1GI,mBAgBG;IR0yGP;IQhtGA;MA1GI,eAgBG;IR6yGP;IQntGA;MA1GI,qBAgBG;IRgzGP;IQttGA;MA1GI,oBAgBG;IRmzGP;IQztGA;MA1GI,kBAgBG;IRszGP;IQ5tGA;MA1GI,oBAgBG;IRyzGP;IQ/tGA;MA1GI,kBAgBG;IR4zGP;IQluGA;MA1GI,kBAgBG;IR+zGP;IQruGA;MA1GI,qBAgBG;IRk0GP;IQxuGA;MA1GI,2BAgBG;IRq0GP;IQ3uGA;MA1GI,0BAgBG;IRw0GP;IQ9uGA;MA1GI,wBAgBG;IR20GP;IQjvGA;MA1GI,0BAgBG;IR80GP;IQpvGA;MA1GI,wBAgBG;IRi1GP;IQvvGA;MA1GI,wBAgBG;IRo1GP;IQ1vGA;MA1GI,oBAgBG;IRu1GP;IQ7vGA;MA1GI,0BAgBG;IR01GP;IQhwGA;MA1GI,yBAgBG;IR61GP;IQnwGA;MA1GI,uBAgBG;IRg2GP;IQtwGA;MA1GI,yBAgBG;IRm2GP;IQzwGA;MA1GI,uBAgBG;IRs2GP;IQ5wGA;MA1GI,uBAgBG;IRy2GP;IQ/wGA;MA1GI,mBAgBG;IR42GP;IQlxGA;MA1GI,yBAgBG;IR+2GP;IQrxGA;MA1GI,wBAgBG;IRk3GP;IQxxGA;MA1GI,sBAgBG;IRq3GP;IQ3xGA;MA1GI,wBAgBG;IRw3GP;IQ9xGA;MA1GI,sBAgBG;IR23GP;IQjyGA;MA1GI,sBAgBG;IR83GP;IQpyGA;MA1GI,sBAgBG;IRi4GP;IQvyGA;MA1GI,4BAgBG;IRo4GP;IQ1yGA;MA1GI,2BAgBG;IRu4GP;IQ7yGA;MA1GI,yBAgBG;IR04GP;IQhzGA;MA1GI,2BAgBG;IR64GP;IQnzGA;MA1GI,yBAgBG;IRg5GP;IQtzGA;MA1GI,yBAgBG;IRm5GP;IQzzGA;MA1GI,UAgBG;IRs5GP;IQ5zGA;MA1GI,gBAgBG;IRy5GP;IQ/zGA;MA1GI,eAgBG;IR45GP;IQl0GA;MA1GI,aAgBG;IR+5GP;IQr0GA;MA1GI,eAgBG;IRk6GP;IQx0GA;MA1GI,aAgBG;IRq6GP;IQ30GA;MA1GI,iBAgBG;IRw6GP;IQ90GA;MA1GI,uBAgBG;IR26GP;IQj1GA;MA1GI,sBAgBG;IR86GP;IQp1GA;MA1GI,oBAgBG;IRi7GP;IQv1GA;MA1GI,sBAgBG;IRo7GP;IQ11GA;MA1GI,oBAgBG;IRu7GP;IQ71GA;MA1GI,gBAgBG;IR07GP;IQh2GA;MA1GI,sBAgBG;IR67GP;IQn2GA;MA1GI,qBAgBG;IRg8GP;IQt2GA;MA1GI,mBAgBG;IRm8GP;IQz2GA;MA1GI,qBAgBG;IRs8GP;IQ52GA;MA1GI,mBAgBG;IRy8GP;IQ/2GA;MA1GI,sBAgBG;IR48GP;IQl3GA;MA1GI,4BAgBG;IR+8GP;IQr3GA;MA1GI,2BAgBG;IRk9GP;IQx3GA;MA1GI,yBAgBG;IRq9GP;IQ33GA;MA1GI,2BAgBG;IRw9GP;IQ93GA;MA1GI,yBAgBG;IR29GP;IQj4GA;MA1GI,qBAgBG;IR89GP;IQp4GA;MA1GI,2BAgBG;IRi+GP;IQv4GA;MA1GI,0BAgBG;IRo+GP;IQ14GA;MA1GI,wBAgBG;IRu+GP;IQ74GA;MA1GI,0BAgBG;IR0+GP;IQh5GA;MA1GI,wBAgBG;IR6+GP;IQn5GA;MA1GI,oBAgBG;IRg/GP;IQt5GA;MA1GI,0BAgBG;IRm/GP;IQz5GA;MA1GI,yBAgBG;IRs/GP;IQ55GA;MA1GI,uBAgBG;IRy/GP;IQ/5GA;MA1GI,yBAgBG;IR4/GP;IQl6GA;MA1GI,uBAgBG;IR+/GP;IQr6GA;MA1GI,uBAgBG;IRkgHP;IQx6GA;MA1GI,6BAgBG;IRqgHP;IQ36GA;MA1GI,4BAgBG;IRwgHP;IQ96GA;MA1GI,0BAgBG;IR2gHP;IQj7GA;MA1GI,4BAgBG;IR8gHP;IQp7GA;MA1GI,0BAgBG;IRihHP;EACF;EGviHE;IK+GA;MA1GI,eAqBO;IRihHX;IQ57GA;MA1GI,qBAqBO;IRohHX;IQ/7GA;MA1GI,cAqBO;IRuhHX;IQl8GA;MA1GI,aAqBO;IR0hHX;IQr8GA;MA1GI,oBAqBO;IR6hHX;IQx8GA;MA1GI,cAqBO;IRgiHX;IQ38GA;MA1GI,kBAqBO;IRmiHX;IQ98GA;MA1GI,mBAqBO;IRsiHX;IQj9GA;MA1GI,aAqBO;IRyiHX;IQp9GA;MA1GI,oBAqBO;IR4iHX;IQv9GA;MA1GI,iBAqBO;IR+iHX;IQ19GA;MA1GI,kBAqBO;IRkjHX;IQ79GA;MA1GI,aAqBO;IRqjHX;IQh+GA;MA1GI,cAgBG;IR6jHP;IQn+GA;MA1GI,mBAqBO;IR2jHX;IQt+GA;MA1GI,sBAqBO;IR8jHX;IQz+GA;MA1GI,2BAqBO;IRikHX;IQ5+GA;MA1GI,8BAqBO;IRokHX;IQ/+GA;MA1GI,YAgBG;IR4kHP;IQl/GA;MA1GI,YAgBG;IR+kHP;IQr/GA;MA1GI,cAgBG;IRklHP;IQx/GA;MA1GI,cAgBG;IRqlHP;IQ3/GA;MA1GI,eAqBO;IRmlHX;IQ9/GA;MA1GI,iBAqBO;IRslHX;IQjgHA;MA1GI,uBAqBO;IRylHX;IQpgHA;MA1GI,2BAgBG;IRimHP;IQvgHA;MA1GI,yBAgBG;IRomHP;IQ1gHA;MA1GI,uBAgBG;IRumHP;IQ7gHA;MA1GI,8BAgBG;IR0mHP;IQhhHA;MA1GI,6BAgBG;IR6mHP;IQnhHA;MA1GI,6BAgBG;IRgnHP;IQthHA;MA1GI,oBAgBG;IRmnHP;IQzhHA;MA1GI,kBAgBG;IRsnHP;IQ5hHA;MA1GI,qBAgBG;IRynHP;IQ/hHA;MA1GI,sBAgBG;IR4nHP;IQliHA;MA1GI,uBAgBG;IR+nHP;IQriHA;MA1GI,qBAgBG;IRkoHP;IQxiHA;MA1GI,mBAgBG;IRqoHP;IQ3iHA;MA1GI,qBAgBG;IRwoHP;IQ9iHA;MA1GI,oBAgBG;IR2oHP;IQjjHA;MA1GI,yBAgBG;IR8oHP;IQpjHA;MA1GI,uBAgBG;IRipHP;IQvjHA;MA1GI,qBAgBG;IRopHP;IQ1jHA;MA1GI,4BAgBG;IRupHP;IQ7jHA;MA1GI,2BAgBG;IR0pHP;IQhkHA;MA1GI,sBAgBG;IR6pHP;IQnkHA;MA1GI,gBAgBG;IRgqHP;IQtkHA;MA1GI,sBAgBG;IRmqHP;IQzkHA;MA1GI,oBAgBG;IRsqHP;IQ5kHA;MA1GI,kBAgBG;IRyqHP;IQ/kHA;MA1GI,oBAgBG;IR4qHP;IQllHA;MA1GI,mBAgBG;IR+qHP;IQrlHA;MA1GI,kBAgBG;IRkrHP;IQxlHA;MA1GI,gBAgBG;IRqrHP;IQ3lHA;MA1GI,mBAgBG;IRwrHP;IQ9lHA;MA1GI,oBAgBG;IR2rHP;IQjmHA;MA1GI,SAgBG;IR8rHP;IQpmHA;MA1GI,QAgBG;IRisHP;IQvmHA;MA1GI,QAgBG;IRosHP;IQ1mHA;MA1GI,QAgBG;IRusHP;IQ7mHA;MA1GI,QAgBG;IR0sHP;IQhnHA;MA1GI,QAgBG;IR6sHP;IQnnHA;MA1GI,QAgBG;IRgtHP;IQtnHA;MA1GI,QAgBG;IRmtHP;IQznHA;MA1GI,SAgBG;IRstHP;IQ5nHA;MA1GI,eAgBG;IRytHP;IQ/nHA;MA1GI,cAgBG;IR4tHP;IQloHA;MA1GI,YAgBG;IR+tHP;IQroHA;MA1GI,cAgBG;IRkuHP;IQxoHA;MA1GI,YAgBG;IRquHP;IQ3oHA;MA1GI,YAgBG;IRwuHP;IQ9oHA;MA1GI,gBAgBG;IR2uHP;IQjpHA;MA1GI,sBAgBG;IR8uHP;IQppHA;MA1GI,qBAgBG;IRivHP;IQvpHA;MA1GI,mBAgBG;IRovHP;IQ1pHA;MA1GI,qBAgBG;IRuvHP;IQ7pHA;MA1GI,mBAgBG;IR0vHP;IQhqHA;MA1GI,mBAgBG;IR6vHP;IQnqHA;MA1GI,eAgBG;IRgwHP;IQtqHA;MA1GI,qBAgBG;IRmwHP;IQzqHA;MA1GI,oBAgBG;IRswHP;IQ5qHA;MA1GI,kBAgBG;IRywHP;IQ/qHA;MA1GI,oBAgBG;IR4wHP;IQlrHA;MA1GI,kBAgBG;IR+wHP;IQrrHA;MA1GI,kBAgBG;IRkxHP;IQxrHA;MA1GI,qBAgBG;IRqxHP;IQ3rHA;MA1GI,2BAgBG;IRwxHP;IQ9rHA;MA1GI,0BAgBG;IR2xHP;IQjsHA;MA1GI,wBAgBG;IR8xHP;IQpsHA;MA1GI,0BAgBG;IRiyHP;IQvsHA;MA1GI,wBAgBG;IRoyHP;IQ1sHA;MA1GI,wBAgBG;IRuyHP;IQ7sHA;MA1GI,oBAgBG;IR0yHP;IQhtHA;MA1GI,0BAgBG;IR6yHP;IQntHA;MA1GI,yBAgBG;IRgzHP;IQttHA;MA1GI,uBAgBG;IRmzHP;IQztHA;MA1GI,yBAgBG;IRszHP;IQ5tHA;MA1GI,uBAgBG;IRyzHP;IQ/tHA;MA1GI,uBAgBG;IR4zHP;IQluHA;MA1GI,mBAgBG;IR+zHP;IQruHA;MA1GI,yBAgBG;IRk0HP;IQxuHA;MA1GI,wBAgBG;IRq0HP;IQ3uHA;MA1GI,sBAgBG;IRw0HP;IQ9uHA;MA1GI,wBAgBG;IR20HP;IQjvHA;MA1GI,sBAgBG;IR80HP;IQpvHA;MA1GI,sBAgBG;IRi1HP;IQvvHA;MA1GI,sBAgBG;IRo1HP;IQ1vHA;MA1GI,4BAgBG;IRu1HP;IQ7vHA;MA1GI,2BAgBG;IR01HP;IQhwHA;MA1GI,yBAgBG;IR61HP;IQnwHA;MA1GI,2BAgBG;IRg2HP;IQtwHA;MA1GI,yBAgBG;IRm2HP;IQzwHA;MA1GI,yBAgBG;IRs2HP;IQ5wHA;MA1GI,UAgBG;IRy2HP;IQ/wHA;MA1GI,gBAgBG;IR42HP;IQlxHA;MA1GI,eAgBG;IR+2HP;IQrxHA;MA1GI,aAgBG;IRk3HP;IQxxHA;MA1GI,eAgBG;IRq3HP;IQ3xHA;MA1GI,aAgBG;IRw3HP;IQ9xHA;MA1GI,iBAgBG;IR23HP;IQjyHA;MA1GI,uBAgBG;IR83HP;IQpyHA;MA1GI,sBAgBG;IRi4HP;IQvyHA;MA1GI,oBAgBG;IRo4HP;IQ1yHA;MA1GI,sBAgBG;IRu4HP;IQ7yHA;MA1GI,oBAgBG;IR04HP;IQhzHA;MA1GI,gBAgBG;IR64HP;IQnzHA;MA1GI,sBAgBG;IRg5HP;IQtzHA;MA1GI,qBAgBG;IRm5HP;IQzzHA;MA1GI,mBAgBG;IRs5HP;IQ5zHA;MA1GI,qBAgBG;IRy5HP;IQ/zHA;MA1GI,mBAgBG;IR45HP;IQl0HA;MA1GI,sBAgBG;IR+5HP;IQr0HA;MA1GI,4BAgBG;IRk6HP;IQx0HA;MA1GI,2BAgBG;IRq6HP;IQ30HA;MA1GI,yBAgBG;IRw6HP;IQ90HA;MA1GI,2BAgBG;IR26HP;IQj1HA;MA1GI,yBAgBG;IR86HP;IQp1HA;MA1GI,qBAgBG;IRi7HP;IQv1HA;MA1GI,2BAgBG;IRo7HP;IQ11HA;MA1GI,0BAgBG;IRu7HP;IQ71HA;MA1GI,wBAgBG;IR07HP;IQh2HA;MA1GI,0BAgBG;IR67HP;IQn2HA;MA1GI,wBAgBG;IRg8HP;IQt2HA;MA1GI,oBAgBG;IRm8HP;IQz2HA;MA1GI,0BAgBG;IRs8HP;IQ52HA;MA1GI,yBAgBG;IRy8HP;IQ/2HA;MA1GI,uBAgBG;IR48HP;IQl3HA;MA1GI,yBAgBG;IR+8HP;IQr3HA;MA1GI,uBAgBG;IRk9HP;IQx3HA;MA1GI,uBAgBG;IRq9HP;IQ33HA;MA1GI,6BAgBG;IRw9HP;IQ93HA;MA1GI,4BAgBG;IR29HP;IQj4HA;MA1GI,0BAgBG;IR89HP;IQp4HA;MA1GI,4BAgBG;IRi+HP;IQv4HA;MA1GI,0BAgBG;IRo+HP;EACF;EG1/HE;IK+GA;MA1GI,eAqBO;IRo+HX;IQ/4HA;MA1GI,qBAqBO;IRu+HX;IQl5HA;MA1GI,cAqBO;IR0+HX;IQr5HA;MA1GI,aAqBO;IR6+HX;IQx5HA;MA1GI,oBAqBO;IRg/HX;IQ35HA;MA1GI,cAqBO;IRm/HX;IQ95HA;MA1GI,kBAqBO;IRs/HX;IQj6HA;MA1GI,mBAqBO;IRy/HX;IQp6HA;MA1GI,aAqBO;IR4/HX;IQv6HA;MA1GI,oBAqBO;IR+/HX;IQ16HA;MA1GI,iBAqBO;IRkgIX;IQ76HA;MA1GI,kBAqBO;IRqgIX;IQh7HA;MA1GI,aAqBO;IRwgIX;IQn7HA;MA1GI,cAgBG;IRghIP;IQt7HA;MA1GI,mBAqBO;IR8gIX;IQz7HA;MA1GI,sBAqBO;IRihIX;IQ57HA;MA1GI,2BAqBO;IRohIX;IQ/7HA;MA1GI,8BAqBO;IRuhIX;IQl8HA;MA1GI,YAgBG;IR+hIP;IQr8HA;MA1GI,YAgBG;IRkiIP;IQx8HA;MA1GI,cAgBG;IRqiIP;IQ38HA;MA1GI,cAgBG;IRwiIP;IQ98HA;MA1GI,eAqBO;IRsiIX;IQj9HA;MA1GI,iBAqBO;IRyiIX;IQp9HA;MA1GI,uBAqBO;IR4iIX;IQv9HA;MA1GI,2BAgBG;IRojIP;IQ19HA;MA1GI,yBAgBG;IRujIP;IQ79HA;MA1GI,uBAgBG;IR0jIP;IQh+HA;MA1GI,8BAgBG;IR6jIP;IQn+HA;MA1GI,6BAgBG;IRgkIP;IQt+HA;MA1GI,6BAgBG;IRmkIP;IQz+HA;MA1GI,oBAgBG;IRskIP;IQ5+HA;MA1GI,kBAgBG;IRykIP;IQ/+HA;MA1GI,qBAgBG;IR4kIP;IQl/HA;MA1GI,sBAgBG;IR+kIP;IQr/HA;MA1GI,uBAgBG;IRklIP;IQx/HA;MA1GI,qBAgBG;IRqlIP;IQ3/HA;MA1GI,mBAgBG;IRwlIP;IQ9/HA;MA1GI,qBAgBG;IR2lIP;IQjgIA;MA1GI,oBAgBG;IR8lIP;IQpgIA;MA1GI,yBAgBG;IRimIP;IQvgIA;MA1GI,uBAgBG;IRomIP;IQ1gIA;MA1GI,qBAgBG;IRumIP;IQ7gIA;MA1GI,4BAgBG;IR0mIP;IQhhIA;MA1GI,2BAgBG;IR6mIP;IQnhIA;MA1GI,sBAgBG;IRgnIP;IQthIA;MA1GI,gBAgBG;IRmnIP;IQzhIA;MA1GI,sBAgBG;IRsnIP;IQ5hIA;MA1GI,oBAgBG;IRynIP;IQ/hIA;MA1GI,kBAgBG;IR4nIP;IQliIA;MA1GI,oBAgBG;IR+nIP;IQriIA;MA1GI,mBAgBG;IRkoIP;IQxiIA;MA1GI,kBAgBG;IRqoIP;IQ3iIA;MA1GI,gBAgBG;IRwoIP;IQ9iIA;MA1GI,mBAgBG;IR2oIP;IQjjIA;MA1GI,oBAgBG;IR8oIP;IQpjIA;MA1GI,SAgBG;IRipIP;IQvjIA;MA1GI,QAgBG;IRopIP;IQ1jIA;MA1GI,QAgBG;IRupIP;IQ7jIA;MA1GI,QAgBG;IR0pIP;IQhkIA;MA1GI,QAgBG;IR6pIP;IQnkIA;MA1GI,QAgBG;IRgqIP;IQtkIA;MA1GI,QAgBG;IRmqIP;IQzkIA;MA1GI,QAgBG;IRsqIP;IQ5kIA;MA1GI,SAgBG;IRyqIP;IQ/kIA;MA1GI,eAgBG;IR4qIP;IQllIA;MA1GI,cAgBG;IR+qIP;IQrlIA;MA1GI,YAgBG;IRkrIP;IQxlIA;MA1GI,cAgBG;IRqrIP;IQ3lIA;MA1GI,YAgBG;IRwrIP;IQ9lIA;MA1GI,YAgBG;IR2rIP;IQjmIA;MA1GI,gBAgBG;IR8rIP;IQpmIA;MA1GI,sBAgBG;IRisIP;IQvmIA;MA1GI,qBAgBG;IRosIP;IQ1mIA;MA1GI,mBAgBG;IRusIP;IQ7mIA;MA1GI,qBAgBG;IR0sIP;IQhnIA;MA1GI,mBAgBG;IR6sIP;IQnnIA;MA1GI,mBAgBG;IRgtIP;IQtnIA;MA1GI,eAgBG;IRmtIP;IQznIA;MA1GI,qBAgBG;IRstIP;IQ5nIA;MA1GI,oBAgBG;IRytIP;IQ/nIA;MA1GI,kBAgBG;IR4tIP;IQloIA;MA1GI,oBAgBG;IR+tIP;IQroIA;MA1GI,kBAgBG;IRkuIP;IQxoIA;MA1GI,kBAgBG;IRquIP;IQ3oIA;MA1GI,qBAgBG;IRwuIP;IQ9oIA;MA1GI,2BAgBG;IR2uIP;IQjpIA;MA1GI,0BAgBG;IR8uIP;IQppIA;MA1GI,wBAgBG;IRivIP;IQvpIA;MA1GI,0BAgBG;IRovIP;IQ1pIA;MA1GI,wBAgBG;IRuvIP;IQ7pIA;MA1GI,wBAgBG;IR0vIP;IQhqIA;MA1GI,oBAgBG;IR6vIP;IQnqIA;MA1GI,0BAgBG;IRgwIP;IQtqIA;MA1GI,yBAgBG;IRmwIP;IQzqIA;MA1GI,uBAgBG;IRswIP;IQ5qIA;MA1GI,yBAgBG;IRywIP;IQ/qIA;MA1GI,uBAgBG;IR4wIP;IQlrIA;MA1GI,uBAgBG;IR+wIP;IQrrIA;MA1GI,mBAgBG;IRkxIP;IQxrIA;MA1GI,yBAgBG;IRqxIP;IQ3rIA;MA1GI,wBAgBG;IRwxIP;IQ9rIA;MA1GI,sBAgBG;IR2xIP;IQjsIA;MA1GI,wBAgBG;IR8xIP;IQpsIA;MA1GI,sBAgBG;IRiyIP;IQvsIA;MA1GI,sBAgBG;IRoyIP;IQ1sIA;MA1GI,sBAgBG;IRuyIP;IQ7sIA;MA1GI,4BAgBG;IR0yIP;IQhtIA;MA1GI,2BAgBG;IR6yIP;IQntIA;MA1GI,yBAgBG;IRgzIP;IQttIA;MA1GI,2BAgBG;IRmzIP;IQztIA;MA1GI,yBAgBG;IRszIP;IQ5tIA;MA1GI,yBAgBG;IRyzIP;IQ/tIA;MA1GI,UAgBG;IR4zIP;IQluIA;MA1GI,gBAgBG;IR+zIP;IQruIA;MA1GI,eAgBG;IRk0IP;IQxuIA;MA1GI,aAgBG;IRq0IP;IQ3uIA;MA1GI,eAgBG;IRw0IP;IQ9uIA;MA1GI,aAgBG;IR20IP;IQjvIA;MA1GI,iBAgBG;IR80IP;IQpvIA;MA1GI,uBAgBG;IRi1IP;IQvvIA;MA1GI,sBAgBG;IRo1IP;IQ1vIA;MA1GI,oBAgBG;IRu1IP;IQ7vIA;MA1GI,sBAgBG;IR01IP;IQhwIA;MA1GI,oBAgBG;IR61IP;IQnwIA;MA1GI,gBAgBG;IRg2IP;IQtwIA;MA1GI,sBAgBG;IRm2IP;IQzwIA;MA1GI,qBAgBG;IRs2IP;IQ5wIA;MA1GI,mBAgBG;IRy2IP;IQ/wIA;MA1GI,qBAgBG;IR42IP;IQlxIA;MA1GI,mBAgBG;IR+2IP;IQrxIA;MA1GI,sBAgBG;IRk3IP;IQxxIA;MA1GI,4BAgBG;IRq3IP;IQ3xIA;MA1GI,2BAgBG;IRw3IP;IQ9xIA;MA1GI,yBAgBG;IR23IP;IQjyIA;MA1GI,2BAgBG;IR83IP;IQpyIA;MA1GI,yBAgBG;IRi4IP;IQvyIA;MA1GI,qBAgBG;IRo4IP;IQ1yIA;MA1GI,2BAgBG;IRu4IP;IQ7yIA;MA1GI,0BAgBG;IR04IP;IQhzIA;MA1GI,wBAgBG;IR64IP;IQnzIA;MA1GI,0BAgBG;IRg5IP;IQtzIA;MA1GI,wBAgBG;IRm5IP;IQzzIA;MA1GI,oBAgBG;IRs5IP;IQ5zIA;MA1GI,0BAgBG;IRy5IP;IQ/zIA;MA1GI,yBAgBG;IR45IP;IQl0IA;MA1GI,uBAgBG;IR+5IP;IQr0IA;MA1GI,yBAgBG;IRk6IP;IQx0IA;MA1GI,uBAgBG;IRq6IP;IQ30IA;MA1GI,uBAgBG;IRw6IP;IQ90IA;MA1GI,6BAgBG;IR26IP;IQj1IA;MA1GI,4BAgBG;IR86IP;IQp1IA;MA1GI,0BAgBG;IRi7IP;IQv1IA;MA1GI,4BAgBG;IRo7IP;IQ11IA;MA1GI,0BAgBG;IRu7IP;EACF;AACF","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --theme-base: var(--primary-base);\n  --theme-text: var(--primary-text);\n  --theme-text-emphasis: var(--primary-text-emphasis);\n  --theme-bg: var(--primary-bg);\n  --theme-bg-subtle: var(--primary-bg-subtle);\n  --theme-bg-muted: var(--primary-bg-muted);\n  --theme-border: var(--primary-border);\n  --theme-focus-ring: var(--primary-focus-ring);\n  --theme-contrast: var(--primary-contrast);\n}\n\n.theme-accent {\n  --theme-base: var(--accent-base);\n  --theme-text: var(--accent-text);\n  --theme-text-emphasis: var(--accent-text-emphasis);\n  --theme-bg: var(--accent-bg);\n  --theme-bg-subtle: var(--accent-bg-subtle);\n  --theme-bg-muted: var(--accent-bg-muted);\n  --theme-border: var(--accent-border);\n  --theme-focus-ring: var(--accent-focus-ring);\n  --theme-contrast: var(--accent-contrast);\n}\n\n.theme-success {\n  --theme-base: var(--success-base);\n  --theme-text: var(--success-text);\n  --theme-text-emphasis: var(--success-text-emphasis);\n  --theme-bg: var(--success-bg);\n  --theme-bg-subtle: var(--success-bg-subtle);\n  --theme-bg-muted: var(--success-bg-muted);\n  --theme-border: var(--success-border);\n  --theme-focus-ring: var(--success-focus-ring);\n  --theme-contrast: var(--success-contrast);\n}\n\n.theme-danger {\n  --theme-base: var(--danger-base);\n  --theme-text: var(--danger-text);\n  --theme-text-emphasis: var(--danger-text-emphasis);\n  --theme-bg: var(--danger-bg);\n  --theme-bg-subtle: var(--danger-bg-subtle);\n  --theme-bg-muted: var(--danger-bg-muted);\n  --theme-border: var(--danger-border);\n  --theme-focus-ring: var(--danger-focus-ring);\n  --theme-contrast: var(--danger-contrast);\n}\n\n.theme-warning {\n  --theme-base: var(--warning-base);\n  --theme-text: var(--warning-text);\n  --theme-text-emphasis: var(--warning-text-emphasis);\n  --theme-bg: var(--warning-bg);\n  --theme-bg-subtle: var(--warning-bg-subtle);\n  --theme-bg-muted: var(--warning-bg-muted);\n  --theme-border: var(--warning-border);\n  --theme-focus-ring: var(--warning-focus-ring);\n  --theme-contrast: var(--warning-contrast);\n}\n\n.theme-info {\n  --theme-base: var(--info-base);\n  --theme-text: var(--info-text);\n  --theme-text-emphasis: var(--info-text-emphasis);\n  --theme-bg: var(--info-bg);\n  --theme-bg-subtle: var(--info-bg-subtle);\n  --theme-bg-muted: var(--info-bg-muted);\n  --theme-border: var(--info-border);\n  --theme-focus-ring: var(--info-focus-ring);\n  --theme-contrast: var(--info-contrast);\n}\n\n.theme-inverse {\n  --theme-base: var(--inverse-base);\n  --theme-text: var(--inverse-text);\n  --theme-text-emphasis: var(--inverse-text-emphasis);\n  --theme-bg: var(--inverse-bg);\n  --theme-bg-subtle: var(--inverse-bg-subtle);\n  --theme-bg-muted: var(--inverse-bg-muted);\n  --theme-border: var(--inverse-border);\n  --theme-focus-ring: var(--inverse-focus-ring);\n  --theme-contrast: var(--inverse-contrast);\n}\n\n.theme-secondary {\n  --theme-base: var(--secondary-base);\n  --theme-text: var(--secondary-text);\n  --theme-text-emphasis: var(--secondary-text-emphasis);\n  --theme-bg: var(--secondary-bg);\n  --theme-bg-subtle: var(--secondary-bg-subtle);\n  --theme-bg-muted: var(--secondary-bg-muted);\n  --theme-border: var(--secondary-border);\n  --theme-focus-ring: var(--secondary-focus-ring);\n  --theme-contrast: var(--secondary-contrast);\n}\n\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  @media (width >= 576px) {\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (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  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (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($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n$enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n$color-mode-type:             data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !default;\n\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","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-grid.css","../../scss/layout/_containers.scss","../../scss/layout/_breakpoints.scss","../../scss/_config.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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KrwCM;MACE,qBAFS;ILywCjB;EACF;EEr1CE;IGoEM;MACE,wBAAA;ILoxCR;IKrxCM;MACE,wBAAA;ILuxCR;IKxxCM;MACE,wBAAA;IL0xCR;IK3xCM;MACE,wBAAA;IL6xCR;IK9xCM;MACE,wBAAA;ILgyCR;IKjyCM;MACE,wBAAA;ILmyCR;IKpyCM;MACE,wBAAA;ILsyCR;IKvyCM;MACE,wBAAA;ILyyCR;IK1yCM;MACE,wBAAA;IL4yCR;IK7yCM;MACE,yBAAA;IL+yCR;IKhzCM;MACE,yBAAA;ILkzCR;IKnzCM;MACE,yBAAA;ILqzCR;IK9yCM;MACE,oBAFS;ILkzCjB;IKjzCM;MACE,oBAFS;ILqzCjB;IKpzCM;MACE,oBAFS;ILwzCjB;IKvzCM;MACE,oBAFS;IL2zCjB;IK1zCM;MACE,oBAFS;IL8zCjB;IK7zCM;MACE,oBAFS;ILi0CjB;IKh0CM;MACE,oBAFS;ILo0CjB;IKn0CM;MACE,oBAFS;ILu0CjB;IKt0CM;MACE,oBAFS;IL00CjB;IKz0CM;MACE,qBAFS;IL60CjB;IK50CM;MACE,qBAFS;ILg1CjB;EACF;EE55CE;IGoEM;MACE,wBAAA;IL21CR;IK51CM;MACE,wBAAA;IL81CR;IK/1CM;MACE,wBAAA;ILi2CR;IKl2CM;MACE,wBAAA;ILo2CR;IKr2CM;MACE,wBAAA;ILu2CR;IKx2CM;MACE,wBAAA;IL02CR;IK32CM;MACE,wBAAA;IL62CR;IK92CM;MACE,wBAAA;ILg3CR;IKj3CM;MACE,wBAAA;ILm3CR;IKp3CM;MACE,yBAAA;ILs3CR;IKv3CM;MACE,yBAAA;ILy3CR;IK13CM;MACE,yBAAA;IL43CR;IKr3CM;MACE,oBAFS;ILy3CjB;IKx3CM;MACE,oBAFS;IL43CjB;IK33CM;MACE,oBAFS;IL+3CjB;IK93CM;MACE,oBAFS;ILk4CjB;IKj4CM;MACE,oBAFS;ILq4CjB;IKp4CM;MACE,oBAFS;ILw4CjB;IKv4CM;MACE,oBAFS;IL24CjB;IK14CM;MACE,oBAFS;IL84CjB;IK74CM;MACE,oBAFS;ILi5CjB;IKh5CM;MACE,qBAFS;ILo5CjB;IKn5CM;MACE,qBAFS;ILu5CjB;EACF;EEn+CE;IGoEM;MACE,wBAAA;ILk6CR;IKn6CM;MACE,wBAAA;ILq6CR;IKt6CM;MACE,wBAAA;ILw6CR;IKz6CM;MACE,wBAAA;IL26CR;IK56CM;MACE,wBAAA;IL86CR;IK/6CM;MACE,wBAAA;ILi7CR;IKl7CM;MACE,wBAAA;ILo7CR;IKr7CM;MACE,wBAAA;ILu7CR;IKx7CM;MACE,wBAAA;IL07CR;IK37CM;MACE,yBAAA;IL67CR;IK97CM;MACE,yBAAA;ILg8CR;IKj8CM;MACE,yBAAA;ILm8CR;IK57CM;MACE,oBAFS;ILg8CjB;IK/7CM;MACE,oBAFS;ILm8CjB;IKl8CM;MACE,oBAFS;ILs8CjB;IKr8CM;MACE,oBAFS;ILy8CjB;IKx8CM;MACE,oBAFS;IL48CjB;IK38CM;MACE,oBAFS;IL+8CjB;IK98CM;MACE,oBAFS;ILk9CjB;IKj9CM;MACE,oBAFS;ILq9CjB;IKp9CM;MACE,oBAFS;ILw9CjB;IKv9CM;MACE,qBAFS;IL29CjB;IK19CM;MACE,qBAFS;IL89CjB;EACF;EE1iDE;IGoEM;MACE,wBAAA;ILy+CR;IK1+CM;MACE,wBAAA;IL4+CR;IK7+CM;MACE,wBAAA;IL++CR;IKh/CM;MACE,wBAAA;ILk/CR;IKn/CM;MACE,wBAAA;ILq/CR;IKt/CM;MACE,wBAAA;ILw/CR;IKz/CM;MACE,wBAAA;IL2/CR;IK5/CM;MACE,wBAAA;IL8/CR;IK//CM;MACE,wBAAA;ILigDR;IKlgDM;MACE,yBAAA;ILogDR;IKrgDM;MACE,yBAAA;ILugDR;IKxgDM;MACE,yBAAA;IL0gDR;IKngDM;MACE,oBAFS;ILugDjB;IKtgDM;MACE,oBAFS;IL0gDjB;IKzgDM;MACE,oBAFS;IL6gDjB;IK5gDM;MACE,oBAFS;ILghDjB;IK/gDM;MACE,oBAFS;ILmhDjB;IKlhDM;MACE,oBAFS;ILshDjB;IKrhDM;MACE,oBAFS;ILyhDjB;IKxhDM;MACE,oBAFS;IL4hDjB;IK3hDM;MACE,oBAFS;IL+hDjB;IK9hDM;MACE,qBAFS;ILkiDjB;IKjiDM;MACE,qBAFS;ILqiDjB;EACF;EI9oDA;IACE,8BAAA;EJgpDF;EI7oDA;IACE,gBAAA;IAEA,aAAA;IACA,uDAAA;IACA,mBAAA;IACA,kBAAA;EJ8oDF;AACF;AM7rDA;ECgLI;IA1GI,eAqBO;EPsmDb;EOjhDE;IA1GI,qBAqBO;EPymDb;EOphDE;IA1GI,cAqBO;EP4mDb;EOvhDE;IA1GI,aAqBO;EP+mDb;EO1hDE;IA1GI,oBAqBO;EPknDb;EO7hDE;IA1GI,cAqBO;EPqnDb;EOhiDE;IA1GI,kBAqBO;EPwnDb;EOniDE;IA1GI,mBAqBO;EP2nDb;EOtiDE;IA1GI,aAqBO;EP8nDb;EOziDE;IA1GI,oBAqBO;EPioDb;EO5iDE;IA1GI,iBAqBO;EPooDb;EO/iDE;IA1GI,kBAqBO;EPuoDb;EOljDE;IA1GI,aAqBO;EP0oDb;EOrjDE;IA1GI,cAgBG;EPkpDT;EOxjDE;IA1GI,mBAqBO;EPgpDb;EO3jDE;IA1GI,sBAqBO;EPmpDb;EO9jDE;IA1GI,2BAqBO;EPspDb;EOjkDE;IA1GI,8BAqBO;EPypDb;EOpkDE;IA1GI,YAgBG;EPiqDT;EOvkDE;IA1GI,YAgBG;EPoqDT;EO1kDE;IA1GI,cAgBG;EPuqDT;EO7kDE;IA1GI,cAgBG;EP0qDT;EOhlDE;IA1GI,eAqBO;EPwqDb;EOnlDE;IA1GI,iBAqBO;EP2qDb;EOtlDE;IA1GI,uBAqBO;EP8qDb;EOzlDE;IA1GI,2BAgBG;EPsrDT;EO5lDE;IA1GI,yBAgBG;EPyrDT;EO/lDE;IA1GI,uBAgBG;EP4rDT;EOlmDE;IA1GI,8BAgBG;EP+rDT;EOrmDE;IA1GI,6BAgBG;EPksDT;EOxmDE;IA1GI,6BAgBG;EPqsDT;EO3mDE;IA1GI,oBAgBG;EPwsDT;EO9mDE;IA1GI,kBAgBG;EP2sDT;EOjnDE;IA1GI,qBAgBG;EP8sDT;EOpnDE;IA1GI,sBAgBG;EPitDT;EOvnDE;IA1GI,uBAgBG;EPotDT;EO1nDE;IA1GI,qBAgBG;EPutDT;EO7nDE;IA1GI,mBAgBG;EP0tDT;EOhoDE;IA1GI,qBAgBG;EP6tDT;EOnoDE;IA1GI,oBAgBG;EPguDT;EOtoDE;IA1GI,yBAgBG;EPmuDT;EOzoDE;IA1GI,uBAgBG;EPsuDT;EO5oDE;IA1GI,qBAgBG;EPyuDT;EO/oDE;IA1GI,4BAgBG;EP4uDT;EOlpDE;IA1GI,2BAgBG;EP+uDT;EOrpDE;IA1GI,sBAgBG;EPkvDT;EOxpDE;IA1GI,gBAgBG;EPqvDT;EO3pDE;IA1GI,sBAgBG;EPwvDT;EO9pDE;IA1GI,oBAgBG;EP2vDT;EOjqDE;IA1GI,kBAgBG;EP8vDT;EOpqDE;IA1GI,oBAgBG;EPiwDT;EOvqDE;IA1GI,mBAgBG;EPowDT;EO1qDE;IA1GI,kBAgBG;EPuwDT;EO7qDE;IA1GI,gBAgBG;EP0wDT;EOhrDE;IA1GI,mBAgBG;EP6wDT;EOnrDE;IA1GI,oBAgBG;EPgxDT;EOtrDE;IA1GI,SAgBG;EPmxDT;EOzrDE;IA1GI,QAgBG;EPsxDT;EO5rDE;IA1GI,QAgBG;EPyxDT;EO/rDE;IA1GI,QAgBG;EP4xDT;EOlsDE;IA1GI,QAgBG;EP+xDT;EOrsDE;IA1GI,QAgBG;EPkyDT;EOxsDE;IA1GI,QAgBG;EPqyDT;EO3sDE;IA1GI,QAgBG;EPwyDT;EO9sDE;IA1GI,SAgBG;EP2yDT;EOjtDE;IA1GI,eAgBG;EP8yDT;EOptDE;IA1GI,cAgBG;EPizDT;EOvtDE;IA1GI,YAgBG;EPozDT;EO1tDE;IA1GI,cAgBG;EPuzDT;EO7tDE;IA1GI,YAgBG;EP0zDT;EOhuDE;IA1GI,YAgBG;EP6zDT;EOnuDE;IA1GI,gBAgBG;EPg0DT;EOtuDE;IA1GI,sBAgBG;EPm0DT;EOzuDE;IA1GI,qBAgBG;EPs0DT;EO5uDE;IA1GI,mBAgBG;EPy0DT;EO/uDE;IA1GI,qBAgBG;EP40DT;EOlvDE;IA1GI,mBAgBG;EP+0DT;EOrvDE;IA1GI,mBAgBG;EPk1DT;EOxvDE;IA1GI,eAgBG;EPq1DT;EO3vDE;IA1GI,qBAgBG;EPw1DT;EO9vDE;IA1GI,oBAgBG;EP21DT;EOjwDE;IA1GI,kBAgBG;EP81DT;EOpwDE;IA1GI,oBAgBG;EPi2DT;EOvwDE;IA1GI,kBAgBG;EPo2DT;EO1wDE;IA1GI,kBAgBG;EPu2DT;EO7wDE;IA1GI,qBAgBG;EP02DT;EOhxDE;IA1GI,2BAgBG;EP62DT;EOnxDE;IA1GI,0BAgBG;EPg3DT;EOtxDE;IA1GI,wBAgBG;EPm3DT;EOzxDE;IA1GI,0BAgBG;EPs3DT;EO5xDE;IA1GI,wBAgBG;EPy3DT;EO/xDE;IA1GI,wBAgBG;EP43DT;EOlyDE;IA1GI,oBAgBG;EP+3DT;EOryDE;IA1GI,0BAgBG;EPk4DT;EOxyDE;IA1GI,yBAgBG;EPq4DT;EO3yDE;IA1GI,uBAgBG;EPw4DT;EO9yDE;IA1GI,yBAgBG;EP24DT;EOjzDE;IA1GI,uBAgBG;EP84DT;EOpzDE;IA1GI,uBAgBG;EPi5DT;EOvzDE;IA1GI,mBAgBG;EPo5DT;EO1zDE;IA1GI,yBAgBG;EPu5DT;EO7zDE;IA1GI,wBAgBG;EP05DT;EOh0DE;IA1GI,sBAgBG;EP65DT;EOn0DE;IA1GI,wBAgBG;EPg6DT;EOt0DE;IA1GI,sBAgBG;EPm6DT;EOz0DE;IA1GI,sBAgBG;EPs6DT;EO50DE;IA1GI,sBAgBG;EPy6DT;EO/0DE;IA1GI,4BAgBG;EP46DT;EOl1DE;IA1GI,2BAgBG;EP+6DT;EOr1DE;IA1GI,yBAgBG;EPk7DT;EOx1DE;IA1GI,2BAgBG;EPq7DT;EO31DE;IA1GI,yBAgBG;EPw7DT;EO91DE;IA1GI,yBAgBG;EP27DT;EOj2DE;IA1GI,UAgBG;EP87DT;EOp2DE;IA1GI,gBAgBG;EPi8DT;EOv2DE;IA1GI,eAgBG;EPo8DT;EO12DE;IA1GI,aAgBG;EPu8DT;EO72DE;IA1GI,eAgBG;EP08DT;EOh3DE;IA1GI,aAgBG;EP68DT;EOn3DE;IA1GI,iBAgBG;EPg9DT;EOt3DE;IA1GI,uBAgBG;EPm9DT;EOz3DE;IA1GI,sBAgBG;EPs9DT;EO53DE;IA1GI,oBAgBG;EPy9DT;EO/3DE;IA1GI,sBAgBG;EP49DT;EOl4DE;IA1GI,oBAgBG;EP+9DT;EOr4DE;IA1GI,gBAgBG;EPk+DT;EOx4DE;IA1GI,sBAgBG;EPq+DT;EO34DE;IA1GI,qBAgBG;EPw+DT;EO94DE;IA1GI,mBAgBG;EP2+DT;EOj5DE;IA1GI,qBAgBG;EP8+DT;EOp5DE;IA1GI,mBAgBG;EPi/DT;EOv5DE;IA1GI,sBAgBG;EPo/DT;EO15DE;IA1GI,4BAgBG;EPu/DT;EO75DE;IA1GI,2BAgBG;EP0/DT;EOh6DE;IA1GI,yBAgBG;EP6/DT;EOn6DE;IA1GI,2BAgBG;EPggET;EOt6DE;IA1GI,yBAgBG;EPmgET;EOz6DE;IA1GI,qBAgBG;EPsgET;EO56DE;IA1GI,2BAgBG;EPygET;EO/6DE;IA1GI,0BAgBG;EP4gET;EOl7DE;IA1GI,wBAgBG;EP+gET;EOr7DE;IA1GI,0BAgBG;EPkhET;EOx7DE;IA1GI,wBAgBG;EPqhET;EO37DE;IA1GI,oBAgBG;EPwhET;EO97DE;IA1GI,0BAgBG;EP2hET;EOj8DE;IA1GI,yBAgBG;EP8hET;EOp8DE;IA1GI,uBAgBG;EPiiET;EOv8DE;IA1GI,yBAgBG;EPoiET;EO18DE;IA1GI,uBAgBG;EPuiET;EO78DE;IA1GI,uBAgBG;EP0iET;EOh9DE;IA1GI,6BAgBG;EP6iET;EOn9DE;IA1GI,4BAgBG;EPgjET;EOt9DE;IA1GI,0BAgBG;EPmjET;EOz9DE;IA1GI,4BAgBG;EPsjET;EO59DE;IA1GI,0BAgBG;EPyjET;EE9kEE;IK+GA;MA1GI,eAqBO;IPwjEX;IOn+DA;MA1GI,qBAqBO;IP2jEX;IOt+DA;MA1GI,cAqBO;IP8jEX;IOz+DA;MA1GI,aAqBO;IPikEX;IO5+DA;MA1GI,oBAqBO;IPokEX;IO/+DA;MA1GI,cAqBO;IPukEX;IOl/DA;MA1GI,kBAqBO;IP0kEX;IOr/DA;MA1GI,mBAqBO;IP6kEX;IOx/DA;MA1GI,aAqBO;IPglEX;IO3/DA;MA1GI,oBAqBO;IPmlEX;IO9/DA;MA1GI,iBAqBO;IPslEX;IOjgEA;MA1GI,kBAqBO;IPylEX;IOpgEA;MA1GI,aAqBO;IP4lEX;IOvgEA;MA1GI,cAgBG;IPomEP;IO1gEA;MA1GI,mBAqBO;IPkmEX;IO7gEA;MA1GI,sBAqBO;IPqmEX;IOhhEA;MA1GI,2BAqBO;IPwmEX;IOnhEA;MA1GI,8BAqBO;IP2mEX;IOthEA;MA1GI,YAgBG;IPmnEP;IOzhEA;MA1GI,YAgBG;IPsnEP;IO5hEA;MA1GI,cAgBG;IPynEP;IO/hEA;MA1GI,cAgBG;IP4nEP;IOliEA;MA1GI,eAqBO;IP0nEX;IOriEA;MA1GI,iBAqBO;IP6nEX;IOxiEA;MA1GI,uBAqBO;IPgoEX;IO3iEA;MA1GI,2BAgBG;IPwoEP;IO9iEA;MA1GI,yBAgBG;IP2oEP;IOjjEA;MA1GI,uBAgBG;IP8oEP;IOpjEA;MA1GI,8BAgBG;IPipEP;IOvjEA;MA1GI,6BAgBG;IPopEP;IO1jEA;MA1GI,6BAgBG;IPupEP;IO7jEA;MA1GI,oBAgBG;IP0pEP;IOhkEA;MA1GI,kBAgBG;IP6pEP;IOnkEA;MA1GI,qBAgBG;IPgqEP;IOtkEA;MA1GI,sBAgBG;IPmqEP;IOzkEA;MA1GI,uBAgBG;IPsqEP;IO5kEA;MA1GI,qBAgBG;IPyqEP;IO/kEA;MA1GI,mBAgBG;IP4qEP;IOllEA;MA1GI,qBAgBG;IP+qEP;IOrlEA;MA1GI,oBAgBG;IPkrEP;IOxlEA;MA1GI,yBAgBG;IPqrEP;IO3lEA;MA1GI,uBAgBG;IPwrEP;IO9lEA;MA1GI,qBAgBG;IP2rEP;IOjmEA;MA1GI,4BAgBG;IP8rEP;IOpmEA;MA1GI,2BAgBG;IPisEP;IOvmEA;MA1GI,sBAgBG;IPosEP;IO1mEA;MA1GI,gBAgBG;IPusEP;IO7mEA;MA1GI,sBAgBG;IP0sEP;IOhnEA;MA1GI,oBAgBG;IP6sEP;IOnnEA;MA1GI,kBAgBG;IPgtEP;IOtnEA;MA1GI,oBAgBG;IPmtEP;IOznEA;MA1GI,mBAgBG;IPstEP;IO5nEA;MA1GI,kBAgBG;IPytEP;IO/nEA;MA1GI,gBAgBG;IP4tEP;IOloEA;MA1GI,mBAgBG;IP+tEP;IOroEA;MA1GI,oBAgBG;IPkuEP;IOxoEA;MA1GI,SAgBG;IPquEP;IO3oEA;MA1GI,QAgBG;IPwuEP;IO9oEA;MA1GI,QAgBG;IP2uEP;IOjpEA;MA1GI,QAgBG;IP8uEP;IOppEA;MA1GI,QAgBG;IPivEP;IOvpEA;MA1GI,QAgBG;IPovEP;IO1pEA;MA1GI,QAgBG;IPuvEP;IO7pEA;MA1GI,QAgBG;IP0vEP;IOhqEA;MA1GI,SAgBG;IP6vEP;IOnqEA;MA1GI,eAgBG;IPgwEP;IOtqEA;MA1GI,cAgBG;IPmwEP;IOzqEA;MA1GI,YAgBG;IPswEP;IO5qEA;MA1GI,cAgBG;IPywEP;IO/qEA;MA1GI,YAgBG;IP4wEP;IOlrEA;MA1GI,YAgBG;IP+wEP;IOrrEA;MA1GI,gBAgBG;IPkxEP;IOxrEA;MA1GI,sBAgBG;IPqxEP;IO3rEA;MA1GI,qBAgBG;IPwxEP;IO9rEA;MA1GI,mBAgBG;IP2xEP;IOjsEA;MA1GI,qBAgBG;IP8xEP;IOpsEA;MA1GI,mBAgBG;IPiyEP;IOvsEA;MA1GI,mBAgBG;IPoyEP;IO1sEA;MA1GI,eAgBG;IPuyEP;IO7sEA;MA1GI,qBAgBG;IP0yEP;IOhtEA;MA1GI,oBAgBG;IP6yEP;IOntEA;MA1GI,kBAgBG;IPgzEP;IOttEA;MA1GI,oBAgBG;IPmzEP;IOztEA;MA1GI,kBAgBG;IPszEP;IO5tEA;MA1GI,kBAgBG;IPyzEP;IO/tEA;MA1GI,qBAgBG;IP4zEP;IOluEA;MA1GI,2BAgBG;IP+zEP;IOruEA;MA1GI,0BAgBG;IPk0EP;IOxuEA;MA1GI,wBAgBG;IPq0EP;IO3uEA;MA1GI,0BAgBG;IPw0EP;IO9uEA;MA1GI,wBAgBG;IP20EP;IOjvEA;MA1GI,wBAgBG;IP80EP;IOpvEA;MA1GI,oBAgBG;IPi1EP;IOvvEA;MA1GI,0BAgBG;IPo1EP;IO1vEA;MA1GI,yBAgBG;IPu1EP;IO7vEA;MA1GI,uBAgBG;IP01EP;IOhwEA;MA1GI,yBAgBG;IP61EP;IOnwEA;MA1GI,uBAgBG;IPg2EP;IOtwEA;MA1GI,uBAgBG;IPm2EP;IOzwEA;MA1GI,mBAgBG;IPs2EP;IO5wEA;MA1GI,yBAgBG;IPy2EP;IO/wEA;MA1GI,wBAgBG;IP42EP;IOlxEA;MA1GI,sBAgBG;IP+2EP;IOrxEA;MA1GI,wBAgBG;IPk3EP;IOxxEA;MA1GI,sBAgBG;IPq3EP;IO3xEA;MA1GI,sBAgBG;IPw3EP;IO9xEA;MA1GI,sBAgBG;IP23EP;IOjyEA;MA1GI,4BAgBG;IP83EP;IOpyEA;MA1GI,2BAgBG;IPi4EP;IOvyEA;MA1GI,yBAgBG;IPo4EP;IO1yEA;MA1GI,2BAgBG;IPu4EP;IO7yEA;MA1GI,yBAgBG;IP04EP;IOhzEA;MA1GI,yBAgBG;IP64EP;IOnzEA;MA1GI,UAgBG;IPg5EP;IOtzEA;MA1GI,gBAgBG;IPm5EP;IOzzEA;MA1GI,eAgBG;IPs5EP;IO5zEA;MA1GI,aAgBG;IPy5EP;IO/zEA;MA1GI,eAgBG;IP45EP;IOl0EA;MA1GI,aAgBG;IP+5EP;IOr0EA;MA1GI,iBAgBG;IPk6EP;IOx0EA;MA1GI,uBAgBG;IPq6EP;IO30EA;MA1GI,sBAgBG;IPw6EP;IO90EA;MA1GI,oBAgBG;IP26EP;IOj1EA;MA1GI,sBAgBG;IP86EP;IOp1EA;MA1GI,oBAgBG;IPi7EP;IOv1EA;MA1GI,gBAgBG;IPo7EP;IO11EA;MA1GI,sBAgBG;IPu7EP;IO71EA;MA1GI,qBAgBG;IP07EP;IOh2EA;MA1GI,mBAgBG;IP67EP;IOn2EA;MA1GI,qBAgBG;IPg8EP;IOt2EA;MA1GI,mBAgBG;IPm8EP;IOz2EA;MA1GI,sBAgBG;IPs8EP;IO52EA;MA1GI,4BAgBG;IPy8EP;IO/2EA;MA1GI,2BAgBG;IP48EP;IOl3EA;MA1GI,yBAgBG;IP+8EP;IOr3EA;MA1GI,2BAgBG;IPk9EP;IOx3EA;MA1GI,yBAgBG;IPq9EP;IO33EA;MA1GI,qBAgBG;IPw9EP;IO93EA;MA1GI,2BAgBG;IP29EP;IOj4EA;MA1GI,0BAgBG;IP89EP;IOp4EA;MA1GI,wBAgBG;IPi+EP;IOv4EA;MA1GI,0BAgBG;IPo+EP;IO14EA;MA1GI,wBAgBG;IPu+EP;IO74EA;MA1GI,oBAgBG;IP0+EP;IOh5EA;MA1GI,0BAgBG;IP6+EP;IOn5EA;MA1GI,yBAgBG;IPg/EP;IOt5EA;MA1GI,uBAgBG;IPm/EP;IOz5EA;MA1GI,yBAgBG;IPs/EP;IO55EA;MA1GI,uBAgBG;IPy/EP;IO/5EA;MA1GI,uBAgBG;IP4/EP;IOl6EA;MA1GI,6BAgBG;IP+/EP;IOr6EA;MA1GI,4BAgBG;IPkgFP;IOx6EA;MA1GI,0BAgBG;IPqgFP;IO36EA;MA1GI,4BAgBG;IPwgFP;IO96EA;MA1GI,0BAgBG;IP2gFP;EACF;EEjiFE;IK+GA;MA1GI,eAqBO;IP2gFX;IOt7EA;MA1GI,qBAqBO;IP8gFX;IOz7EA;MA1GI,cAqBO;IPihFX;IO57EA;MA1GI,aAqBO;IPohFX;IO/7EA;MA1GI,oBAqBO;IPuhFX;IOl8EA;MA1GI,cAqBO;IP0hFX;IOr8EA;MA1GI,kBAqBO;IP6hFX;IOx8EA;MA1GI,mBAqBO;IPgiFX;IO38EA;MA1GI,aAqBO;IPmiFX;IO98EA;MA1GI,oBAqBO;IPsiFX;IOj9EA;MA1GI,iBAqBO;IPyiFX;IOp9EA;MA1GI,kBAqBO;IP4iFX;IOv9EA;MA1GI,aAqBO;IP+iFX;IO19EA;MA1GI,cAgBG;IPujFP;IO79EA;MA1GI,mBAqBO;IPqjFX;IOh+EA;MA1GI,sBAqBO;IPwjFX;IOn+EA;MA1GI,2BAqBO;IP2jFX;IOt+EA;MA1GI,8BAqBO;IP8jFX;IOz+EA;MA1GI,YAgBG;IPskFP;IO5+EA;MA1GI,YAgBG;IPykFP;IO/+EA;MA1GI,cAgBG;IP4kFP;IOl/EA;MA1GI,cAgBG;IP+kFP;IOr/EA;MA1GI,eAqBO;IP6kFX;IOx/EA;MA1GI,iBAqBO;IPglFX;IO3/EA;MA1GI,uBAqBO;IPmlFX;IO9/EA;MA1GI,2BAgBG;IP2lFP;IOjgFA;MA1GI,yBAgBG;IP8lFP;IOpgFA;MA1GI,uBAgBG;IPimFP;IOvgFA;MA1GI,8BAgBG;IPomFP;IO1gFA;MA1GI,6BAgBG;IPumFP;IO7gFA;MA1GI,6BAgBG;IP0mFP;IOhhFA;MA1GI,oBAgBG;IP6mFP;IOnhFA;MA1GI,kBAgBG;IPgnFP;IOthFA;MA1GI,qBAgBG;IPmnFP;IOzhFA;MA1GI,sBAgBG;IPsnFP;IO5hFA;MA1GI,uBAgBG;IPynFP;IO/hFA;MA1GI,qBAgBG;IP4nFP;IOliFA;MA1GI,mBAgBG;IP+nFP;IOriFA;MA1GI,qBAgBG;IPkoFP;IOxiFA;MA1GI,oBAgBG;IPqoFP;IO3iFA;MA1GI,yBAgBG;IPwoFP;IO9iFA;MA1GI,uBAgBG;IP2oFP;IOjjFA;MA1GI,qBAgBG;IP8oFP;IOpjFA;MA1GI,4BAgBG;IPipFP;IOvjFA;MA1GI,2BAgBG;IPopFP;IO1jFA;MA1GI,sBAgBG;IPupFP;IO7jFA;MA1GI,gBAgBG;IP0pFP;IOhkFA;MA1GI,sBAgBG;IP6pFP;IOnkFA;MA1GI,oBAgBG;IPgqFP;IOtkFA;MA1GI,kBAgBG;IPmqFP;IOzkFA;MA1GI,oBAgBG;IPsqFP;IO5kFA;MA1GI,mBAgBG;IPyqFP;IO/kFA;MA1GI,kBAgBG;IP4qFP;IOllFA;MA1GI,gBAgBG;IP+qFP;IOrlFA;MA1GI,mBAgBG;IPkrFP;IOxlFA;MA1GI,oBAgBG;IPqrFP;IO3lFA;MA1GI,SAgBG;IPwrFP;IO9lFA;MA1GI,QAgBG;IP2rFP;IOjmFA;MA1GI,QAgBG;IP8rFP;IOpmFA;MA1GI,QAgBG;IPisFP;IOvmFA;MA1GI,QAgBG;IPosFP;IO1mFA;MA1GI,QAgBG;IPusFP;IO7mFA;MA1GI,QAgBG;IP0sFP;IOhnFA;MA1GI,QAgBG;IP6sFP;IOnnFA;MA1GI,SAgBG;IPgtFP;IOtnFA;MA1GI,eAgBG;IPmtFP;IOznFA;MA1GI,cAgBG;IPstFP;IO5nFA;MA1GI,YAgBG;IPytFP;IO/nFA;MA1GI,cAgBG;IP4tFP;IOloFA;MA1GI,YAgBG;IP+tFP;IOroFA;MA1GI,YAgBG;IPkuFP;IOxoFA;MA1GI,gBAgBG;IPquFP;IO3oFA;MA1GI,sBAgBG;IPwuFP;IO9oFA;MA1GI,qBAgBG;IP2uFP;IOjpFA;MA1GI,mBAgBG;IP8uFP;IOppFA;MA1GI,qBAgBG;IPivFP;IOvpFA;MA1GI,mBAgBG;IPovFP;IO1pFA;MA1GI,mBAgBG;IPuvFP;IO7pFA;MA1GI,eAgBG;IP0vFP;IOhqFA;MA1GI,qBAgBG;IP6vFP;IOnqFA;MA1GI,oBAgBG;IPgwFP;IOtqFA;MA1GI,kBAgBG;IPmwFP;IOzqFA;MA1GI,oBAgBG;IPswFP;IO5qFA;MA1GI,kBAgBG;IPywFP;IO/qFA;MA1GI,kBAgBG;IP4wFP;IOlrFA;MA1GI,qBAgBG;IP+wFP;IOrrFA;MA1GI,2BAgBG;IPkxFP;IOxrFA;MA1GI,0BAgBG;IPqxFP;IO3rFA;MA1GI,wBAgBG;IPwxFP;IO9rFA;MA1GI,0BAgBG;IP2xFP;IOjsFA;MA1GI,wBAgBG;IP8xFP;IOpsFA;MA1GI,wBAgBG;IPiyFP;IOvsFA;MA1GI,oBAgBG;IPoyFP;IO1sFA;MA1GI,0BAgBG;IPuyFP;IO7sFA;MA1GI,yBAgBG;IP0yFP;IOhtFA;MA1GI,uBAgBG;IP6yFP;IOntFA;MA1GI,yBAgBG;IPgzFP;IOttFA;MA1GI,uBAgBG;IPmzFP;IOztFA;MA1GI,uBAgBG;IPszFP;IO5tFA;MA1GI,mBAgBG;IPyzFP;IO/tFA;MA1GI,yBAgBG;IP4zFP;IOluFA;MA1GI,wBAgBG;IP+zFP;IOruFA;MA1GI,sBAgBG;IPk0FP;IOxuFA;MA1GI,wBAgBG;IPq0FP;IO3uFA;MA1GI,sBAgBG;IPw0FP;IO9uFA;MA1GI,sBAgBG;IP20FP;IOjvFA;MA1GI,sBAgBG;IP80FP;IOpvFA;MA1GI,4BAgBG;IPi1FP;IOvvFA;MA1GI,2BAgBG;IPo1FP;IO1vFA;MA1GI,yBAgBG;IPu1FP;IO7vFA;MA1GI,2BAgBG;IP01FP;IOhwFA;MA1GI,yBAgBG;IP61FP;IOnwFA;MA1GI,yBAgBG;IPg2FP;IOtwFA;MA1GI,UAgBG;IPm2FP;IOzwFA;MA1GI,gBAgBG;IPs2FP;IO5wFA;MA1GI,eAgBG;IPy2FP;IO/wFA;MA1GI,aAgBG;IP42FP;IOlxFA;MA1GI,eAgBG;IP+2FP;IOrxFA;MA1GI,aAgBG;IPk3FP;IOxxFA;MA1GI,iBAgBG;IPq3FP;IO3xFA;MA1GI,uBAgBG;IPw3FP;IO9xFA;MA1GI,sBAgBG;IP23FP;IOjyFA;MA1GI,oBAgBG;IP83FP;IOpyFA;MA1GI,sBAgBG;IPi4FP;IOvyFA;MA1GI,oBAgBG;IPo4FP;IO1yFA;MA1GI,gBAgBG;IPu4FP;IO7yFA;MA1GI,sBAgBG;IP04FP;IOhzFA;MA1GI,qBAgBG;IP64FP;IOnzFA;MA1GI,mBAgBG;IPg5FP;IOtzFA;MA1GI,qBAgBG;IPm5FP;IOzzFA;MA1GI,mBAgBG;IPs5FP;IO5zFA;MA1GI,sBAgBG;IPy5FP;IO/zFA;MA1GI,4BAgBG;IP45FP;IOl0FA;MA1GI,2BAgBG;IP+5FP;IOr0FA;MA1GI,yBAgBG;IPk6FP;IOx0FA;MA1GI,2BAgBG;IPq6FP;IO30FA;MA1GI,yBAgBG;IPw6FP;IO90FA;MA1GI,qBAgBG;IP26FP;IOj1FA;MA1GI,2BAgBG;IP86FP;IOp1FA;MA1GI,0BAgBG;IPi7FP;IOv1FA;MA1GI,wBAgBG;IPo7FP;IO11FA;MA1GI,0BAgBG;IPu7FP;IO71FA;MA1GI,wBAgBG;IP07FP;IOh2FA;MA1GI,oBAgBG;IP67FP;IOn2FA;MA1GI,0BAgBG;IPg8FP;IOt2FA;MA1GI,yBAgBG;IPm8FP;IOz2FA;MA1GI,uBAgBG;IPs8FP;IO52FA;MA1GI,yBAgBG;IPy8FP;IO/2FA;MA1GI,uBAgBG;IP48FP;IOl3FA;MA1GI,uBAgBG;IP+8FP;IOr3FA;MA1GI,6BAgBG;IPk9FP;IOx3FA;MA1GI,4BAgBG;IPq9FP;IO33FA;MA1GI,0BAgBG;IPw9FP;IO93FA;MA1GI,4BAgBG;IP29FP;IOj4FA;MA1GI,0BAgBG;IP89FP;EACF;EEp/FE;IK+GA;MA1GI,eAqBO;IP89FX;IOz4FA;MA1GI,qBAqBO;IPi+FX;IO54FA;MA1GI,cAqBO;IPo+FX;IO/4FA;MA1GI,aAqBO;IPu+FX;IOl5FA;MA1GI,oBAqBO;IP0+FX;IOr5FA;MA1GI,cAqBO;IP6+FX;IOx5FA;MA1GI,kBAqBO;IPg/FX;IO35FA;MA1GI,mBAqBO;IPm/FX;IO95FA;MA1GI,aAqBO;IPs/FX;IOj6FA;MA1GI,oBAqBO;IPy/FX;IOp6FA;MA1GI,iBAqBO;IP4/FX;IOv6FA;MA1GI,kBAqBO;IP+/FX;IO16FA;MA1GI,aAqBO;IPkgGX;IO76FA;MA1GI,cAgBG;IP0gGP;IOh7FA;MA1GI,mBAqBO;IPwgGX;IOn7FA;MA1GI,sBAqBO;IP2gGX;IOt7FA;MA1GI,2BAqBO;IP8gGX;IOz7FA;MA1GI,8BAqBO;IPihGX;IO57FA;MA1GI,YAgBG;IPyhGP;IO/7FA;MA1GI,YAgBG;IP4hGP;IOl8FA;MA1GI,cAgBG;IP+hGP;IOr8FA;MA1GI,cAgBG;IPkiGP;IOx8FA;MA1GI,eAqBO;IPgiGX;IO38FA;MA1GI,iBAqBO;IPmiGX;IO98FA;MA1GI,uBAqBO;IPsiGX;IOj9FA;MA1GI,2BAgBG;IP8iGP;IOp9FA;MA1GI,yBAgBG;IPijGP;IOv9FA;MA1GI,uBAgBG;IPojGP;IO19FA;MA1GI,8BAgBG;IPujGP;IO79FA;MA1GI,6BAgBG;IP0jGP;IOh+FA;MA1GI,6BAgBG;IP6jGP;IOn+FA;MA1GI,oBAgBG;IPgkGP;IOt+FA;MA1GI,kBAgBG;IPmkGP;IOz+FA;MA1GI,qBAgBG;IPskGP;IO5+FA;MA1GI,sBAgBG;IPykGP;IO/+FA;MA1GI,uBAgBG;IP4kGP;IOl/FA;MA1GI,qBAgBG;IP+kGP;IOr/FA;MA1GI,mBAgBG;IPklGP;IOx/FA;MA1GI,qBAgBG;IPqlGP;IO3/FA;MA1GI,oBAgBG;IPwlGP;IO9/FA;MA1GI,yBAgBG;IP2lGP;IOjgGA;MA1GI,uBAgBG;IP8lGP;IOpgGA;MA1GI,qBAgBG;IPimGP;IOvgGA;MA1GI,4BAgBG;IPomGP;IO1gGA;MA1GI,2BAgBG;IPumGP;IO7gGA;MA1GI,sBAgBG;IP0mGP;IOhhGA;MA1GI,gBAgBG;IP6mGP;IOnhGA;MA1GI,sBAgBG;IPgnGP;IOthGA;MA1GI,oBAgBG;IPmnGP;IOzhGA;MA1GI,kBAgBG;IPsnGP;IO5hGA;MA1GI,oBAgBG;IPynGP;IO/hGA;MA1GI,mBAgBG;IP4nGP;IOliGA;MA1GI,kBAgBG;IP+nGP;IOriGA;MA1GI,gBAgBG;IPkoGP;IOxiGA;MA1GI,mBAgBG;IPqoGP;IO3iGA;MA1GI,oBAgBG;IPwoGP;IO9iGA;MA1GI,SAgBG;IP2oGP;IOjjGA;MA1GI,QAgBG;IP8oGP;IOpjGA;MA1GI,QAgBG;IPipGP;IOvjGA;MA1GI,QAgBG;IPopGP;IO1jGA;MA1GI,QAgBG;IPupGP;IO7jGA;MA1GI,QAgBG;IP0pGP;IOhkGA;MA1GI,QAgBG;IP6pGP;IOnkGA;MA1GI,QAgBG;IPgqGP;IOtkGA;MA1GI,SAgBG;IPmqGP;IOzkGA;MA1GI,eAgBG;IPsqGP;IO5kGA;MA1GI,cAgBG;IPyqGP;IO/kGA;MA1GI,YAgBG;IP4qGP;IOllGA;MA1GI,cAgBG;IP+qGP;IOrlGA;MA1GI,YAgBG;IPkrGP;IOxlGA;MA1GI,YAgBG;IPqrGP;IO3lGA;MA1GI,gBAgBG;IPwrGP;IO9lGA;MA1GI,sBAgBG;IP2rGP;IOjmGA;MA1GI,qBAgBG;IP8rGP;IOpmGA;MA1GI,mBAgBG;IPisGP;IOvmGA;MA1GI,qBAgBG;IPosGP;IO1mGA;MA1GI,mBAgBG;IPusGP;IO7mGA;MA1GI,mBAgBG;IP0sGP;IOhnGA;MA1GI,eAgBG;IP6sGP;IOnnGA;MA1GI,qBAgBG;IPgtGP;IOtnGA;MA1GI,oBAgBG;IPmtGP;IOznGA;MA1GI,kBAgBG;IPstGP;IO5nGA;MA1GI,oBAgBG;IPytGP;IO/nGA;MA1GI,kBAgBG;IP4tGP;IOloGA;MA1GI,kBAgBG;IP+tGP;IOroGA;MA1GI,qBAgBG;IPkuGP;IOxoGA;MA1GI,2BAgBG;IPquGP;IO3oGA;MA1GI,0BAgBG;IPwuGP;IO9oGA;MA1GI,wBAgBG;IP2uGP;IOjpGA;MA1GI,0BAgBG;IP8uGP;IOppGA;MA1GI,wBAgBG;IPivGP;IOvpGA;MA1GI,wBAgBG;IPovGP;IO1pGA;MA1GI,oBAgBG;IPuvGP;IO7pGA;MA1GI,0BAgBG;IP0vGP;IOhqGA;MA1GI,yBAgBG;IP6vGP;IOnqGA;MA1GI,uBAgBG;IPgwGP;IOtqGA;MA1GI,yBAgBG;IPmwGP;IOzqGA;MA1GI,uBAgBG;IPswGP;IO5qGA;MA1GI,uBAgBG;IPywGP;IO/qGA;MA1GI,mBAgBG;IP4wGP;IOlrGA;MA1GI,yBAgBG;IP+wGP;IOrrGA;MA1GI,wBAgBG;IPkxGP;IOxrGA;MA1GI,sBAgBG;IPqxGP;IO3rGA;MA1GI,wBAgBG;IPwxGP;IO9rGA;MA1GI,sBAgBG;IP2xGP;IOjsGA;MA1GI,sBAgBG;IP8xGP;IOpsGA;MA1GI,sBAgBG;IPiyGP;IOvsGA;MA1GI,4BAgBG;IPoyGP;IO1sGA;MA1GI,2BAgBG;IPuyGP;IO7sGA;MA1GI,yBAgBG;IP0yGP;IOhtGA;MA1GI,2BAgBG;IP6yGP;IOntGA;MA1GI,yBAgBG;IPgzGP;IOttGA;MA1GI,yBAgBG;IPmzGP;IOztGA;MA1GI,UAgBG;IPszGP;IO5tGA;MA1GI,gBAgBG;IPyzGP;IO/tGA;MA1GI,eAgBG;IP4zGP;IOluGA;MA1GI,aAgBG;IP+zGP;IOruGA;MA1GI,eAgBG;IPk0GP;IOxuGA;MA1GI,aAgBG;IPq0GP;IO3uGA;MA1GI,iBAgBG;IPw0GP;IO9uGA;MA1GI,uBAgBG;IP20GP;IOjvGA;MA1GI,sBAgBG;IP80GP;IOpvGA;MA1GI,oBAgBG;IPi1GP;IOvvGA;MA1GI,sBAgBG;IPo1GP;IO1vGA;MA1GI,oBAgBG;IPu1GP;IO7vGA;MA1GI,gBAgBG;IP01GP;IOhwGA;MA1GI,sBAgBG;IP61GP;IOnwGA;MA1GI,qBAgBG;IPg2GP;IOtwGA;MA1GI,mBAgBG;IPm2GP;IOzwGA;MA1GI,qBAgBG;IPs2GP;IO5wGA;MA1GI,mBAgBG;IPy2GP;IO/wGA;MA1GI,sBAgBG;IP42GP;IOlxGA;MA1GI,4BAgBG;IP+2GP;IOrxGA;MA1GI,2BAgBG;IPk3GP;IOxxGA;MA1GI,yBAgBG;IPq3GP;IO3xGA;MA1GI,2BAgBG;IPw3GP;IO9xGA;MA1GI,yBAgBG;IP23GP;IOjyGA;MA1GI,qBAgBG;IP83GP;IOpyGA;MA1GI,2BAgBG;IPi4GP;IOvyGA;MA1GI,0BAgBG;IPo4GP;IO1yGA;MA1GI,wBAgBG;IPu4GP;IO7yGA;MA1GI,0BAgBG;IP04GP;IOhzGA;MA1GI,wBAgBG;IP64GP;IOnzGA;MA1GI,oBAgBG;IPg5GP;IOtzGA;MA1GI,0BAgBG;IPm5GP;IOzzGA;MA1GI,yBAgBG;IPs5GP;IO5zGA;MA1GI,uBAgBG;IPy5GP;IO/zGA;MA1GI,yBAgBG;IP45GP;IOl0GA;MA1GI,uBAgBG;IP+5GP;IOr0GA;MA1GI,uBAgBG;IPk6GP;IOx0GA;MA1GI,6BAgBG;IPq6GP;IO30GA;MA1GI,4BAgBG;IPw6GP;IO90GA;MA1GI,0BAgBG;IP26GP;IOj1GA;MA1GI,4BAgBG;IP86GP;IOp1GA;MA1GI,0BAgBG;IPi7GP;EACF;EEv8GE;IK+GA;MA1GI,eAqBO;IPi7GX;IO51GA;MA1GI,qBAqBO;IPo7GX;IO/1GA;MA1GI,cAqBO;IPu7GX;IOl2GA;MA1GI,aAqBO;IP07GX;IOr2GA;MA1GI,oBAqBO;IP67GX;IOx2GA;MA1GI,cAqBO;IPg8GX;IO32GA;MA1GI,kBAqBO;IPm8GX;IO92GA;MA1GI,mBAqBO;IPs8GX;IOj3GA;MA1GI,aAqBO;IPy8GX;IOp3GA;MA1GI,oBAqBO;IP48GX;IOv3GA;MA1GI,iBAqBO;IP+8GX;IO13GA;MA1GI,kBAqBO;IPk9GX;IO73GA;MA1GI,aAqBO;IPq9GX;IOh4GA;MA1GI,cAgBG;IP69GP;IOn4GA;MA1GI,mBAqBO;IP29GX;IOt4GA;MA1GI,sBAqBO;IP89GX;IOz4GA;MA1GI,2BAqBO;IPi+GX;IO54GA;MA1GI,8BAqBO;IPo+GX;IO/4GA;MA1GI,YAgBG;IP4+GP;IOl5GA;MA1GI,YAgBG;IP++GP;IOr5GA;MA1GI,cAgBG;IPk/GP;IOx5GA;MA1GI,cAgBG;IPq/GP;IO35GA;MA1GI,eAqBO;IPm/GX;IO95GA;MA1GI,iBAqBO;IPs/GX;IOj6GA;MA1GI,uBAqBO;IPy/GX;IOp6GA;MA1GI,2BAgBG;IPigHP;IOv6GA;MA1GI,yBAgBG;IPogHP;IO16GA;MA1GI,uBAgBG;IPugHP;IO76GA;MA1GI,8BAgBG;IP0gHP;IOh7GA;MA1GI,6BAgBG;IP6gHP;IOn7GA;MA1GI,6BAgBG;IPghHP;IOt7GA;MA1GI,oBAgBG;IPmhHP;IOz7GA;MA1GI,kBAgBG;IPshHP;IO57GA;MA1GI,qBAgBG;IPyhHP;IO/7GA;MA1GI,sBAgBG;IP4hHP;IOl8GA;MA1GI,uBAgBG;IP+hHP;IOr8GA;MA1GI,qBAgBG;IPkiHP;IOx8GA;MA1GI,mBAgBG;IPqiHP;IO38GA;MA1GI,qBAgBG;IPwiHP;IO98GA;MA1GI,oBAgBG;IP2iHP;IOj9GA;MA1GI,yBAgBG;IP8iHP;IOp9GA;MA1GI,uBAgBG;IPijHP;IOv9GA;MA1GI,qBAgBG;IPojHP;IO19GA;MA1GI,4BAgBG;IPujHP;IO79GA;MA1GI,2BAgBG;IP0jHP;IOh+GA;MA1GI,sBAgBG;IP6jHP;IOn+GA;MA1GI,gBAgBG;IPgkHP;IOt+GA;MA1GI,sBAgBG;IPmkHP;IOz+GA;MA1GI,oBAgBG;IPskHP;IO5+GA;MA1GI,kBAgBG;IPykHP;IO/+GA;MA1GI,oBAgBG;IP4kHP;IOl/GA;MA1GI,mBAgBG;IP+kHP;IOr/GA;MA1GI,kBAgBG;IPklHP;IOx/GA;MA1GI,gBAgBG;IPqlHP;IO3/GA;MA1GI,mBAgBG;IPwlHP;IO9/GA;MA1GI,oBAgBG;IP2lHP;IOjgHA;MA1GI,SAgBG;IP8lHP;IOpgHA;MA1GI,QAgBG;IPimHP;IOvgHA;MA1GI,QAgBG;IPomHP;IO1gHA;MA1GI,QAgBG;IPumHP;IO7gHA;MA1GI,QAgBG;IP0mHP;IOhhHA;MA1GI,QAgBG;IP6mHP;IOnhHA;MA1GI,QAgBG;IPgnHP;IOthHA;MA1GI,QAgBG;IPmnHP;IOzhHA;MA1GI,SAgBG;IPsnHP;IO5hHA;MA1GI,eAgBG;IPynHP;IO/hHA;MA1GI,cAgBG;IP4nHP;IOliHA;MA1GI,YAgBG;IP+nHP;IOriHA;MA1GI,cAgBG;IPkoHP;IOxiHA;MA1GI,YAgBG;IPqoHP;IO3iHA;MA1GI,YAgBG;IPwoHP;IO9iHA;MA1GI,gBAgBG;IP2oHP;IOjjHA;MA1GI,sBAgBG;IP8oHP;IOpjHA;MA1GI,qBAgBG;IPipHP;IOvjHA;MA1GI,mBAgBG;IPopHP;IO1jHA;MA1GI,qBAgBG;IPupHP;IO7jHA;MA1GI,mBAgBG;IP0pHP;IOhkHA;MA1GI,mBAgBG;IP6pHP;IOnkHA;MA1GI,eAgBG;IPgqHP;IOtkHA;MA1GI,qBAgBG;IPmqHP;IOzkHA;MA1GI,oBAgBG;IPsqHP;IO5kHA;MA1GI,kBAgBG;IPyqHP;IO/kHA;MA1GI,oBAgBG;IP4qHP;IOllHA;MA1GI,kBAgBG;IP+qHP;IOrlHA;MA1GI,kBAgBG;IPkrHP;IOxlHA;MA1GI,qBAgBG;IPqrHP;IO3lHA;MA1GI,2BAgBG;IPwrHP;IO9lHA;MA1GI,0BAgBG;IP2rHP;IOjmHA;MA1GI,wBAgBG;IP8rHP;IOpmHA;MA1GI,0BAgBG;IPisHP;IOvmHA;MA1GI,wBAgBG;IPosHP;IO1mHA;MA1GI,wBAgBG;IPusHP;IO7mHA;MA1GI,oBAgBG;IP0sHP;IOhnHA;MA1GI,0BAgBG;IP6sHP;IOnnHA;MA1GI,yBAgBG;IPgtHP;IOtnHA;MA1GI,uBAgBG;IPmtHP;IOznHA;MA1GI,yBAgBG;IPstHP;IO5nHA;MA1GI,uBAgBG;IPytHP;IO/nHA;MA1GI,uBAgBG;IP4tHP;IOloHA;MA1GI,mBAgBG;IP+tHP;IOroHA;MA1GI,yBAgBG;IPkuHP;IOxoHA;MA1GI,wBAgBG;IPquHP;IO3oHA;MA1GI,sBAgBG;IPwuHP;IO9oHA;MA1GI,wBAgBG;IP2uHP;IOjpHA;MA1GI,sBAgBG;IP8uHP;IOppHA;MA1GI,sBAgBG;IPivHP;IOvpHA;MA1GI,sBAgBG;IPovHP;IO1pHA;MA1GI,4BAgBG;IPuvHP;IO7pHA;MA1GI,2BAgBG;IP0vHP;IOhqHA;MA1GI,yBAgBG;IP6vHP;IOnqHA;MA1GI,2BAgBG;IPgwHP;IOtqHA;MA1GI,yBAgBG;IPmwHP;IOzqHA;MA1GI,yBAgBG;IPswHP;IO5qHA;MA1GI,UAgBG;IPywHP;IO/qHA;MA1GI,gBAgBG;IP4wHP;IOlrHA;MA1GI,eAgBG;IP+wHP;IOrrHA;MA1GI,aAgBG;IPkxHP;IOxrHA;MA1GI,eAgBG;IPqxHP;IO3rHA;MA1GI,aAgBG;IPwxHP;IO9rHA;MA1GI,iBAgBG;IP2xHP;IOjsHA;MA1GI,uBAgBG;IP8xHP;IOpsHA;MA1GI,sBAgBG;IPiyHP;IOvsHA;MA1GI,oBAgBG;IPoyHP;IO1sHA;MA1GI,sBAgBG;IPuyHP;IO7sHA;MA1GI,oBAgBG;IP0yHP;IOhtHA;MA1GI,gBAgBG;IP6yHP;IOntHA;MA1GI,sBAgBG;IPgzHP;IOttHA;MA1GI,qBAgBG;IPmzHP;IOztHA;MA1GI,mBAgBG;IPszHP;IO5tHA;MA1GI,qBAgBG;IPyzHP;IO/tHA;MA1GI,mBAgBG;IP4zHP;IOluHA;MA1GI,sBAgBG;IP+zHP;IOruHA;MA1GI,4BAgBG;IPk0HP;IOxuHA;MA1GI,2BAgBG;IPq0HP;IO3uHA;MA1GI,yBAgBG;IPw0HP;IO9uHA;MA1GI,2BAgBG;IP20HP;IOjvHA;MA1GI,yBAgBG;IP80HP;IOpvHA;MA1GI,qBAgBG;IPi1HP;IOvvHA;MA1GI,2BAgBG;IPo1HP;IO1vHA;MA1GI,0BAgBG;IPu1HP;IO7vHA;MA1GI,wBAgBG;IP01HP;IOhwHA;MA1GI,0BAgBG;IP61HP;IOnwHA;MA1GI,wBAgBG;IPg2HP;IOtwHA;MA1GI,oBAgBG;IPm2HP;IOzwHA;MA1GI,0BAgBG;IPs2HP;IO5wHA;MA1GI,yBAgBG;IPy2HP;IO/wHA;MA1GI,uBAgBG;IP42HP;IOlxHA;MA1GI,yBAgBG;IP+2HP;IOrxHA;MA1GI,uBAgBG;IPk3HP;IOxxHA;MA1GI,uBAgBG;IPq3HP;IO3xHA;MA1GI,6BAgBG;IPw3HP;IO9xHA;MA1GI,4BAgBG;IP23HP;IOjyHA;MA1GI,0BAgBG;IP83HP;IOpyHA;MA1GI,4BAgBG;IPi4HP;IOvyHA;MA1GI,0BAgBG;IPo4HP;EACF;EE15HE;IK+GA;MA1GI,eAqBO;IPo4HX;IO/yHA;MA1GI,qBAqBO;IPu4HX;IOlzHA;MA1GI,cAqBO;IP04HX;IOrzHA;MA1GI,aAqBO;IP64HX;IOxzHA;MA1GI,oBAqBO;IPg5HX;IO3zHA;MA1GI,cAqBO;IPm5HX;IO9zHA;MA1GI,kBAqBO;IPs5HX;IOj0HA;MA1GI,mBAqBO;IPy5HX;IOp0HA;MA1GI,aAqBO;IP45HX;IOv0HA;MA1GI,oBAqBO;IP+5HX;IO10HA;MA1GI,iBAqBO;IPk6HX;IO70HA;MA1GI,kBAqBO;IPq6HX;IOh1HA;MA1GI,aAqBO;IPw6HX;IOn1HA;MA1GI,cAgBG;IPg7HP;IOt1HA;MA1GI,mBAqBO;IP86HX;IOz1HA;MA1GI,sBAqBO;IPi7HX;IO51HA;MA1GI,2BAqBO;IPo7HX;IO/1HA;MA1GI,8BAqBO;IPu7HX;IOl2HA;MA1GI,YAgBG;IP+7HP;IOr2HA;MA1GI,YAgBG;IPk8HP;IOx2HA;MA1GI,cAgBG;IPq8HP;IO32HA;MA1GI,cAgBG;IPw8HP;IO92HA;MA1GI,eAqBO;IPs8HX;IOj3HA;MA1GI,iBAqBO;IPy8HX;IOp3HA;MA1GI,uBAqBO;IP48HX;IOv3HA;MA1GI,2BAgBG;IPo9HP;IO13HA;MA1GI,yBAgBG;IPu9HP;IO73HA;MA1GI,uBAgBG;IP09HP;IOh4HA;MA1GI,8BAgBG;IP69HP;IOn4HA;MA1GI,6BAgBG;IPg+HP;IOt4HA;MA1GI,6BAgBG;IPm+HP;IOz4HA;MA1GI,oBAgBG;IPs+HP;IO54HA;MA1GI,kBAgBG;IPy+HP;IO/4HA;MA1GI,qBAgBG;IP4+HP;IOl5HA;MA1GI,sBAgBG;IP++HP;IOr5HA;MA1GI,uBAgBG;IPk/HP;IOx5HA;MA1GI,qBAgBG;IPq/HP;IO35HA;MA1GI,mBAgBG;IPw/HP;IO95HA;MA1GI,qBAgBG;IP2/HP;IOj6HA;MA1GI,oBAgBG;IP8/HP;IOp6HA;MA1GI,yBAgBG;IPigIP;IOv6HA;MA1GI,uBAgBG;IPogIP;IO16HA;MA1GI,qBAgBG;IPugIP;IO76HA;MA1GI,4BAgBG;IP0gIP;IOh7HA;MA1GI,2BAgBG;IP6gIP;IOn7HA;MA1GI,sBAgBG;IPghIP;IOt7HA;MA1GI,gBAgBG;IPmhIP;IOz7HA;MA1GI,sBAgBG;IPshIP;IO57HA;MA1GI,oBAgBG;IPyhIP;IO/7HA;MA1GI,kBAgBG;IP4hIP;IOl8HA;MA1GI,oBAgBG;IP+hIP;IOr8HA;MA1GI,mBAgBG;IPkiIP;IOx8HA;MA1GI,kBAgBG;IPqiIP;IO38HA;MA1GI,gBAgBG;IPwiIP;IO98HA;MA1GI,mBAgBG;IP2iIP;IOj9HA;MA1GI,oBAgBG;IP8iIP;IOp9HA;MA1GI,SAgBG;IPijIP;IOv9HA;MA1GI,QAgBG;IPojIP;IO19HA;MA1GI,QAgBG;IPujIP;IO79HA;MA1GI,QAgBG;IP0jIP;IOh+HA;MA1GI,QAgBG;IP6jIP;IOn+HA;MA1GI,QAgBG;IPgkIP;IOt+HA;MA1GI,QAgBG;IPmkIP;IOz+HA;MA1GI,QAgBG;IPskIP;IO5+HA;MA1GI,SAgBG;IPykIP;IO/+HA;MA1GI,eAgBG;IP4kIP;IOl/HA;MA1GI,cAgBG;IP+kIP;IOr/HA;MA1GI,YAgBG;IPklIP;IOx/HA;MA1GI,cAgBG;IPqlIP;IO3/HA;MA1GI,YAgBG;IPwlIP;IO9/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","file":"bootstrap-grid.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer utilities {\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  @media (width >= 576px) {\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (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  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (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($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n$enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n$color-mode-type:             data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !default;\n\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","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 379f8ecf31f4c4632b8156678ecb20cd16223d97..eb4219ce44e194faa4262e3f22b18c03a6b5c965 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors
+  * Copyright 2011-2026 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 :root {
   --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));
 }
 
-.theme-primary {
-  --bs-theme-base: var(--bs-primary-base);
-  --bs-theme-text: var(--bs-primary-text);
-  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);
-  --bs-theme-bg: var(--bs-primary-bg);
-  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-primary-bg-muted);
-  --bs-theme-border: var(--bs-primary-border);
-  --bs-theme-focus-ring: var(--bs-primary-focus-ring);
-  --bs-theme-contrast: var(--bs-primary-contrast);
-}
-
-.theme-accent {
-  --bs-theme-base: var(--bs-accent-base);
-  --bs-theme-text: var(--bs-accent-text);
-  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);
-  --bs-theme-bg: var(--bs-accent-bg);
-  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-accent-bg-muted);
-  --bs-theme-border: var(--bs-accent-border);
-  --bs-theme-focus-ring: var(--bs-accent-focus-ring);
-  --bs-theme-contrast: var(--bs-accent-contrast);
-}
-
-.theme-success {
-  --bs-theme-base: var(--bs-success-base);
-  --bs-theme-text: var(--bs-success-text);
-  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);
-  --bs-theme-bg: var(--bs-success-bg);
-  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-success-bg-muted);
-  --bs-theme-border: var(--bs-success-border);
-  --bs-theme-focus-ring: var(--bs-success-focus-ring);
-  --bs-theme-contrast: var(--bs-success-contrast);
-}
-
-.theme-danger {
-  --bs-theme-base: var(--bs-danger-base);
-  --bs-theme-text: var(--bs-danger-text);
-  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);
-  --bs-theme-bg: var(--bs-danger-bg);
-  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-danger-bg-muted);
-  --bs-theme-border: var(--bs-danger-border);
-  --bs-theme-focus-ring: var(--bs-danger-focus-ring);
-  --bs-theme-contrast: var(--bs-danger-contrast);
-}
-
-.theme-warning {
-  --bs-theme-base: var(--bs-warning-base);
-  --bs-theme-text: var(--bs-warning-text);
-  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);
-  --bs-theme-bg: var(--bs-warning-bg);
-  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-warning-bg-muted);
-  --bs-theme-border: var(--bs-warning-border);
-  --bs-theme-focus-ring: var(--bs-warning-focus-ring);
-  --bs-theme-contrast: var(--bs-warning-contrast);
-}
-
-.theme-info {
-  --bs-theme-base: var(--bs-info-base);
-  --bs-theme-text: var(--bs-info-text);
-  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);
-  --bs-theme-bg: var(--bs-info-bg);
-  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-info-bg-muted);
-  --bs-theme-border: var(--bs-info-border);
-  --bs-theme-focus-ring: var(--bs-info-focus-ring);
-  --bs-theme-contrast: var(--bs-info-contrast);
-}
-
-.theme-inverse {
-  --bs-theme-base: var(--bs-inverse-base);
-  --bs-theme-text: var(--bs-inverse-text);
-  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);
-  --bs-theme-bg: var(--bs-inverse-bg);
-  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);
-  --bs-theme-border: var(--bs-inverse-border);
-  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);
-  --bs-theme-contrast: var(--bs-inverse-contrast);
-}
-
-.theme-secondary {
-  --bs-theme-base: var(--bs-secondary-base);
-  --bs-theme-text: var(--bs-secondary-text);
-  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);
-  --bs-theme-bg: var(--bs-secondary-bg);
-  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);
-  --bs-theme-border: var(--bs-secondary-border);
-  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);
-  --bs-theme-contrast: var(--bs-secondary-contrast);
-}
-
 @layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;
 :root {
   --bs-black: #000;
   --bs-white: #fff;
+  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
+  --bs-body-font-family: var(--bs-font-sans-serif);
+  --bs-font-size-base: 14px;
+  --bs-font-size-xs: 0.75rem;
+  --bs-font-size-sm: 0.875rem;
+  --bs-font-size-md: 1rem;
+  --bs-font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);
+  --bs-font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);
+  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);
+  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);
+  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);
+  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);
+  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);
+  --bs-line-height-xs: 1.5;
+  --bs-line-height-sm: 1.5;
+  --bs-line-height-md: 1.5;
+  --bs-line-height-lg: 1.5;
+  --bs-line-height-xl: 1.4285714286;
+  --bs-line-height-2xl: 1.3333333333;
+  --bs-line-height-3xl: 1.2;
+  --bs-line-height-4xl: 1.1;
+  --bs-line-height-5xl: 1.1;
+  --bs-line-height-6xl: 1;
+  --bs-body-font-size: 14px;
+  --bs-body-font-weight: 400;
+  --bs-body-line-height: 1.5;
+  --bs-heading-color: inherit;
+  --bs-hr-border-color: var(--bs-border-color);
+  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
+  --bs-link-decoration: underline;
+  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
+  --bs-code-color: var(--bs-secondary-text);
+  --bs-highlight-color: var(--bs-fg-body);
+  --bs-highlight-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));
+  --bs-border-width: 1px;
+  --bs-border-style: solid;
+  --bs-border-color: light-dark(color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)), var(--bs-gray-700));
+  --bs-border-color-translucent: color-mix(in oklch, var(--bs-fg-body) 15%, transparent);
+  --bs-border-radius: 0.5rem;
+  --bs-border-radius-sm: 0.375rem;
+  --bs-border-radius-lg: 0.75rem;
+  --bs-border-radius-xl: 1rem;
+  --bs-border-radius-2xl: 2rem;
+  --bs-border-radius-pill: 50rem;
+  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
+  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
+  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
+  --bs-focus-ring-width: 3px;
+  --bs-focus-ring-offset: 1px;
+  --bs-focus-ring-color: var(--bs-primary-focus-ring);
+  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);
+  --bs-form-valid-color: var(--bs-success);
+  --bs-form-valid-border-color: var(--bs-success);
+  --bs-form-invalid-color: var(--bs-danger);
+  --bs-form-invalid-border-color: var(--bs-danger);
   --bs-primary-base: var(--bs-blue-500);
   --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));
   --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));
 
 :root,
 [data-bs-theme=light] {
-  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
-  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
-  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
-  --bs-body-font-family: var(--bs-font-sans-serif);
-  --bs-font-size-base: 14px;
-  --bs-font-size-xs: .75rem;
-  --bs-font-size-sm: .875rem;
-  --bs-font-size-md: 1rem;
-  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);
-  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);
-  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);
-  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);
-  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);
-  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);
-  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);
-  --bs-line-height-xs: 1.5;
-  --bs-line-height-sm: 1.5;
-  --bs-line-height-md: 1.5;
-  --bs-line-height-lg: 1.5;
-  --bs-line-height-xl: calc(2.5 / 1.75);
-  --bs-line-height-2xl: calc(3 / 2.25);
-  --bs-line-height-3xl: 1.2;
-  --bs-line-height-4xl: 1.1;
-  --bs-line-height-5xl: 1.1;
-  --bs-line-height-6xl: 1;
-  --bs-body-font-size: 14px;
-  --bs-body-font-weight: 400;
-  --bs-body-line-height: 1.5;
-  --bs-heading-color: inherit;
-  --bs-hr-border-color: var(--bs-border-color);
-  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
-  --bs-link-decoration: underline;
-  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
-  --bs-code-color: var(--bs-secondary-text);
-  --bs-highlight-color: var(--bs-fg-body);
-  --bs-highlight-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));
-  --bs-border-width: 1px;
-  --bs-border-style: solid;
-  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));
-  --bs-border-color-translucent: color-mix(in oklch, var(--bs-fg-body) 15%, transparent);
-  --bs-border-radius: 0.5rem;
-  --bs-border-radius-sm: 0.375rem;
-  --bs-border-radius-lg: 0.75rem;
-  --bs-border-radius-xl: 1rem;
-  --bs-border-radius-2xl: 2rem;
-  --bs-border-radius-pill: 50rem;
-  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
-  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
-  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
-  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
-  --bs-focus-ring-width: 3px;
-  --bs-focus-ring-offset: 1px;
-  --bs-focus-ring-color: var(--bs-primary-focus-ring);
-  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);
-  --bs-form-valid-color: var(--bs-success);
-  --bs-form-valid-border-color: var(--bs-success);
-  --bs-form-invalid-color: var(--bs-danger);
-  --bs-form-invalid-border-color: var(--bs-danger);
-  color-scheme: light;
   --bs-root-font-size: 16px;
 }
 
-[data-bs-theme=dark] {
-  --bs-heading-color: inherit;
-  --bs-border-color: var(--bs-gray-700);
-  --bs-form-valid-color: var(--bs-green-300);
-  --bs-form-valid-border-color: var(--bs-green-300);
-  --bs-form-invalid-color: var(--bs-red-300);
-  --bs-form-invalid-border-color: var(--bs-red-300);
-  color-scheme: dark;
-}
-
 @layer reboot {
   *,
   *::before,
index c7ba26b2a075e00fa6f961c58ff43f527007bf9f..1301e6e055e2d0a269934e916b3de6ec07309daa 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-reboot.css","../../scss/_theme.scss","../../scss/_root.scss","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --theme-base: var(--primary-base);\n  --theme-text: var(--primary-text);\n  --theme-text-emphasis: var(--primary-text-emphasis);\n  --theme-bg: var(--primary-bg);\n  --theme-bg-subtle: var(--primary-bg-subtle);\n  --theme-bg-muted: var(--primary-bg-muted);\n  --theme-border: var(--primary-border);\n  --theme-focus-ring: var(--primary-focus-ring);\n  --theme-contrast: var(--primary-contrast);\n}\n\n.theme-accent {\n  --theme-base: var(--accent-base);\n  --theme-text: var(--accent-text);\n  --theme-text-emphasis: var(--accent-text-emphasis);\n  --theme-bg: var(--accent-bg);\n  --theme-bg-subtle: var(--accent-bg-subtle);\n  --theme-bg-muted: var(--accent-bg-muted);\n  --theme-border: var(--accent-border);\n  --theme-focus-ring: var(--accent-focus-ring);\n  --theme-contrast: var(--accent-contrast);\n}\n\n.theme-success {\n  --theme-base: var(--success-base);\n  --theme-text: var(--success-text);\n  --theme-text-emphasis: var(--success-text-emphasis);\n  --theme-bg: var(--success-bg);\n  --theme-bg-subtle: var(--success-bg-subtle);\n  --theme-bg-muted: var(--success-bg-muted);\n  --theme-border: var(--success-border);\n  --theme-focus-ring: var(--success-focus-ring);\n  --theme-contrast: var(--success-contrast);\n}\n\n.theme-danger {\n  --theme-base: var(--danger-base);\n  --theme-text: var(--danger-text);\n  --theme-text-emphasis: var(--danger-text-emphasis);\n  --theme-bg: var(--danger-bg);\n  --theme-bg-subtle: var(--danger-bg-subtle);\n  --theme-bg-muted: var(--danger-bg-muted);\n  --theme-border: var(--danger-border);\n  --theme-focus-ring: var(--danger-focus-ring);\n  --theme-contrast: var(--danger-contrast);\n}\n\n.theme-warning {\n  --theme-base: var(--warning-base);\n  --theme-text: var(--warning-text);\n  --theme-text-emphasis: var(--warning-text-emphasis);\n  --theme-bg: var(--warning-bg);\n  --theme-bg-subtle: var(--warning-bg-subtle);\n  --theme-bg-muted: var(--warning-bg-muted);\n  --theme-border: var(--warning-border);\n  --theme-focus-ring: var(--warning-focus-ring);\n  --theme-contrast: var(--warning-contrast);\n}\n\n.theme-info {\n  --theme-base: var(--info-base);\n  --theme-text: var(--info-text);\n  --theme-text-emphasis: var(--info-text-emphasis);\n  --theme-bg: var(--info-bg);\n  --theme-bg-subtle: var(--info-bg-subtle);\n  --theme-bg-muted: var(--info-bg-muted);\n  --theme-border: var(--info-border);\n  --theme-focus-ring: var(--info-focus-ring);\n  --theme-contrast: var(--info-contrast);\n}\n\n.theme-inverse {\n  --theme-base: var(--inverse-base);\n  --theme-text: var(--inverse-text);\n  --theme-text-emphasis: var(--inverse-text-emphasis);\n  --theme-bg: var(--inverse-bg);\n  --theme-bg-subtle: var(--inverse-bg-subtle);\n  --theme-bg-muted: var(--inverse-bg-muted);\n  --theme-border: var(--inverse-border);\n  --theme-focus-ring: var(--inverse-focus-ring);\n  --theme-contrast: var(--inverse-contrast);\n}\n\n.theme-secondary {\n  --theme-base: var(--secondary-base);\n  --theme-text: var(--secondary-text);\n  --theme-text-emphasis: var(--secondary-text-emphasis);\n  --theme-bg: var(--secondary-bg);\n  --theme-bg-subtle: var(--secondary-bg-subtle);\n  --theme-bg-muted: var(--secondary-bg-muted);\n  --theme-border: var(--secondary-border);\n  --theme-focus-ring: var(--secondary-focus-ring);\n  --theme-contrast: var(--secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --body-font-family: var(--font-sans-serif);\n  --font-size-base: 14px;\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  --body-font-size: 14px;\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --code-color: var(--secondary-text);\n  --highlight-color: var(--fg-body);\n  --highlight-bg: light-dark(var(--yellow-100), var(--yellow-900));\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: color-mix(in oklch, var(--gray-100), var(--gray-200));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-sm: 0.375rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --form-valid-color: var(--success);\n  --form-valid-border-color: var(--success);\n  --form-invalid-color: var(--danger);\n  --form-invalid-border-color: var(--danger);\n  color-scheme: light;\n  --root-font-size: 16px;\n}\n\n[data-bs-theme=dark] {\n  --heading-color: inherit;\n  --border-color: var(--gray-700);\n  --form-valid-color: var(--green-300);\n  --form-valid-border-color: var(--green-300);\n  --form-invalid-color: var(--red-300);\n  --form-invalid-border-color: var(--red-300);\n  color-scheme: dark;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bg-body);\n    background-color: var(--fg-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  // scss-docs-start root-theme-variables\n  --black: #{$black};\n  --white: #{$white};\n\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --border-#{$color}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --font-monospace: #{meta.inspect($font-family-monospace)};\n  --gradient: #{$gradient};\n  --body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base}; // 14px\n\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base};\n  --body-font-weight: #{$font-weight-base};\n  --body-line-height: #{$line-height-base};\n\n  --heading-color: #{$headings-color};\n\n  --hr-border-color: var(--border-color);\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: #{$link-decoration};\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  --code-color: #{$code-color};\n  --highlight-color: #{$mark-color};\n  --highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width};\n  --border-style: #{$border-style};\n  --border-color: #{$border-color};\n  --border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius};\n  --border-radius-sm: #{$border-radius-sm};\n  --border-radius-lg: #{$border-radius-lg};\n  --border-radius-xl: #{$border-radius-xl};\n  --border-radius-2xl: #{$border-radius-2xl};\n  --border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow};\n  --box-shadow-sm: #{$box-shadow-sm};\n  --box-shadow-lg: #{$box-shadow-lg};\n  --box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color};\n  --form-valid-border-color: #{$form-valid-border-color};\n  --form-invalid-color: #{$form-invalid-color};\n  --form-invalid-border-color: #{$form-invalid-border-color};\n  color-scheme: light;\n  // scss-docs-end root-form-validation-variables\n\n  // Root and body\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n\n    // scss-docs-start root-dark-mode-vars\n    --heading-color: #{$headings-color-dark};\n\n    --border-color: #{$border-color-dark};\n\n    --form-valid-color: #{$form-valid-color-dark};\n    --form-valid-border-color: #{$form-valid-border-color-dark};\n    --form-invalid-color: #{$form-invalid-color-dark};\n    --form-invalid-border-color: #{$form-invalid-border-color-dark};\n    color-scheme: dark;\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--root-font-size);\n      // @include font-size(var(--root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n\n    accent-color: var(--primary-base);\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: $hr-margin-y 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    font-size: $kbd-font-size;\n    color: $kbd-color;\n    background-color: $kbd-bg;\n    @include border-radius($border-radius-sm);\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--gray-100) !default;\n// $dark:          var(--gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\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\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// :                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n$border-color-translucent:    color-mix(in oklch, var(--fg-body) 15%, transparent) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--primary-contrast) !default;\n$component-active-bg:         var(--primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, 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// stylelint-enable value-keyword-case\n$font-family-base:            var(--font-sans-serif) !default;\n$font-family-code:            var(--font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--font-size-3xl) !default;\n$h2-font-size: var(--font-size-2xl) !default;\n$h3-font-size: var(--font-size-xl) !default;\n$h4-font-size: var(--font-size-lg) !default;\n$h5-font-size: var(--font-size-md) !default;\n$h6-font-size: var(--font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--font-size-xs),\n    \"line-height\": var(--line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--font-size-sm),\n    \"line-height\": var(--line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--font-size-md),\n    \"line-height\": var(--line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--font-size-lg),\n    \"line-height\": var(--line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--font-size-xl),\n    \"line-height\": var(--line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--font-size-2xl),\n    \"line-height\": var(--line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--font-size-3xl),\n    \"line-height\": var(--line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--font-size-4xl),\n    \"line-height\": var(--line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--font-size-5xl),\n    \"line-height\": var(--line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--font-size-6xl),\n    \"line-height\": var(--line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  var(--fg-body) !default;\n$mark-bg:                     light-dark(var(--yellow-100), var(--yellow-900)) !default;\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--border-color-translucent) !default;\n$offcanvas-border-width:            var(--border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--bg-body) !default;\n$offcanvas-color:                   var(--fg-body) !default;\n$offcanvas-box-shadow:              var(--box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--bg-body) !default;\n$kbd-bg:                            var(--fg-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--gray-200) !default;\n// $body-bg-dark:                      var(--gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;\n$border-color-dark:                 var(--gray-700) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--green-300) !default;\n$form-valid-border-color-dark:      var(--green-300) !default;\n$form-invalid-color-dark:           var(--red-300) !default;\n$form-invalid-border-color-dark:    var(--red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\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 meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\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: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-reboot.css","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --body-font-family: var(--font-sans-serif);\n  --font-size-base: 14px;\n  --font-size-xs: 0.75rem;\n  --font-size-sm: 0.875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: 1.4285714286;\n  --line-height-2xl: 1.3333333333;\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  --body-font-size: 14px;\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --code-color: var(--secondary-text);\n  --highlight-color: var(--fg-body);\n  --highlight-bg: light-dark(var(--yellow-100), var(--yellow-900));\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-sm: 0.375rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --form-valid-color: var(--success);\n  --form-valid-border-color: var(--success);\n  --form-invalid-color: var(--danger);\n  --form-invalid-border-color: var(--danger);\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --root-font-size: 16px;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bg-body);\n    background-color: var(--fg-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines\n$root-tokens: (\n  --black: #{$black},\n  --white: #{$white},\n  // Fonts\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)},\n  --font-monospace: #{meta.inspect($font-family-monospace)},\n  --gradient: #{$gradient},\n  --body-font-family: #{meta.inspect($font-family-base)},\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base},\n  --font-size-xs: .75rem,\n  --font-size-sm: .875rem,\n  --font-size-md: 1rem,\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem),\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem),\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem),\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n\n  --line-height-xs: 1.5,\n  --line-height-sm: 1.5,\n  --line-height-md: 1.5,\n  --line-height-lg: 1.5,\n  --line-height-xl: calc(2.5 / 1.75),\n  --line-height-2xl: calc(3 / 2.25),\n  --line-height-3xl: 1.2,\n  --line-height-4xl: 1.1,\n  --line-height-5xl: 1.1,\n  --line-height-6xl: 1,\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base},\n  --body-font-weight: #{$font-weight-base},\n  --body-line-height: #{$line-height-base},\n\n  --heading-color: #{$headings-color},\n\n  --hr-border-color: var(--border-color),\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text)),\n  --link-decoration: #{$link-decoration},\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n  --code-color: #{$code-color},\n  --highlight-color: #{$mark-color},\n  --highlight-bg: #{$mark-bg},\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width},\n  --border-style: #{$border-style},\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius},\n  --border-radius-sm: #{$border-radius-sm},\n  --border-radius-lg: #{$border-radius-lg},\n  --border-radius-xl: #{$border-radius-xl},\n  --border-radius-2xl: #{$border-radius-2xl},\n  --border-radius-pill: #{$border-radius-pill},\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow},\n  --box-shadow-sm: #{$box-shadow-sm},\n  --box-shadow-lg: #{$box-shadow-lg},\n  --box-shadow-inset: #{$box-shadow-inset},\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px,\n  --focus-ring-offset: 1px,\n  --focus-ring-color: var(--primary-focus-ring),\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color},\n  --form-valid-border-color: #{$form-valid-border-color},\n  --form-invalid-color: #{$form-invalid-color},\n  --form-invalid-border-color: #{$form-invalid-border-color},\n  // scss-docs-end root-form-validation-variables\n) !default;\n// stylelint-enable @stylistic/value-list-max-empty-lines\n\n// Generate semantic theme colors\n@each $color-name, $color-map in $new-theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-tokens\n\n\n:root {\n  // scss-docs-start root-theme-variables\n  @each $prop, $value in $root-tokens {\n    #{$prop}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // // Fonts\n\n  // // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  // --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  // --font-monospace: #{meta.inspect($font-family-monospace)};\n  // --gradient: #{$gradient};\n  // --body-font-family: #{meta.inspect($font-family-base)};\n\n  // // scss-docs-start root-font-size-variables\n  // --font-size-base: #{$font-size-base}; // 14px\n\n  // --font-size-xs: .75rem;\n  // --font-size-sm: .875rem;\n  // --font-size-md: 1rem;\n  // --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  // --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  // --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  // --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  // --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  // --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  // --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  // --line-height-xs: 1.5;\n  // --line-height-sm: 1.5;\n  // --line-height-md: 1.5;\n  // --line-height-lg: 1.5;\n  // --line-height-xl: calc(2.5 / 1.75);\n  // --line-height-2xl: calc(3 / 2.25);\n  // --line-height-3xl: 1.2;\n  // --line-height-4xl: 1.1;\n  // --line-height-5xl: 1.1;\n  // --line-height-6xl: 1;\n  // // scss-docs-end root-font-size-variables\n\n  // --body-font-size: #{$font-size-base};\n  // --body-font-weight: #{$font-weight-base};\n  // --body-line-height: #{$line-height-base};\n\n  // --heading-color: #{$headings-color};\n\n  // --hr-border-color: var(--border-color);\n\n  // --link-color: light-dark(var(--primary-base), var(--primary-text));\n  // --link-decoration: #{$link-decoration};\n  // --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  // --code-color: #{$code-color};\n  // --highlight-color: #{$mark-color};\n  // --highlight-bg: #{$mark-bg};\n\n  // // scss-docs-start root-border-var\n  // --border-width: #{$border-width};\n  // --border-style: #{$border-style};\n  // --border-color: #{$border-color};\n  // --border-color-translucent: #{$border-color-translucent};\n  // // scss-docs-end root-border-var\n\n  // // scss-docs-start root-border-radius-var\n  // --border-radius: #{$border-radius};\n  // --border-radius-sm: #{$border-radius-sm};\n  // --border-radius-lg: #{$border-radius-lg};\n  // --border-radius-xl: #{$border-radius-xl};\n  // --border-radius-2xl: #{$border-radius-2xl};\n  // --border-radius-pill: #{$border-radius-pill};\n  // // scss-docs-end root-border-radius-var\n\n  // --box-shadow: #{$box-shadow};\n  // --box-shadow-sm: #{$box-shadow-sm};\n  // --box-shadow-lg: #{$box-shadow-lg};\n  // --box-shadow-inset: #{$box-shadow-inset};\n\n  // // Focus styles\n  // // scss-docs-start root-focus-variables\n  // --focus-ring-width: 3px;\n  // --focus-ring-offset: 1px;\n  // --focus-ring-color: var(--primary-focus-ring);\n  // --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // // scss-docs-end root-focus-variables\n\n  // // scss-docs-start root-form-validation-variables\n  // --form-valid-color: #{$form-valid-color};\n  // --form-valid-border-color: #{$form-valid-border-color};\n  // --form-invalid-color: #{$form-invalid-color};\n  // --form-invalid-border-color: #{$form-invalid-border-color};\n  // color-scheme: light;\n  // // scss-docs-end root-form-validation-variables\n\n  // Root and body\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n}\n\n// @if $enable-dark-mode {\n//   @include color-mode(dark, true) {\n\n//     // scss-docs-start root-dark-mode-vars\n//     --heading-color: #{$headings-color-dark};\n\n//     --border-color: #{$border-color-dark};\n\n//     --form-valid-color: #{$form-valid-color-dark};\n//     --form-valid-border-color: #{$form-valid-border-color-dark};\n//     --form-invalid-color: #{$form-invalid-color-dark};\n//     --form-invalid-border-color: #{$form-invalid-border-color-dark};\n//     color-scheme: dark;\n//     // scss-docs-end root-dark-mode-vars\n//   }\n// }\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--root-font-size);\n      // @include font-size(var(--root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n\n    accent-color: var(--primary-base);\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: $hr-margin-y 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    font-size: $kbd-font-size;\n    color: $kbd-color;\n    background-color: $kbd-bg;\n    @include border-radius($border-radius-sm);\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--gray-100) !default;\n// $dark:          var(--gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\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\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// :                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n$border-color-translucent:    color-mix(in oklch, var(--fg-body) 15%, transparent) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--primary-contrast) !default;\n$component-active-bg:         var(--primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, 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// stylelint-enable value-keyword-case\n$font-family-base:            var(--font-sans-serif) !default;\n$font-family-code:            var(--font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--font-size-3xl) !default;\n$h2-font-size: var(--font-size-2xl) !default;\n$h3-font-size: var(--font-size-xl) !default;\n$h4-font-size: var(--font-size-lg) !default;\n$h5-font-size: var(--font-size-md) !default;\n$h6-font-size: var(--font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--font-size-xs),\n    \"line-height\": var(--line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--font-size-sm),\n    \"line-height\": var(--line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--font-size-md),\n    \"line-height\": var(--line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--font-size-lg),\n    \"line-height\": var(--line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--font-size-xl),\n    \"line-height\": var(--line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--font-size-2xl),\n    \"line-height\": var(--line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--font-size-3xl),\n    \"line-height\": var(--line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--font-size-4xl),\n    \"line-height\": var(--line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--font-size-5xl),\n    \"line-height\": var(--line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--font-size-6xl),\n    \"line-height\": var(--line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  var(--fg-body) !default;\n$mark-bg:                     light-dark(var(--yellow-100), var(--yellow-900)) !default;\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--border-color-translucent) !default;\n$offcanvas-border-width:            var(--border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--bg-body) !default;\n$offcanvas-color:                   var(--fg-body) !default;\n$offcanvas-box-shadow:              var(--box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--bg-body) !default;\n$kbd-bg:                            var(--fg-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--gray-200) !default;\n// $body-bg-dark:                      var(--gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;\n$border-color-dark:                 var(--gray-700) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--green-300) !default;\n$form-valid-border-color-dark:      var(--green-300) !default;\n$form-invalid-color-dark:           var(--red-300) !default;\n$form-invalid-border-color-dark:    var(--red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\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 meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\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: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
index 5284e83c8ab15482834113a6777af37d54084026..fa252b882f4846fa91b8db17ac79ed9c6c7b1581 100644 (file)
@@ -1,6 +1,6 @@
 /*!
   * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors
+  * Copyright 2011-2026 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 :root {
   --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));
 }
 
-.theme-primary {
-  --bs-theme-base: var(--bs-primary-base);
-  --bs-theme-text: var(--bs-primary-text);
-  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);
-  --bs-theme-bg: var(--bs-primary-bg);
-  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-primary-bg-muted);
-  --bs-theme-border: var(--bs-primary-border);
-  --bs-theme-focus-ring: var(--bs-primary-focus-ring);
-  --bs-theme-contrast: var(--bs-primary-contrast);
-}
-
-.theme-accent {
-  --bs-theme-base: var(--bs-accent-base);
-  --bs-theme-text: var(--bs-accent-text);
-  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);
-  --bs-theme-bg: var(--bs-accent-bg);
-  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-accent-bg-muted);
-  --bs-theme-border: var(--bs-accent-border);
-  --bs-theme-focus-ring: var(--bs-accent-focus-ring);
-  --bs-theme-contrast: var(--bs-accent-contrast);
-}
-
-.theme-success {
-  --bs-theme-base: var(--bs-success-base);
-  --bs-theme-text: var(--bs-success-text);
-  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);
-  --bs-theme-bg: var(--bs-success-bg);
-  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-success-bg-muted);
-  --bs-theme-border: var(--bs-success-border);
-  --bs-theme-focus-ring: var(--bs-success-focus-ring);
-  --bs-theme-contrast: var(--bs-success-contrast);
-}
-
-.theme-danger {
-  --bs-theme-base: var(--bs-danger-base);
-  --bs-theme-text: var(--bs-danger-text);
-  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);
-  --bs-theme-bg: var(--bs-danger-bg);
-  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-danger-bg-muted);
-  --bs-theme-border: var(--bs-danger-border);
-  --bs-theme-focus-ring: var(--bs-danger-focus-ring);
-  --bs-theme-contrast: var(--bs-danger-contrast);
-}
-
-.theme-warning {
-  --bs-theme-base: var(--bs-warning-base);
-  --bs-theme-text: var(--bs-warning-text);
-  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);
-  --bs-theme-bg: var(--bs-warning-bg);
-  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-warning-bg-muted);
-  --bs-theme-border: var(--bs-warning-border);
-  --bs-theme-focus-ring: var(--bs-warning-focus-ring);
-  --bs-theme-contrast: var(--bs-warning-contrast);
-}
-
-.theme-info {
-  --bs-theme-base: var(--bs-info-base);
-  --bs-theme-text: var(--bs-info-text);
-  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);
-  --bs-theme-bg: var(--bs-info-bg);
-  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-info-bg-muted);
-  --bs-theme-border: var(--bs-info-border);
-  --bs-theme-focus-ring: var(--bs-info-focus-ring);
-  --bs-theme-contrast: var(--bs-info-contrast);
-}
-
-.theme-inverse {
-  --bs-theme-base: var(--bs-inverse-base);
-  --bs-theme-text: var(--bs-inverse-text);
-  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);
-  --bs-theme-bg: var(--bs-inverse-bg);
-  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);
-  --bs-theme-border: var(--bs-inverse-border);
-  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);
-  --bs-theme-contrast: var(--bs-inverse-contrast);
-}
-
-.theme-secondary {
-  --bs-theme-base: var(--bs-secondary-base);
-  --bs-theme-text: var(--bs-secondary-text);
-  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);
-  --bs-theme-bg: var(--bs-secondary-bg);
-  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);
-  --bs-theme-border: var(--bs-secondary-border);
-  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);
-  --bs-theme-contrast: var(--bs-secondary-contrast);
-}
-
 @layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;
 :root {
   --bs-black: #000;
   --bs-white: #fff;
+  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
+  --bs-body-font-family: var(--bs-font-sans-serif);
+  --bs-font-size-base: 14px;
+  --bs-font-size-xs: 0.75rem;
+  --bs-font-size-sm: 0.875rem;
+  --bs-font-size-md: 1rem;
+  --bs-font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);
+  --bs-font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);
+  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);
+  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);
+  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);
+  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);
+  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);
+  --bs-line-height-xs: 1.5;
+  --bs-line-height-sm: 1.5;
+  --bs-line-height-md: 1.5;
+  --bs-line-height-lg: 1.5;
+  --bs-line-height-xl: 1.4285714286;
+  --bs-line-height-2xl: 1.3333333333;
+  --bs-line-height-3xl: 1.2;
+  --bs-line-height-4xl: 1.1;
+  --bs-line-height-5xl: 1.1;
+  --bs-line-height-6xl: 1;
+  --bs-body-font-size: 14px;
+  --bs-body-font-weight: 400;
+  --bs-body-line-height: 1.5;
+  --bs-heading-color: inherit;
+  --bs-hr-border-color: var(--bs-border-color);
+  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
+  --bs-link-decoration: underline;
+  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
+  --bs-code-color: var(--bs-secondary-text);
+  --bs-highlight-color: var(--bs-fg-body);
+  --bs-highlight-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));
+  --bs-border-width: 1px;
+  --bs-border-style: solid;
+  --bs-border-color: light-dark(color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)), var(--bs-gray-700));
+  --bs-border-color-translucent: color-mix(in oklch, var(--bs-fg-body) 15%, transparent);
+  --bs-border-radius: 0.5rem;
+  --bs-border-radius-sm: 0.375rem;
+  --bs-border-radius-lg: 0.75rem;
+  --bs-border-radius-xl: 1rem;
+  --bs-border-radius-2xl: 2rem;
+  --bs-border-radius-pill: 50rem;
+  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
+  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
+  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
+  --bs-focus-ring-width: 3px;
+  --bs-focus-ring-offset: 1px;
+  --bs-focus-ring-color: var(--bs-primary-focus-ring);
+  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);
+  --bs-form-valid-color: var(--bs-success);
+  --bs-form-valid-border-color: var(--bs-success);
+  --bs-form-invalid-color: var(--bs-danger);
+  --bs-form-invalid-border-color: var(--bs-danger);
   --bs-primary-base: var(--bs-blue-500);
   --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));
   --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));
 
 :root,
 [data-bs-theme=light] {
-  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
-  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
-  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
-  --bs-body-font-family: var(--bs-font-sans-serif);
-  --bs-font-size-base: 14px;
-  --bs-font-size-xs: .75rem;
-  --bs-font-size-sm: .875rem;
-  --bs-font-size-md: 1rem;
-  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);
-  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);
-  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);
-  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);
-  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);
-  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);
-  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);
-  --bs-line-height-xs: 1.5;
-  --bs-line-height-sm: 1.5;
-  --bs-line-height-md: 1.5;
-  --bs-line-height-lg: 1.5;
-  --bs-line-height-xl: calc(2.5 / 1.75);
-  --bs-line-height-2xl: calc(3 / 2.25);
-  --bs-line-height-3xl: 1.2;
-  --bs-line-height-4xl: 1.1;
-  --bs-line-height-5xl: 1.1;
-  --bs-line-height-6xl: 1;
-  --bs-body-font-size: 14px;
-  --bs-body-font-weight: 400;
-  --bs-body-line-height: 1.5;
-  --bs-heading-color: inherit;
-  --bs-hr-border-color: var(--bs-border-color);
-  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
-  --bs-link-decoration: underline;
-  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
-  --bs-code-color: var(--bs-secondary-text);
-  --bs-highlight-color: var(--bs-fg-body);
-  --bs-highlight-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));
-  --bs-border-width: 1px;
-  --bs-border-style: solid;
-  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));
-  --bs-border-color-translucent: color-mix(in oklch, var(--bs-fg-body) 15%, transparent);
-  --bs-border-radius: 0.5rem;
-  --bs-border-radius-sm: 0.375rem;
-  --bs-border-radius-lg: 0.75rem;
-  --bs-border-radius-xl: 1rem;
-  --bs-border-radius-2xl: 2rem;
-  --bs-border-radius-pill: 50rem;
-  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
-  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
-  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
-  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
-  --bs-focus-ring-width: 3px;
-  --bs-focus-ring-offset: 1px;
-  --bs-focus-ring-color: var(--bs-primary-focus-ring);
-  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);
-  --bs-form-valid-color: var(--bs-success);
-  --bs-form-valid-border-color: var(--bs-success);
-  --bs-form-invalid-color: var(--bs-danger);
-  --bs-form-invalid-border-color: var(--bs-danger);
-  color-scheme: light;
   --bs-root-font-size: 16px;
 }
 
-[data-bs-theme=dark] {
-  --bs-heading-color: inherit;
-  --bs-border-color: var(--bs-gray-700);
-  --bs-form-valid-color: var(--bs-green-300);
-  --bs-form-valid-border-color: var(--bs-green-300);
-  --bs-form-invalid-color: var(--bs-red-300);
-  --bs-form-invalid-border-color: var(--bs-red-300);
-  color-scheme: dark;
-}
-
 @layer helpers {
   .focus-ring:focus-visible {
     outline: var(--bs-focus-ring);
     align-self: stretch;
   }
 }
+@layer helpers {
+  .theme-primary {
+    --bs-theme-base: var(--bs-primary-base);
+    --bs-theme-text: var(--bs-primary-text);
+    --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);
+    --bs-theme-bg: var(--bs-primary-bg);
+    --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-primary-bg-muted);
+    --bs-theme-border: var(--bs-primary-border);
+    --bs-theme-focus-ring: var(--bs-primary-focus-ring);
+    --bs-theme-contrast: var(--bs-primary-contrast);
+  }
+  .theme-accent {
+    --bs-theme-base: var(--bs-accent-base);
+    --bs-theme-text: var(--bs-accent-text);
+    --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);
+    --bs-theme-bg: var(--bs-accent-bg);
+    --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-accent-bg-muted);
+    --bs-theme-border: var(--bs-accent-border);
+    --bs-theme-focus-ring: var(--bs-accent-focus-ring);
+    --bs-theme-contrast: var(--bs-accent-contrast);
+  }
+  .theme-success {
+    --bs-theme-base: var(--bs-success-base);
+    --bs-theme-text: var(--bs-success-text);
+    --bs-theme-text-emphasis: var(--bs-success-text-emphasis);
+    --bs-theme-bg: var(--bs-success-bg);
+    --bs-theme-bg-subtle: var(--bs-success-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-success-bg-muted);
+    --bs-theme-border: var(--bs-success-border);
+    --bs-theme-focus-ring: var(--bs-success-focus-ring);
+    --bs-theme-contrast: var(--bs-success-contrast);
+  }
+  .theme-danger {
+    --bs-theme-base: var(--bs-danger-base);
+    --bs-theme-text: var(--bs-danger-text);
+    --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);
+    --bs-theme-bg: var(--bs-danger-bg);
+    --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-danger-bg-muted);
+    --bs-theme-border: var(--bs-danger-border);
+    --bs-theme-focus-ring: var(--bs-danger-focus-ring);
+    --bs-theme-contrast: var(--bs-danger-contrast);
+  }
+  .theme-warning {
+    --bs-theme-base: var(--bs-warning-base);
+    --bs-theme-text: var(--bs-warning-text);
+    --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);
+    --bs-theme-bg: var(--bs-warning-bg);
+    --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-warning-bg-muted);
+    --bs-theme-border: var(--bs-warning-border);
+    --bs-theme-focus-ring: var(--bs-warning-focus-ring);
+    --bs-theme-contrast: var(--bs-warning-contrast);
+  }
+  .theme-info {
+    --bs-theme-base: var(--bs-info-base);
+    --bs-theme-text: var(--bs-info-text);
+    --bs-theme-text-emphasis: var(--bs-info-text-emphasis);
+    --bs-theme-bg: var(--bs-info-bg);
+    --bs-theme-bg-subtle: var(--bs-info-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-info-bg-muted);
+    --bs-theme-border: var(--bs-info-border);
+    --bs-theme-focus-ring: var(--bs-info-focus-ring);
+    --bs-theme-contrast: var(--bs-info-contrast);
+  }
+  .theme-inverse {
+    --bs-theme-base: var(--bs-inverse-base);
+    --bs-theme-text: var(--bs-inverse-text);
+    --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);
+    --bs-theme-bg: var(--bs-inverse-bg);
+    --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-inverse-bg-muted);
+    --bs-theme-border: var(--bs-inverse-border);
+    --bs-theme-focus-ring: var(--bs-inverse-focus-ring);
+    --bs-theme-contrast: var(--bs-inverse-contrast);
+  }
+  .theme-secondary {
+    --bs-theme-base: var(--bs-secondary-base);
+    --bs-theme-text: var(--bs-secondary-text);
+    --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);
+    --bs-theme-bg: var(--bs-secondary-bg);
+    --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-secondary-bg-muted);
+    --bs-theme-border: var(--bs-secondary-border);
+    --bs-theme-focus-ring: var(--bs-secondary-focus-ring);
+    --bs-theme-contrast: var(--bs-secondary-contrast);
+  }
+}
 @layer helpers {
   .visually-hidden,
   .visually-hidden-focusable:not(:focus):not(:focus-within) {
index 86279c72169d0ec39a6d7de591ada3efa17f174a..4399277bc7bab370aad52fa84b0ac52ebef3f051 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-utilities.css","../../scss/_theme.scss","../../scss/_root.scss","../../scss/mixins/_color-mode.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_variables.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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E;IA1GI,sBAqBO;ElB8lCb;EkBzgCE;IA1GI,2BAqBO;ElBimCb;EkB5gCE;IA1GI,8BAqBO;ElBomCb;EkB/gCE;IA1GI,YAgBG;ElB4mCT;EkBlhCE;IA1GI,YAgBG;ElB+mCT;EkBrhCE;IA1GI,cAgBG;ElBknCT;EkBxhCE;IA1GI,cAgBG;ElBqnCT;EkB3hCE;IA1GI,eAqBO;ElBmnCb;EkB9hCE;IA1GI,iBAqBO;ElBsnCb;EkBjiCE;IA1GI,uBAqBO;ElBynCb;EkBpiCE;IA1GI,2BAgBG;ElBioCT;EkBviCE;IA1GI,yBAgBG;ElBooCT;EkB1iCE;IA1GI,uBAgBG;ElBuoCT;EkB7iCE;IA1GI,8BAgBG;ElB0oCT;EkBhjCE;IA1GI,6BAgBG;ElB6oCT;EkBnjCE;IA1GI,6BAgBG;ElBgpCT;EkBtjCE;IA1GI,oBAgBG;ElBmpCT;EkBzjCE;IA1GI,kBAgBG;ElBspCT;EkB5jCE;IA1GI,qBAgBG;ElBypCT;EkB/jCE;IA1GI,sBAgBG;ElB4pCT;EkBlkCE;IA1GI,wBAgBG;ElB+pCT;EkBrkCE;IA1GI,sBAgBG;ElBkqCT;EkBxkCE;IA1GI,oBAgBG;ElBqqCT;EkB3kCE;IA1GI,uBAgBG;ElBwqCT;EkB9kCE;IA1GI,qBAgBG;ElB2qCT;EkBjlCE;IA1GI,mBAgBG;ElB8qCT;EkBplCE;IA1GI,qBAgBG;ElBirCT;EkBvlCE;IA1GI,oBAgBG;ElBorCT;EkB1lCE;IA1GI,yBAgBG;ElBurCT;EkB7lCE;IA1GI,uBAgBG;ElB0rCT;EkBhmCE;IA1GI,qBAgBG;ElB6rCT;EkBnmCE;IA1GI,4BAgBG;ElBgsCT;EkBtmCE;IA1GI,2BAgBG;ElBmsCT;EkBzmCE;IA1GI,sBAgBG;ElBssCT;EkB5mCE;IA1GI,gBAgBG;ElBysCT;EkB/mCE;IA1GI,sBAgBG;ElB4sCT;EkBlnCE;IA1GI,oBAgBG;ElB+sCT;EkBrnCE;IA1GI,kBAgBG;ElBktCT;EkBxnCE;IA1GI,oBAgBG;ElBqtCT;EkB3nCE;IA1GI,mBAgBG;ElBwtCT;EkB9nCE;IA1GI,kBAgBG;ElB2tCT;EkBjoCE;IA1GI,gBAgBG;ElB8tCT;EkBpoCE;IA1GI,mBAgBG;ElBiuCT;EkBvoCE;IA1GI,oBAgBG;ElBouCT;EkB1oCE;IA1GI,eAqBO;ElBkuCb;EkB7oCE;IA1GI,eAqBO;ElBquCb;EkBhpCE;IA1GI,eAqBO;ElBwuCb;EkBnpCE;IA1GI,mBAgBG;ElBgvCT;EkBtpCE;IA1GI,mBAqBO;ElB8uCb;EkBzpCE;IA1GI,sBAqBO;ElBivCb;EkB5pCE;IA1GI,qBAqBO;ElBovCb;EkB/pCE;IA1GI,SAgBG;ElB4vCT;EkBlqCE;IA1GI,QAgBG;ElB+vCT;EkBrqCE;IA1GI,QAgBG;ElBkwCT;EkBxqCE;IA1GI,QAgBG;ElBqwCT;EkB3qCE;IA1GI,QAgBG;ElBwwCT;EkB9qCE;IA1GI,QAgBG;ElB2wCT;EkBjrCE;IA1GI,QAgBG;ElB8wCT;EkBprCE;IA1GI,QAgBG;ElBixCT;EkBvrCE;IA1GI,SAgBG;ElBoxCT;EkB1rCE;IA1GI,eAgBG;ElBuxCT;EkB7rCE;IA1GI,cAgBG;ElB0xCT;EkBhsCE;IA1GI,YAgBG;ElB6xCT;EkBnsCE;IA1GI,cAgBG;ElBgyCT;EkBtsCE;IA1GI,YAgBG;ElBmyCT;EkBzsCE;IA1GI,YAgBG;ElBsyCT;EkB5sCE;IA1GI,gBAgBG;ElByyCT;EkB/sCE;IA1GI,sBAgBG;ElB4yCT;EkBltCE;IA1GI,qBAgBG;ElB+yCT;EkBrtCE;IA1GI,mBAgBG;ElBkzCT;EkBxtCE;IA1GI,qBAgBG;ElBqzCT;EkB3tCE;IA1GI,mBAgBG;ElBwzCT;EkB9tCE;IA1GI,mBAgBG;ElB2zCT;EkBjuCE;IA1GI,eAgBG;ElB8zCT;EkBpuCE;IA1GI,qBAgBG;ElBi0CT;EkBvuCE;IA1GI,oBAgBG;ElBo0CT;EkB1uCE;IA1GI,kBAgBG;ElBu0CT;EkB7uCE;IA1GI,oBAgBG;ElB00CT;EkBhvCE;IA1GI,kBAgBG;ElB60CT;EkBnvCE;IA1GI,kBAgBG;ElBg1CT;EkBtvCE;IA1GI,qBAgBG;ElBm1CT;EkBzvCE;IA1GI,2BAgBG;ElBs1CT;EkB5vCE;IA1GI,0BAgBG;ElBy1CT;EkB/vCE;IA1GI,wBAgBG;ElB41CT;EkBlwCE;IA1GI,0BAgBG;ElB+1CT;EkBrwCE;IA1GI,wBAgBG;ElBk2CT;EkBxwCE;IA1GI,wBAgBG;ElBq2CT;EkB3wCE;IA1GI,oBAgBG;ElBw2CT;EkB9wCE;IA1GI,0BAgBG;ElB22CT;EkBjxCE;IA1GI,yBAgBG;ElB82CT;EkBpxCE;IA1GI,uBAgBG;ElBi3CT;EkBvxCE;IA1GI,yBAgBG;ElBo3CT;EkB1xCE;IA1GI,uBAgBG;ElBu3CT;EkB7xCE;IA1GI,uBAgBG;ElB03CT;EkBhyCE;IA1GI,mBAgBG;ElB63CT;EkBnyCE;IA1GI,yBAgBG;ElBg4CT;EkBtyCE;IA1GI,wBAgBG;ElBm4CT;EkBzyCE;IA1GI,sBAgBG;ElBs4CT;EkB5yCE;IA1GI,wBAgBG;ElBy4CT;EkB/yCE;IA1GI,sBAgBG;ElB44CT;EkBlzCE;IA1GI,sBAgBG;ElB+4CT;EkBrzCE;IA1GI,sBAgBG;ElBk5CT;EkBxzCE;IA1GI,4BAgBG;ElBq5CT;EkB3zCE;IA1GI,2BAgBG;ElBw5CT;EkB9zCE;IA1GI,yBAgBG;ElB25CT;EkBj0CE;IA1GI,2BAgBG;ElB85CT;EkBp0CE;IA1GI,yBAgBG;ElBi6CT;EkBv0CE;IA1GI,yBAgBG;ElBo6CT;EkB10CE;IA1GI,UAgBG;ElBu6CT;EkB70CE;IA1GI,gBAgBG;ElB06CT;EkBh1CE;IA1GI,eAgBG;ElB66CT;EkBn1CE;IA1GI,aAgBG;ElBg7CT;EkBt1CE;IA1GI,eAgBG;ElBm7CT;EkBz1CE;IA1GI,aAgBG;ElBs7CT;EkB51CE;IA1GI,iBAgBG;ElBy7CT;EkB/1CE;IA1GI,uBAgBG;ElB47CT;EkBl2CE;IA1GI,sBAgBG;ElB+7CT;EkBr2CE;IA1GI,oBAgBG;ElBk8CT;EkBx2CE;IA1GI,sBAgBG;ElBq8CT;EkB32CE;IA1GI,oBAgBG;ElBw8CT;EkB92CE;IA1GI,gBAgBG;ElB28CT;EkBj3CE;IA1GI,sBAgBG;ElB88CT;EkBp3CE;IA1GI,qBAgBG;ElBi9CT;EkBv3CE;IA1GI,mBAgBG;ElBo9CT;EkB13CE;IA1GI,qBAgBG;ElBu9CT;EkB73CE;IA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p0DM;IAjIA,iEAgBG;ElBw7DT;EkB91DE;IA1GI,iEAgBG;ElB27DT;EkB10DM;IAjIA,iEAgBG;ElB87DT;EkBp2DE;IA1GI,iEAgBG;ElBi8DT;EkBh1DM;IAjIA,iEAgBG;ElBo8DT;EkB12DE;IA1GI,iEAgBG;ElBu8DT;EkBt1DM;IAjIA,iEAgBG;ElB08DT;EkBh3DE;IA1GI,2BAgBG;ElB68DT;EkB51DM;IAjIA,2BAgBG;ElBg9DT;EkBt3DE;IA1GI,8BAgBG;ElBm9DT;EkBl2DM;IAjIA,8BAgBG;ElBs9DT;EkB53DE;IA1GI,6BAgBG;ElBy9DT;EkBx2DM;IAjIA,6BAgBG;ElB49DT;EkBl4DE;IA1GI,8BAgBG;ElB+9DT;EkB92DM;IAjIA,8BAgBG;ElBk+DT;EkBx4DE;IA1GI,yEAgBG;ElBq+DT;EkB34DE;IA1GI,wHAgBG;ElBw+DT;EkB94DE;IA1GI,2EAgBG;ElB2+DT;EkBj5DE;IA1GI,uEAgBG;ElB8+DT;EkBp5DE;IA1GI,6EAgBG;ElBi/DT;EkBv5DE;IA1GI,yEAgBG;ElBo/DT;EkB15DE;IA1GI,yEAgBG;ElBu/DT;EkB75DE;IA1GI,yEAgBG;ElB0/DT;EkBh6DE;IA1GI,iFAgBG;ElB6/DT;EkB54DM;IAjIA,iFAgBG;ElBggET;EkBt6DE;IA1GI,iFAgBG;ElBmgET;EkBl5DM;IAjIA,iFAgBG;ElBsgET;EkB56DE;IA1GI,iFAgBG;ElBygET;EkBx5DM;IAjIA,iFAgBG;ElB4gET;EkBl7DE;IA1GI,iFAgBG;ElB+gET;EkB95DM;IAjIA,iFAgBG;ElBkhET;EkBx7DE;IA1GI,iFAgBG;ElBqhET;EkBp6DM;IAjIA,iFAgBG;ElBwhET;EkB97DE;IA1GI,iFAgBG;ElB2hET;EkB16DM;IAjIA,iFAgBG;ElB8hET;EkBp8DE;IA1GI,iFAgBG;ElBiiET;EkBh7DM;IAjIA,iFAgBG;ElBoiET;EkB18DE;IA1GI,iFAgBG;ElBuiET;EkBt7DM;IAjIA,iFAgBG;ElB0iET;EkBh9DE;IA1GI,iFAgBG;ElB6iET;EkB57DM;IAjIA,iFAgBG;ElBgjET;EkBt9DE;IA1GI,2CAgBG;ElBmjET;EkBl8DM;IAjIA,2CAgBG;ElBsjET;EkB59DE;IA1GI,8BAgBG;ElByjET;EkBx8DM;IAjIA,8BAgBG;ElB4jET;EkBl+DE;IA1GI,8BAgBG;ElB+jET;EkB98DM;IAjIA,8BAgBG;ElBkkET;EkBx+DE;IA1GI,8BAgBG;ElBqkET;EkBp9DM;IAjIA,8BAgBG;ElBwkET;EkB9+DE;IA1GI,8BAgBG;ElB2kET;EkB19DM;IAjIA,8BAgBG;ElB8kET;EkBp/DE;IA1GI,8BAgBG;ElBilET;EkBh+DM;IAjIA,8BAgBG;ElBolET;EkB1/DE;IAnHI,2BAyBG;IAzBH,8BA2CS;ElBskEf;EkB9/DE;IAnHI,6BAyBG;IAzBH,8BA2CS;ElB0kEf;EkBlgEE;IAnHI,4BAyBG;IAzBH,8BA2CS;ElB8kEf;EkBtgEE;IAnHI,0BAyBG;IAzBH,8BA2CS;ElBklEf;EkB1gEE;IAnHI,6BAyBG;IAzBH,8BA2CS;ElBslEf;EkB9gEE;IAnHI,2BAyBG;IAzBH,8BA2CS;ElB0lEf;EkBlhEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB8lEf;EkBthEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBkmEf;EkB1hEE;IAnHI,wDAyBG;IAzBH,8BA2CS;ElBsmEf;EkB9hEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB0mEf;EkBliEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB8mEf;EkBtiEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBknEf;EkB1iEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBsnEf;EkB9iEE;IAnHI,wBAyBG;IAzBH,8BA2CS;ElB0nEf;EkBljEE;IAnHI,wBAyBG;IAzBH,8BA2CS;ElB8nEf;EkBtjEE;IAnHI,oBAyBG;IAzBH,8BA2CS;ElBkoEf;EkB1jEE;IAnHI,gBAyBG;IAzBH,8BA2CS;ElBsoEf;EkB9jEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB0oEf;EkBlkEE;IAnHI,+DAyBG;IAzBH,8BA2CS;ElB8oEf;EkBtkEE;IAnHI,6DAyBG;IAzBH,8BA2CS;ElBkpEf;EkB1kEE;IAnHI,yDAyBG;IAzBH,8BA2CS;ElBspEf;EkB9kEE;IAnHI,+DAyBG;IAzBH,8BA2CS;ElB0pEf;EkBllEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB8pEf;EkBtlEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBkqEf;EkB1lEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBsqEf;EkB9lEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB0qEf;EkBlmEE;IAnHI,+DAyBG;IAzBH,8BA2CS;ElB8qEf;EkBtmEE;IAnHI,6DAyBG;IAzBH,8BA2CS;ElBkrEf;EkB1mEE;IAnHI,yDAyBG;IAzBH,8BA2CS;ElBsrEf;EkB9mEE;IAnHI,+DAyBG;IAzBH,8BA2CS;ElB0rEf;EkBlnEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElB8rEf;EkBtnEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBksEf;EkB1nEE;IAnHI,2DAyBG;IAzBH,8BA2CS;ElBssEf;EkB9nEE;IA1GI,oEAgBG;ElB2tET;EkBjoEE;IA1GI,oEAgBG;ElB8tET;EkBpoEE;IA1GI,oEAgBG;ElBiuET;EkBvoEE;IA1GI,oEAgBG;ElBouET;EkB1oEE;IA1GI,oEAgBG;ElBuuET;EkB7oEE;IA1GI,oEAgBG;ElB0uET;EkBhpEE;IA1GI,oEAgBG;ElB6uET;EkBnpEE;IA1GI,oEAgBG;ElBgvET;EkBtpEE;IA1GI,oEAgBG;ElBmvET;EkBzpEE;IA1GI,8BAgBG;ElBsvET;EkB5pEE;IAnHI,oCA2CS;IA3CT,+BA2CS;ElBwuEf;EkBhqEE;IAnHI,2CA2CS;IA3CT,2BA2CS;ElB4uEf;EkBpqEE;IAnHI,0CA2CS;IA3CT,oCA2CS;ElBgvEf;EkBxqEE;IA1GI,2DAgBG;ElBqwET;EkB3qEE;IA1GI,oCAgBG;ElBwwET;EkB9qEE;IA1GI,wBAqBO;IArBP,gBAqBO;ElBswEb;EkBjrEE;IA1GI,yBAqBO;IArBP,iBAqBO;ElBywEb;EkBprEE;IA1GI,yBAqBO;IArBP,iBAqBO;ElB4wEb;EkBvrEE;IA1GI,oBAqBO;ElB+wEb;EkB1rEE;IA1GI,oBAqBO;ElBkxEb;EkB7rEE;IA1GI,sCAgBG;ElB0xET;EkBhsEE;IA1GI,gBAgBG;ElB6xET;EkBnsEE;IA1GI,yCAgBG;ElBgyET;EkBtsEE;IA1GI,sCAgBG;ElBmyET;EkBzsEE;IA1GI,yCAgBG;ElBsyET;EkB5sEE;IA1GI,yCAgBG;ElByyET;EkB/sEE;IA1GI,0CAgBG;ElB4yET;EkBltEE;IA1GI,kBAgBG;ElB+yET;EkBrtEE;IA1GI,2CAgBG;ElBkzET;EkBxtEE;IA1GI,kDAgBG;IAhBH,gDAgBG;ElBszET;EkB5tEE;IA1GI,4BAgBG;IAhBH,0BAgBG;ElB0zET;EkBhuEE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElB8zET;EkBpuEE;IA1GI,kDAgBG;IAhBH,gDAgBG;ElBk0ET;EkBxuEE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElBs0ET;EkB5uEE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElB00ET;EkBhvEE;IA1GI,sDAgBG;IAhBH,oDAgBG;ElB80ET;EkBpvEE;IA1GI,8BAgBG;IAhBH,4BAgBG;ElBk1ET;EkBxvEE;IA1GI,uDAgBG;IAhBH,qDAgBG;ElBs1ET;EkB5vEE;IA1GI,8CAgBG;IAhBH,gDAgBG;ElB01ET;EkBhwEE;IA1GI,wBAgBG;IAhBH,0BAgBG;ElB81ET;EkBpwEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElBk2ET;EkBxwEE;IA1GI,8CAgBG;IAhBH,gDAgBG;ElBs2ET;EkB5wEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElB02ET;EkBhxEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElB82ET;EkBpxEE;IA1GI,kDAgBG;IAhBH,oDAgBG;ElBk3ET;EkBxxEE;IA1GI,0BAgBG;IAhBH,4BAgBG;ElBs3ET;EkB5xEE;IA1GI,mDAgBG;IAhBH,qDAgBG;ElB03ET;EkBhyEE;IA1GI,8CAgBG;IAhBH,gDAgBG;ElB83ET;EkBpyEE;IA1GI,wBAgBG;IAhBH,0BAgBG;ElBk4ET;EkBxyEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElBs4ET;EkB5yEE;IA1GI,8CAgBG;IAhBH,gDAgBG;ElB04ET;EkBhzEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElB84ET;EkBpzEE;IA1GI,iDAgBG;IAhBH,mDAgBG;ElBk5ET;EkBxzEE;IA1GI,kDAgBG;IAhBH,oDAgBG;ElBs5ET;EkB5zEE;IA1GI,0BAgBG;IAhBH,4BAgBG;ElB05ET;EkBh0EE;IA1GI,mDAgBG;IAhBH,qDAgBG;ElB85ET;EkBp0EE;IA1GI,kDAgBG;IAhBH,gDAgBG;ElBk6ET;EkBx0EE;IA1GI,4BAgBG;IAhBH,0BAgBG;ElBs6ET;EkB50EE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElB06ET;EkBh1EE;IA1GI,kDAgBG;IAhBH,gDAgBG;ElB86ET;EkBp1EE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElBk7ET;EkBx1EE;IA1GI,qDAgBG;IAhBH,mDAgBG;ElBs7ET;EkB51EE;IA1GI,sDAgBG;IAhBH,oDAgBG;ElB07ET;EkBh2EE;IA1GI,8BAgBG;IAhBH,4BAgBG;ElB87ET;EkBp2EE;IA1GI,uDAgBG;IAhBH,qDAgBG;ElBk8ET;EkBx2EE;IA1GI,mBAgBG;ElBq8ET;EkB32EE;IA1GI,kBAgBG;ElBw8ET;EkB92EE;IA1GI,WAgBG;ElB28ET;EkBj3EE;IA1GI,UAgBG;ElB88ET;EkBp3EE;IA1GI,UAgBG;ElBi9ET;EkBv3EE;IA1GI,UAgBG;ElBo9ET;EkB13EE;IA1GI,UAgBG;ElBu9ET;ES5+EE;IS+GA;MA1GI,mBAgBG;IlB29EP;IkBj4EA;MA1GI,iBAgBG;IlB89EP;IkBp4EA;MA1GI,WAgBG;IlBi+EP;IkBv4EA;MA1GI,sBAgBG;MAhBH,mBAgBG;IlBo+EP;IkB14EA;MA1GI,oBAgBG;MAhBH,iBAgBG;IlBu+EP;IkB74EA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlB0+EP;IkBh5EA;MA1GI,yBAgBG;MAhBH,sBAgBG;IlB6+EP;IkBn5EA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlBg/EP;IkBt5EA;MA1GI,eAqBO;IlB8+EX;IkBz5EA;MA1GI,qBAqBO;IlBi/EX;IkB55EA;MA1GI,cAqBO;IlBo/EX;IkB/5EA;MA1GI,aAqBO;IlBu/EX;IkBl6EA;MA1GI,oBAqBO;IlB0/EX;IkBr6EA;MA1GI,cAqBO;IlB6/EX;IkBx6EA;MA1GI,kBAqBO;IlBggFX;IkB36EA;MA1GI,mBAqBO;IlBmgFX;IkB96EA;MA1GI,aAqBO;IlBsgFX;IkBj7EA;MA1GI,oBAqBO;IlBygFX;IkBp7EA;MA1GI,iBAqBO;IlB4gFX;IkBv7EA;MA1GI,kBAqBO;IlB+gFX;IkB17EA;MA1GI,aAqBO;IlBkhFX;IkB77EA;MA1GI,cAgBG;IlB0hFP;IkBh8EA;MA1GI,mBAqBO;IlBwhFX;IkBn8EA;MA1GI,sBAqBO;IlB2hFX;IkBt8EA;MA1GI,2BAqBO;IlB8hFX;IkBz8EA;MA1GI,8BAqBO;IlBiiFX;IkB58EA;MA1GI,YAgBG;IlByiFP;IkB/8EA;MA1GI,YAgBG;IlB4iFP;IkBl9EA;MA1GI,cAgBG;IlB+iFP;IkBr9EA;MA1GI,cAgBG;IlBkjFP;IkBx9EA;MA1GI,eAqBO;IlBgjFX;IkB39EA;MA1GI,iBAqBO;IlBmjFX;IkB99EA;MA1GI,uBAqBO;IlBsjFX;IkBj+EA;MA1GI,2BAgBG;IlB8jFP;IkBp+EA;MA1GI,yBAgBG;IlBikFP;IkBv+EA;MA1GI,uBAgBG;IlBokFP;IkB1+EA;MA1GI,8BAgBG;IlBukFP;IkB7+EA;MA1GI,6BAgBG;IlB0kFP;IkBh/EA;MA1GI,6BAgBG;IlB6kFP;IkBn/EA;MA1GI,oBAgBG;IlBglFP;IkBt/EA;MA1GI,kBAgBG;IlBmlFP;IkBz/EA;MA1GI,qBAgBG;IlBslFP;IkB5/EA;MA1GI,sBAgBG;IlBylFP;IkB//EA;MA1GI,wBAgBG;IlB4lFP;IkBlgFA;MA1GI,sBAgBG;IlB+lFP;IkBrgFA;MA1GI,oBAgBG;IlBkmFP;IkBxgFA;MA1GI,uBAgBG;IlBqmFP;IkB3gFA;MA1GI,qBAgBG;IlBwmFP;IkB9gFA;MA1GI,mBAgBG;IlB2mFP;IkBjhFA;MA1GI,qBAgBG;IlB8mFP;IkBphFA;MA1GI,oBAgBG;IlBinFP;IkBvhFA;MA1GI,yBAgBG;IlBonFP;IkB1hFA;MA1GI,uBAgBG;IlBunFP;IkB7hFA;MA1GI,qBAgBG;IlB0nFP;IkBhiFA;MA1GI,4BAgBG;IlB6nFP;IkBniFA;MA1GI,2BAgBG;IlBgoFP;IkBtiFA;MA1GI,sBAgBG;IlBmoFP;IkBziFA;MA1GI,gBAgBG;IlBsoFP;IkB5iFA;MA1GI,sBAgBG;IlByoFP;IkB/iFA;MA1GI,oBAgBG;IlB4oFP;IkBljFA;MA1GI,kBAgBG;IlB+oFP;IkBrjFA;MA1GI,oBAgBG;IlBkpFP;IkBxjFA;MA1GI,mBAgBG;IlBqpFP;IkB3jFA;MA1GI,kBAgBG;IlBwpFP;IkB9jFA;MA1GI,gBAgBG;IlB2pFP;IkBjkFA;MA1GI,mBAgBG;IlB8pFP;IkBpkFA;MA1GI,oBAgBG;IlBiqFP;IkBvkFA;MA1GI,eAqBO;IlB+pFX;IkB1kFA;MA1GI,eAqBO;IlBkqFX;IkB7kFA;MA1GI,eAqBO;IlBqqFX;IkBhlFA;MA1GI,mBAgBG;IlB6qFP;IkBnlFA;MA1GI,mBAqBO;IlB2qFX;IkBtlFA;MA1GI,sBAqBO;IlB8qFX;IkBzlFA;MA1GI,qBAqBO;IlBirFX;IkB5lFA;MA1GI,SAgBG;IlByrFP;IkB/lFA;MA1GI,QAgBG;IlB4rFP;IkBlmFA;MA1GI,QAgBG;IlB+rFP;IkBrmFA;MA1GI,QAgBG;IlBksFP;IkBxmFA;MA1GI,QAgBG;IlBqsFP;IkB3mFA;MA1GI,QAgBG;IlBwsFP;IkB9mFA;MA1GI,QAgBG;IlB2sFP;IkBjnFA;MA1GI,QAgBG;IlB8sFP;IkBpnFA;MA1GI,SAgBG;IlBitFP;IkBvnFA;MA1GI,eAgBG;IlBotFP;IkB1nFA;MA1GI,cAgBG;IlButFP;IkB7nFA;MA1GI,YAgBG;IlB0tFP;IkBhoFA;MA1GI,cAgBG;IlB6tFP;IkBnoFA;MA1GI,YAgBG;IlBguFP;IkBtoFA;MA1GI,YAgBG;IlBmuFP;IkBzoFA;MA1GI,gBAgBG;IlBsuFP;IkB5oFA;MA1GI,sBAgBG;IlByuFP;IkB/oFA;MA1GI,qBAgBG;IlB4uFP;IkBlpFA;MA1GI,mBAgBG;IlB+uFP;IkBrpFA;MA1GI,qBAgBG;IlBkvFP;IkBxpFA;MA1GI,mBAgBG;IlBqvFP;IkB3pFA;MA1GI,mBAgBG;IlBwvFP;IkB9pFA;MA1GI,eAgBG;IlB2vFP;IkBjqFA;MA1GI,qBAgBG;IlB8vFP;IkBpqFA;MA1GI,oBAgBG;IlBiwFP;IkBvqFA;MA1GI,kBAgBG;IlBowFP;IkB1qFA;MA1GI,oBAgBG;IlBuwFP;IkB7qFA;MA1GI,kBAgBG;IlB0wFP;IkBhrFA;MA1GI,kBAgBG;IlB6wFP;IkBnrFA;MA1GI,qBAgBG;IlBgxFP;IkBtrFA;MA1GI,2BAgBG;IlBmxFP;IkBzrFA;MA1GI,0BAgBG;IlBsxFP;IkB5rFA;MA1GI,wBAgBG;IlByxFP;IkB/rFA;MA1GI,0BAgBG;IlB4xFP;IkBlsFA;MA1GI,wBAgBG;IlB+xFP;IkBrsFA;MA1GI,wBAgBG;IlBkyFP;IkBxsFA;MA1GI,oBAgBG;IlBqyFP;IkB3sFA;MA1GI,0BAgBG;IlBwyFP;IkB9sFA;MA1GI,yBAgBG;IlB2yFP;IkBjtFA;MA1GI,uBAgBG;IlB8yFP;IkBptFA;MA1GI,yBAgBG;IlBizFP;IkBvtFA;MA1GI,uBAgBG;IlBozFP;IkB1tFA;MA1GI,uBAgBG;IlBuzFP;IkB7tFA;MA1GI,mBAgBG;IlB0zFP;IkBhuFA;MA1GI,yBAgBG;IlB6zFP;IkBnuFA;MA1GI,wBAgBG;IlBg0FP;IkBtuFA;MA1GI,sBAgBG;IlBm0FP;IkBzuFA;MA1GI,wBAgBG;IlBs0FP;IkB5uFA;MA1GI,sBAgBG;IlBy0FP;IkB/uFA;MA1GI,sBAgBG;IlB40FP;IkBlvFA;MA1GI,sBAgBG;IlB+0FP;IkBrvFA;MA1GI,4BAgBG;IlBk1FP;IkBxvFA;MA1GI,2BAgBG;IlBq1FP;IkB3vFA;MA1GI,yBAgBG;IlBw1FP;IkB9vFA;MA1GI,2BAgBG;IlB21FP;IkBjwFA;MA1GI,yBAgBG;IlB81FP;IkBpwFA;MA1GI,yBAgBG;IlBi2FP;IkBvwFA;MA1GI,UAgBG;IlBo2FP;IkB1wFA;MA1GI,gBAgBG;IlBu2FP;IkB7wFA;MA1GI,eAgBG;IlB02FP;IkBhxFA;MA1GI,aAgBG;IlB62FP;IkBnxFA;MA1GI,eAgBG;IlBg3FP;IkBtxFA;MA1GI,aAgBG;IlBm3FP;IkBzxFA;MA1GI,iBAgBG;IlBs3FP;IkB5xFA;MA1GI,uBAgBG;IlBy3FP;IkB/xFA;MA1GI,sBAgBG;IlB43FP;IkBlyFA;MA1GI,oBAgBG;IlB+3FP;IkBryFA;MA1GI,sBAgBG;IlBk4FP;IkBxyFA;MA1GI,oBAgBG;IlBq4FP;IkB3yFA;MA1GI,gBAgBG;IlBw4FP;IkB9yFA;MA1GI,sBAgBG;IlB24FP;IkBjzFA;MA1GI,qBAgBG;IlB84FP;IkBpzFA;MA1GI,mBAgBG;IlBi5FP;IkBvzFA;MA1GI,qBAgBG;IlBo5FP;IkB1zFA;MA1GI,mBAgBG;IlBu5FP;IkB7zFA;MA1GI,sBAgBG;IlB05FP;IkBh0FA;MA1GI,4BAgBG;IlB65FP;IkBn0FA;MA1GI,2BAgBG;IlBg6FP;IkBt0FA;MA1GI,yBAgBG;IlBm6FP;IkBz0FA;MA1GI,2BAgBG;IlBs6FP;IkB50FA;MA1GI,yBAgBG;IlBy6FP;IkB/0FA;MA1GI,qBAgBG;IlB46FP;IkBl1FA;MA1GI,2BAgBG;IlB+6FP;IkBr1FA;MA1GI,0BAgBG;IlBk7FP;IkBx1FA;MA1GI,wBAgBG;IlBq7FP;IkB31FA;MA1GI,0BAgBG;IlBw7FP;IkB91FA;MA1GI,wBAgBG;IlB27FP;IkBj2FA;MA1GI,oBAgBG;IlB87FP;IkBp2FA;MA1GI,0BAgBG;IlBi8FP;IkBv2FA;MA1GI,yBAgBG;IlBo8FP;IkB12FA;MA1GI,uBAgBG;IlBu8FP;IkB72FA;MA1GI,yBAgBG;IlB08FP;IkBh3FA;MA1GI,uBAgBG;IlB68FP;IkBn3FA;MA1GI,uBAgBG;IlBg9FP;IkBt3FA;MA1GI,6BAgBG;IlBm9FP;IkBz3FA;MA1GI,4BAgBG;IlBs9FP;IkB53FA;MA1GI,0BAgBG;IlBy9FP;IkB/3FA;MA1GI,4BAgBG;IlB49FP;IkBl4FA;MA1GI,0BAgBG;IlB+9FP;IkBr4FA;MA1GI,MAgBG;IlBk+FP;IkBx4FA;MA1GI,YAgBG;IlBq+FP;IkB34FA;MA1GI,WAgBG;IlBw+FP;IkB94FA;MA1GI,SAgBG;IlB2+FP;IkBj5FA;MA1GI,WAgBG;IlB8+FP;IkBp5FA;MA1GI,SAgBG;IlBi/FP;IkBv5FA;MA1GI,UAgBG;IlBo/FP;IkB15FA;MA1GI,gBAgBG;IlBu/FP;IkB75FA;MA1GI,eAgBG;IlB0/FP;IkBh6FA;MA1GI,aAgBG;IlB6/FP;IkBn6FA;MA1GI,eAgBG;IlBggGP;IkBt6FA;MA1GI,aAgBG;IlBmgGP;IkBz6FA;MA1GI,kBAgBG;MAhBH,aAgBG;IlBsgGP;IkB56FA;MA1GI,wBAgBG;MAhBH,mBAgBG;IlBygGP;IkB/6FA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlB4gGP;IkBl7FA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlB+gGP;IkBr7FA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlBkhGP;IkBx7FA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlBqhGP;IkB37FA;MA1GI,iBAgBG;IlBwhGP;IkB97FA;MA1GI,eAgBG;IlB2hGP;IkBj8FA;MA1GI,kBAgBG;IlB8hGP;EACF;ESpjGE;IS+GA;MA1GI,mBAgBG;IlBmiGP;IkBz8FA;MA1GI,iBAgBG;IlBsiGP;IkB58FA;MA1GI,WAgBG;IlByiGP;IkB/8FA;MA1GI,sBAgBG;MAhBH,mBAgBG;IlB4iGP;IkBl9FA;MA1GI,oBAgBG;MAhBH,iBAgBG;IlB+iGP;IkBr9FA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlBkjGP;IkBx9FA;MA1GI,yBAgBG;MAhBH,sBAgBG;IlBqjGP;IkB39FA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlBwjGP;IkB99FA;MA1GI,eAqBO;IlBsjGX;IkBj+FA;MA1GI,qBAqBO;IlByjGX;IkBp+FA;MA1GI,cAqBO;IlB4jGX;IkBv+FA;MA1GI,aAqBO;IlB+jGX;IkB1+FA;MA1GI,oBAqBO;IlBkkGX;IkB7+FA;MA1GI,cAqBO;IlBqkGX;IkBh/FA;MA1GI,kBAqBO;IlBwkGX;IkBn/FA;MA1GI,mBAqBO;IlB2kGX;IkBt/FA;MA1GI,aAqBO;IlB8kGX;IkBz/FA;MA1GI,oBAqBO;IlBilGX;IkB5/FA;MA1GI,iBAqBO;IlBolGX;IkB//FA;MA1GI,kBAqBO;IlBulGX;IkBlgGA;MA1GI,aAqBO;IlB0lGX;IkBrgGA;MA1GI,cAgBG;IlBkmGP;IkBxgGA;MA1GI,mBAqBO;IlBgmGX;IkB3gGA;MA1GI,sBAqBO;IlBmmGX;IkB9gGA;MA1GI,2BAqBO;IlBsmGX;IkBjhGA;MA1GI,8BAqBO;IlBymGX;IkBphGA;MA1GI,YAgBG;IlBinGP;IkBvhGA;MA1GI,YAgBG;IlBonGP;IkB1hGA;MA1GI,cAgBG;IlBunGP;IkB7hGA;MA1GI,cAgBG;IlB0nGP;IkBhiGA;MA1GI,eAqBO;IlBwnGX;IkBniGA;MA1GI,iBAqBO;IlB2nGX;IkBtiGA;MA1GI,uBAqBO;IlB8nGX;IkBziGA;MA1GI,2BAgBG;IlBsoGP;IkB5iGA;MA1GI,yBAgBG;IlByoGP;IkB/iGA;MA1GI,uBAgBG;IlB4oGP;IkBljGA;MA1GI,8BAgBG;IlB+oGP;IkBrjGA;MA1GI,6BAgBG;IlBkpGP;IkBxjGA;MA1GI,6BAgBG;IlBqpGP;IkB3jGA;MA1GI,oBAgBG;IlBwpGP;IkB9jGA;MA1GI,kBAgBG;IlB2pGP;IkBjkGA;MA1GI,qBAgBG;IlB8pGP;IkBpkGA;MA1GI,sBAgBG;IlBiqGP;IkBvkGA;MA1GI,wBAgBG;IlBoqGP;IkB1kGA;MA1GI,sBAgBG;IlBuqGP;IkB7kGA;MA1GI,oBAgBG;IlB0qGP;IkBhlGA;MA1GI,uBAgBG;IlB6qGP;IkBnlGA;MA1GI,qBAgBG;IlBgrGP;IkBtlGA;MA1GI,mBAgBG;IlBmrGP;IkBzlGA;MA1GI,qBAgBG;IlBsrGP;IkB5lGA;MA1GI,oBAgBG;IlByrGP;IkB/lGA;MA1GI,yBAgBG;IlB4rGP;IkBlmGA;MA1GI,uBAgBG;IlB+rGP;IkBrmGA;MA1GI,qBAgBG;IlBksGP;IkBxmGA;MA1GI,4BAgBG;IlBqsGP;IkB3mGA;MA1GI,2BAgBG;IlBwsGP;IkB9mGA;MA1GI,sBAgBG;IlB2sGP;IkBjnGA;MA1GI,gBAgBG;IlB8sGP;IkBpnGA;MA1GI,sBAgBG;IlBitGP;IkBvnGA;MA1GI,oBAgBG;IlBotGP;IkB1nGA;MA1GI,kBAgBG;IlButGP;IkB7nGA;MA1GI,oBAgBG;IlB0tGP;IkBhoGA;MA1GI,mBAgBG;IlB6tGP;IkBnoGA;MA1GI,kBAgBG;IlBguGP;IkBtoGA;MA1GI,gBAgBG;IlBmuGP;IkBzoGA;MA1GI,mBAgBG;IlBsuGP;IkB5oGA;MA1GI,oBAgBG;IlByuGP;IkB/oGA;MA1GI,eAqBO;IlBuuGX;IkBlpGA;MA1GI,eAqBO;IlB0uGX;IkBrpGA;MA1GI,eAqBO;IlB6uGX;IkBxpGA;MA1GI,mBAgBG;IlBqvGP;IkB3pGA;MA1GI,mBAqBO;IlBmvGX;IkB9pGA;MA1GI,sBAqBO;IlBsvGX;IkBjqGA;MA1GI,qBAqBO;IlByvGX;IkBpqGA;MA1GI,SAgBG;IlBiwGP;IkBvqGA;MA1GI,QAgBG;IlBowGP;IkB1qGA;MA1GI,QAgBG;IlBuwGP;IkB7qGA;MA1GI,QAgBG;IlB0wGP;IkBhrGA;MA1GI,QAgBG;IlB6wGP;IkBnrGA;MA1GI,QAgBG;IlBgxGP;IkBtrGA;MA1GI,QAgBG;IlBmxGP;IkBzrGA;MA1GI,QAgBG;IlBsxGP;IkB5rGA;MA1GI,SAgBG;IlByxGP;IkB/rGA;MA1GI,eAgBG;IlB4xGP;IkBlsGA;MA1GI,cAgBG;IlB+xGP;IkBrsGA;MA1GI,YAgBG;IlBkyGP;IkBxsGA;MA1GI,cAgBG;IlBqyGP;IkB3sGA;MA1GI,YAgBG;IlBwyGP;IkB9sGA;MA1GI,YAgBG;IlB2yGP;IkBjtGA;MA1GI,gBAgBG;IlB8yGP;IkBptGA;MA1GI,sBAgBG;IlBizGP;IkBvtGA;MA1GI,qBAgBG;IlBozGP;IkB1tGA;MA1GI,mBAgBG;IlBuzGP;IkB7tGA;MA1GI,qBAgBG;IlB0zGP;IkBhuGA;MA1GI,mBAgBG;IlB6zGP;IkBnuGA;MA1GI,mBAgBG;IlBg0GP;IkBtuGA;MA1GI,eAgBG;IlBm0GP;IkBzuGA;MA1GI,qBAgBG;IlBs0GP;IkB5uGA;MA1GI,oBAgBG;IlBy0GP;IkB/uGA;MA1GI,kBAgBG;IlB40GP;IkBlvGA;MA1GI,oBAgBG;IlB+0GP;IkBrvGA;MA1GI,kBAgBG;IlBk1GP;IkBxvGA;MA1GI,kBAgBG;IlBq1GP;IkB3vGA;MA1GI,qBAgBG;IlBw1GP;IkB9vGA;MA1GI,2BAgBG;IlB21GP;IkBjwGA;MA1GI,0BAgBG;IlB81GP;IkBpwGA;MA1GI,wBAgBG;IlBi2GP;IkBvwGA;MA1GI,0BAgBG;IlBo2GP;IkB1wGA;MA1GI,wBAgBG;IlBu2GP;IkB7wGA;MA1GI,wBAgBG;IlB02GP;IkBhxGA;MA1GI,oBAgBG;IlB62GP;IkBnxGA;MA1GI,0BAgBG;IlBg3GP;IkBtxGA;MA1GI,yBAgBG;IlBm3GP;IkBzxGA;MA1GI,uBAgBG;IlBs3GP;IkB5xGA;MA1GI,yBAgBG;IlBy3GP;IkB/xGA;MA1GI,uBAgBG;IlB43GP;IkBlyGA;MA1GI,uBAgBG;IlB+3GP;IkBryGA;MA1GI,mBAgBG;IlBk4GP;IkBxyGA;MA1GI,yBAgBG;IlBq4GP;IkB3yGA;MA1GI,wBAgBG;IlBw4GP;IkB9yGA;MA1GI,sBAgBG;IlB24GP;IkBjzGA;MA1GI,wBAgBG;IlB84GP;IkBpzGA;MA1GI,sBAgBG;IlBi5GP;IkBvzGA;MA1GI,sBAgBG;IlBo5GP;IkB1zGA;MA1GI,sBAgBG;IlBu5GP;IkB7zGA;MA1GI,4BAgBG;IlB05GP;IkBh0GA;MA1GI,2BAgBG;IlB65GP;IkBn0GA;MA1GI,yBAgBG;IlBg6GP;IkBt0GA;MA1GI,2BAgBG;IlBm6GP;IkBz0GA;MA1GI,yBAgBG;IlBs6GP;IkB50GA;MA1GI,yBAgBG;IlBy6GP;IkB/0GA;MA1GI,UAgBG;IlB46GP;IkBl1GA;MA1GI,gBAgBG;IlB+6GP;IkBr1GA;MA1GI,eAgBG;IlBk7GP;IkBx1GA;MA1GI,aAgBG;IlBq7GP;IkB31GA;MA1GI,eAgBG;IlBw7GP;IkB91GA;MA1GI,aAgBG;IlB27GP;IkBj2GA;MA1GI,iBAgBG;IlB87GP;IkBp2GA;MA1GI,uBAgBG;IlBi8GP;IkBv2GA;MA1GI,sBAgBG;IlBo8GP;IkB12GA;MA1GI,oBAgBG;IlBu8GP;IkB72GA;MA1GI,sBAgBG;IlB08GP;IkBh3GA;MA1GI,oBAgBG;IlB68GP;IkBn3GA;MA1GI,gBAgBG;IlBg9GP;IkBt3GA;MA1GI,sBAgBG;IlBm9GP;IkBz3GA;MA1GI,qBAgBG;IlBs9GP;IkB53GA;MA1GI,mBAgBG;IlBy9GP;IkB/3GA;MA1GI,qBAgBG;IlB49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lBi0HX;IkB5uHA;MA1GI,SAgBG;IlBy0HP;IkB/uHA;MA1GI,QAgBG;IlB40HP;IkBlvHA;MA1GI,QAgBG;IlB+0HP;IkBrvHA;MA1GI,QAgBG;IlBk1HP;IkBxvHA;MA1GI,QAgBG;IlBq1HP;IkB3vHA;MA1GI,QAgBG;IlBw1HP;IkB9vHA;MA1GI,QAgBG;IlB21HP;IkBjwHA;MA1GI,QAgBG;IlB81HP;IkBpwHA;MA1GI,SAgBG;IlBi2HP;IkBvwHA;MA1GI,eAgBG;IlBo2HP;IkB1wHA;MA1GI,cAgBG;IlBu2HP;IkB7wHA;MA1GI,YAgBG;IlB02HP;IkBhxHA;MA1GI,cAgBG;IlB62HP;IkBnxHA;MA1GI,YAgBG;IlBg3HP;IkBtxHA;MA1GI,YAgBG;IlBm3HP;IkBzxHA;MA1GI,gBAgBG;IlBs3HP;IkB5xHA;MA1GI,sBAgBG;IlBy3HP;IkB/xHA;MA1GI,qBAgBG;IlB43HP;IkBlyHA;MA1GI,mBAgBG;IlB+3HP;IkBryHA;MA1GI,qBAgBG;IlBk4HP;IkBxyHA;MA1GI,mBAgBG;IlBq4HP;IkB3yHA;MA1GI,mBAgBG;IlBw4HP;IkB9yHA;MA1GI,eAgBG;IlB24HP;IkBjzHA;MA1GI,qBAgBG;IlB84HP;IkBpzHA;MA1GI,oBAgBG;IlBi5HP;IkBvzHA;MA1GI,kBAgBG;IlBo5HP;IkB1zHA;MA1GI,oBAgBG;IlBu5HP;IkB7zHA;MA1GI,kBAgBG;IlB05HP;IkBh0HA;MA1GI,kBAgBG;IlB65HP;IkBn0HA;MA1GI,qBAgBG;IlBg6HP;IkBt0HA;MA1GI,2BAgBG;IlBm6HP;IkBz0HA;MA1GI,0BAgBG;IlBs6HP;IkB50HA;MA1GI,wBAgBG;IlBy6HP;IkB/0HA;MA1GI,0BAgBG;IlB46HP;IkBl1HA;MA1GI,wBAgBG;IlB+6HP;IkBr1HA;MA1GI,wBAgBG;IlBk7HP;IkBx1HA;MA1GI,oBAgBG;IlBq7HP;IkB31HA;MA1GI,0BAgBG;IlBw7HP;IkB91HA;MA1GI,yBAgBG;IlB27HP;IkBj2HA;MA1GI,uBAgBG;IlB87HP;IkBp2HA;MA1GI,yBAgBG;IlBi8HP;IkBv2HA;MA1GI,uBAgBG;IlBo8HP;IkB12HA;MA1GI,uBAgBG;IlBu8HP;IkB72HA;MA1GI,mBAgBG;IlB08HP;IkBh3HA;MA1GI,yBAgBG;IlB68HP;IkBn3HA;MA1GI,wBAgBG;IlBg9HP;IkBt3HA;MA1GI,sBAgBG;IlBm9HP;IkBz3HA;MA1GI,wBAgBG;IlBs9HP;IkB53HA;MA1GI,sBAgBG;IlBy9HP;IkB/3HA;MA1GI,sBAgBG;IlB49HP;IkBl4HA;MA1GI,sBAgBG;IlB+9HP;IkBr4HA;MA1GI,4BAgBG;IlBk+HP;IkBx4HA;MA1GI,2BAgBG;IlBq+HP;IkB34HA;MA1GI,yBAgBG;IlBw+HP;IkB94HA;MA1GI,2BAgBG;IlB2+HP;IkBj5HA;MA1GI,yBAgBG;IlB8+HP;IkBp5HA;MA1GI,yBAgBG;IlBi/HP;IkBv5HA;MA1GI,UAgBG;IlBo/HP;IkB15HA;MA1GI,gBAgBG;IlBu/HP;IkB75HA;MA1GI,eAgBG;IlB0/HP;IkBh6HA;MA1GI,aAgBG;IlB6/HP;IkBn6HA;MA1GI,eAgBG;IlBggIP;IkBt6HA;MA1GI,aAgBG;IlBmgIP;IkBz6HA;MA1GI,iBAgBG;IlBsgIP;IkB56HA;MA1GI,uBAgBG;IlBygIP;IkB/6HA;MA1GI,sBAgBG;IlB4gIP;IkBl7HA;MA1GI,oBAgBG;IlB+gIP;IkBr7HA;MA1GI,sBAgBG;IlBkhIP;IkBx7HA;MA1GI,oBAgBG;IlBqhIP;IkB37HA;MA1GI,gBAgBG;IlBwhIP;IkB97HA;MA1GI,sBAgBG;IlB2hIP;IkBj8HA;MA1GI,qBAgBG;IlB8hIP;IkBp8HA;MA1GI,mBAgBG;IlBiiIP;IkBv8HA;MA1GI,qBAgBG;IlBoiIP;IkB18HA;MA1GI,mBAgBG;IlBuiIP;IkB78HA;MA1GI,sBAgBG;IlB0iIP;IkBh9HA;MA1GI,4BAgBG;IlB6iIP;IkBn9HA;MA1GI,2BAgBG;IlBgjIP;IkBt9HA;MA1GI,yBAgBG;IlBmjIP;IkBz9HA;MA1GI,2BAgBG;IlBsjIP;IkB59HA;MA1GI,yBAgBG;IlByjIP;IkB/9HA;MA1GI,qBAgBG;IlB4jIP;IkBl+HA;MA1GI,2BAgBG;IlB+jIP;IkBr+HA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BG;IlB8yIP;IkBptIA;MA1GI,sBAgBG;IlBizIP;IkBvtIA;MA1GI,wBAgBG;IlBozIP;IkB1tIA;MA1GI,sBAgBG;IlBuzIP;IkB7tIA;MA1GI,oBAgBG;IlB0zIP;IkBhuIA;MA1GI,uBAgBG;IlB6zIP;IkBnuIA;MA1GI,qBAgBG;IlBg0IP;IkBtuIA;MA1GI,mBAgBG;IlBm0IP;IkBzuIA;MA1GI,qBAgBG;IlBs0IP;IkB5uIA;MA1GI,oBAgBG;IlBy0IP;IkB/uIA;MA1GI,yBAgBG;IlB40IP;IkBlvIA;MA1GI,uBAgBG;IlB+0IP;IkBrvIA;MA1GI,qBAgBG;IlBk1IP;IkBxvIA;MA1GI,4BAgBG;IlBq1IP;IkB3vIA;MA1GI,2BAgBG;IlBw1IP;IkB9vIA;MA1GI,sBAgBG;IlB21IP;IkBjwIA;MA1GI,gBAgBG;IlB81IP;IkBpwIA;MA1GI,sBAgBG;IlBi2IP;IkBvwIA;MA1GI,oBAgBG;IlBo2IP;IkB1wIA;MA1GI,kBAgBG;IlBu2IP;IkB7wIA;MA1GI,oBAgBG;IlB02IP;IkBhxIA;MA1GI,mBAgBG;IlB62IP;IkBnxIA;MA1GI,kBAgBG;IlBg3IP;IkBtxIA;MA1GI,gBAgBG;IlBm3IP;IkBzxIA;MA1GI,mBAgBG;IlBs3IP;IkB5xIA;MA1GI,oBAgBG;IlBy3IP;IkB/xIA;MA1GI,eAqBO;IlBu3IX;IkBlyIA;MA1GI,eAqBO;IlB03IX;IkBryIA;MA1GI,eAqBO;IlB63IX;IkBxyIA;MA1GI,mBAgBG;IlBq4IP;IkB3yIA;MA1GI,mBAqBO;IlBm4IX;IkB9yIA;MA1GI,sBAqBO;IlBs4IX;IkBjzIA;MA1GI,qBAqBO;IlBy4IX;IkBpzIA;MA1GI,SAgBG;IlBi5IP;IkBvzIA;MA1GI,QAgBG;IlBo5IP;IkB1zIA;MA1GI,QAgBG;IlBu5IP;IkB7zIA;MA1GI,QAgBG;IlB05IP;IkBh0IA;MA1GI,QAgBG;IlB65IP;IkBn0IA;MA1GI,QAgBG;IlBg6IP;IkBt0IA;MA1GI,QAgBG;IlBm6IP;IkBz0IA;MA1GI,QAgBG;IlBs6IP;IkB50IA;MA1GI,SAgBG;IlBy6IP;IkB/0IA;MA1GI,eAgBG;IlB46IP;IkBl1IA;MA1GI,cAgBG;IlB+6IP;IkBr1IA;MA1GI,YAgBG;IlBk7IP;IkBx1IA;MA1GI,cAgBG;IlBq7IP;IkB31IA;MA1GI,YAgBG;IlBw7IP;IkB91IA;MA1GI,YAgBG;IlB27IP;IkBj2IA;MA1GI,gBAgBG;IlB87IP;IkBp2IA;MA1GI,sBAgBG;IlBi8IP;IkBv2IA;MA1GI,qBAgBG;IlBo8IP;IkB12IA;MA1GI,mBAgBG;IlBu8IP;IkB72IA;MA1GI,qBAgBG;IlB08IP;IkBh3IA;MA1GI,mBAgBG;IlB68IP;IkBn3IA;MA1GI,mBAgBG;IlBg9IP;IkBt3IA;MA1GI,eAgBG;IlBm9IP;IkBz3IA;MA1GI,qBAgBG;IlBs9IP;IkB53IA;MA1GI,oBAgBG;IlBy9IP;IkB/3IA;MA1GI,kBAgBG;IlB49IP;IkBl4IA;MA1GI,oBAgBG;IlB+9IP;IkBr4IA;MA1GI,kBAgBG;IlBk+IP;IkBx4IA;MA1GI,kBAgBG;IlBq+IP;IkB34IA;MA1GI,qBAgBG;IlBw+IP;IkB94IA;MA1GI,2BAgBG;IlB2+IP;IkBj5IA;MA1GI,0BAgBG;IlB8+IP;IkBp5IA;MA1GI,wBAgBG;IlBi/IP;IkBv5IA;MA1GI,0BAgBG;IlBo/IP;IkB15IA;MA1GI,wBAgBG;IlBu/IP;IkB75IA;MA1GI,wBAgBG;IlB0/IP;IkBh6IA;MA1GI,oBAgBG;IlB6/IP;IkBn6IA;MA1GI,0BAgBG;IlBggJP;IkBt6IA;MA1GI,yBAgBG;IlBmgJP;IkBz6IA;MA1GI,uBAgBG;IlBsgJP;IkB56IA;MA1GI,yBAgBG;IlBygJP;IkB/6IA;MA1GI,uBAgBG;IlB4gJP;IkBl7IA;MA1GI,uBAgBG;IlB+gJP;IkBr7IA;MA1GI,mBAgBG;IlBkhJP;IkBx7IA;MA1GI,yBAgBG;IlBqhJP;IkB37IA;MA1GI,wBAgBG;IlBwhJP;IkB97IA;MA1GI,sBAgBG;IlB2hJP;IkBj8IA;MA1GI,wBAgBG;IlB8hJP;IkBp8IA;MA1GI,sBAgBG;IlBiiJP;IkBv8IA;MA1GI,sBAgBG;IlBoiJP;IkB18IA;MA1GI,sBAgBG;IlBuiJP;IkB78IA;MA1GI,4BAgBG;IlB0iJP;IkBh9IA;MA1GI,2BAgBG;IlB6iJP;IkBn9IA;MA1GI,yBAgBG;IlBgjJP;IkBt9IA;MA1GI,2BAgBG;IlBmjJP;IkBz9IA;MA1GI,yBAgBG;IlBsjJP;IkB59IA;MA1GI,yBAgBG;IlByjJP;IkB/9IA;MA1GI,UAgBG;IlB4jJP;IkBl+IA;MA1GI,gBAgBG;IlB+jJP;IkBr+IA;MA1GI,eAgBG;IlBkkJP;IkBx+IA;MA1GI,aAgBG;IlBqkJP;IkB3+IA;MA1GI,eAgBG;IlBwkJP;IkB9+IA;MA1GI,aAgBG;IlB2kJP;IkBj/IA;MA1GI,iBAgBG;IlB8kJP;IkBp/IA;MA1GI,uBAgBG;IlBilJP;IkBv/IA;MA1GI,sBAgBG;IlBolJP;IkB1/IA;MA1GI,oBAgBG;IlBulJP;IkB7/IA;MA1GI,sBAgBG;IlB0lJP;IkBhgJA;MA1GI,oBAgBG;IlB6lJP;IkBngJA;MA1GI,gBAgBG;IlBgmJP;IkBtgJA;MA1GI,sBAgBG;IlBmmJP;IkBzgJA;MA1GI,qBAgBG;IlBsmJP;IkB5gJA;MA1GI,mBAgBG;IlBymJP;IkB/gJA;MA1GI,qBAgBG;IlB4mJP;IkBlhJA;MA1GI,mBAgBG;IlB+mJP;IkBrhJA;MA1GI,sBAgBG;IlBknJP;IkBxhJA;MA1GI,4BAgBG;IlBqnJP;IkB3hJA;MA1GI,2BAgBG;IlBwnJP;IkB9hJA;MA1GI,yBAgBG;IlB2nJP;IkBjiJA;MA1GI,2BAgBG;IlB8nJP;IkBpiJA;MA1GI,yBAgBG;IlBioJP;IkBviJA;MA1GI,qBAgBG;IlBooJP;IkB1iJA;MA1GI,2BAgBG;IlBuoJP;IkB7iJA;MA1GI,0BAgBG;IlB0oJP;IkBhjJA;MA1GI,wBAgBG;IlB6oJP;IkBnjJA;MA1GI,0BAgBG;IlBgpJP;IkBtjJA;MA1GI,wBAgBG;IlBmpJP;IkBzjJA;MA1GI,oBAgBG;IlBspJP;IkB5jJA;MA1GI,0BAgBG;IlBypJP;IkB/jJA;MA1GI,yBAgBG;IlB4pJP;IkBlkJA;MA1GI,uBAgBG;IlB+pJP;IkBrkJA;MA1GI,yBAgBG;IlBkqJP;IkBxkJA;MA1GI,uBAgBG;IlBqqJP;IkB3kJA;MA1GI,uBAgBG;IlBwqJP;IkB9kJA;MA1GI,6BAgBG;IlB2qJP;IkBjlJA;MA1GI,4BAgBG;IlB8qJP;IkBplJA;MA1GI,0BAgBG;IlBirJP;IkBvlJA;MA1GI,4BAgBG;IlBorJP;IkB1lJA;MA1GI,0BAgBG;IlBurJP;IkB7lJA;MA1GI,MAgBG;IlB0rJP;IkBhmJA;MA1GI,YAgBG;IlB6rJP;IkBnmJA;MA1GI,WAgBG;IlBgsJP;IkBtmJA;MA1GI,SAgBG;IlBmsJP;IkBzmJA;MA1GI,WAgBG;IlBssJP;IkB5mJA;MA1GI,SAgBG;IlBysJP;IkB/mJA;MA1GI,UAgBG;IlB4sJP;IkBlnJA;MA1GI,gBAgBG;IlB+sJP;IkBrnJA;MA1GI,eAgBG;IlBktJP;IkBxnJA;MA1GI,aAgBG;IlBqtJP;IkB3nJA;MA1GI,eAgBG;IlBwtJP;IkB9nJA;MA1GI,aAgBG;IlB2tJP;IkBjoJA;MA1GI,kBAgBG;MAhBH,aAgBG;IlB8tJP;IkBpoJA;MA1GI,wBAgBG;MAhBH,mBAgBG;IlBiuJP;IkBvoJA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlBouJP;IkB1oJA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlBuuJP;IkB7oJA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlB0uJP;IkBhpJA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlB6uJP;IkBnpJA;MA1GI,iBAgBG;IlBgvJP;IkBtpJA;MA1GI,eAgBG;IlBmvJP;IkBzpJA;MA1GI,kBAgBG;IlBsvJP;EACF;ES5wJE;IS+GA;MA1GI,mBAgBG;IlB2vJP;IkBjqJA;MA1GI,iBAgBG;IlB8vJP;IkBpqJA;MA1GI,WAgBG;IlBiwJP;IkBvqJA;MA1GI,sBAgBG;MAhBH,mBAgBG;IlBowJP;IkB1qJA;MA1GI,oBAgBG;MAhBH,iBAgBG;IlBuwJP;IkB7qJA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlB0wJP;IkBhrJA;MA1GI,yBAgBG;MAhBH,sBAgBG;IlB6wJP;IkBnrJA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlBgxJP;IkBtrJA;MA1GI,eAqBO;IlB8wJX;IkBzrJA;MA1GI,qBAqBO;IlBixJX;IkB5rJA;MA1GI,cAqBO;IlBoxJX;IkB/rJA;MA1GI,aAqBO;IlBuxJX;IkBlsJA;MA1GI,oBAqBO;IlB0xJX;IkBrsJA;MA1GI,cAqBO;IlB6xJX;IkBxsJA;MA1GI,kBAqBO;IlBgyJX;IkB3sJA;MA1GI,mBAqBO;IlBmyJX;IkB9sJA;MA1GI,aAqBO;IlBsyJX;IkBjtJA;MA1GI,oBAqBO;IlByyJX;IkBptJA;MA1GI,iBAqBO;IlB4yJX;IkBvtJA;MA1GI,kBAqBO;IlB+yJX;IkB1tJA;MA1GI,aAqBO;IlBkzJX;IkB7tJA;MA1GI,cAgBG;IlB0zJP;IkBhuJA;MA1GI,mBAqBO;IlBwzJX;IkBnuJA;MA1GI,sBAqBO;IlB2zJX;IkBtuJA;MA1GI,2BAqBO;IlB8zJX;IkBzuJA;MA1GI,8BAqBO;IlBi0JX;IkB5uJA;MA1GI,YAgBG;IlBy0JP;IkB/uJA;MA1GI,YAgBG;IlB40JP;IkBlvJA;MA1GI,cAgBG;IlB+0JP;IkBrvJA;MA1GI,cAgBG;IlBk1JP;IkBxvJA;MA1GI,eAqBO;IlBg1JX;IkB3vJA;MA1GI,iBAqBO;IlBm1JX;IkB9vJA;MA1GI,uBAqBO;IlBs1JX;IkBjwJA;MA1GI,2BAgBG;IlB81JP;IkBpwJA;MA1GI,yBAgBG;IlBi2JP;IkBvwJA;MA1GI,uBAgBG;IlBo2JP;IkB1wJA;MA1GI,8BAgBG;IlBu2JP;IkB7wJA;MA1GI,6BAgBG;IlB02JP;IkBhxJA;MA1GI,6BAgBG;IlB62JP;IkBnxJA;MA1GI,oBAgBG;IlBg3JP;IkBtxJA;MA1GI,kBAgBG;IlBm3JP;IkBzxJA;MA1GI,qBAgBG;IlBs3JP;IkB5xJA;MA1GI,sBAgBG;IlBy3JP;IkB/xJA;MA1GI,wBAgBG;IlB43JP;IkBlyJA;MA1GI,sBAgBG;IlB+3JP;IkBryJA;MA1GI,oBAgBG;IlBk4JP;IkBxyJA;MA1GI,uBAgBG;IlBq4JP;IkB3yJA;MA1GI,qBAgBG;IlBw4JP;IkB9yJA;MA1GI,mBAgBG;IlB24JP;IkBjzJA;MA1GI,qBAgBG;IlB84JP;IkBpzJA;MA1GI,oBAgBG;IlBi5JP;IkBvzJA;MA1GI,yBAgBG;IlBo5JP;IkB1zJA;MA1GI,uBAgBG;IlBu5JP;IkB7zJA;MA1GI,qBAgBG;IlB05JP;IkBh0JA;MA1GI,4BAgBG;IlB65JP;IkBn0JA;MA1GI,2BAgBG;IlBg6JP;IkBt0JA;MA1GI,sBAgBG;IlBm6JP;IkBz0JA;MA1GI,gBAgBG;IlBs6JP;IkB50JA;MA1GI,sBAgBG;IlBy6JP;IkB/0JA;MA1GI,oBAgBG;IlB46JP;IkBl1JA;MA1GI,kBAgBG;IlB+6JP;IkBr1JA;MA1GI,oBAgBG;IlBk7JP;IkBx1JA;MA1GI,mBAgBG;IlBq7JP;IkB31JA;MA1GI,kBAgBG;IlBw7JP;IkB91JA;MA1GI,gBAgBG;IlB27JP;IkBj2JA;MA1GI,mBAgBG;IlB87JP;IkBp2JA;MA1GI,oBAgBG;IlBi8JP;IkBv2JA;MA1GI,eAqBO;IlB+7JX;IkB12JA;MA1GI,eAqBO;IlBk8JX;IkB72JA;MA1GI,eAqBO;IlBq8JX;IkBh3JA;MA1GI,mBAgBG;IlB68JP;IkBn3JA;MA1GI,mBAqBO;IlB28JX;IkBt3JA;MA1GI,sBAqBO;IlB88JX;IkBz3JA;MA1GI,qBAqBO;IlBi9JX;IkB53JA;MA1GI,SAgBG;IlBy9JP;IkB/3JA;MA1GI,QAgBG;IlB49JP;IkBl4JA;MA1GI,QAgBG;IlB+9JP;IkBr4JA;MA1GI,QAgBG;IlBk+JP;IkBx4JA;MA1GI,QAgBG;IlBq+JP;IkB34JA;MA1GI,QAgBG;IlBw+JP;IkB94JA;MA1GI,QAgBG;IlB2+JP;IkBj5JA;MA1GI,QAgBG;IlB8+JP;IkBp5JA;MA1GI,SAgBG;IlBi/JP;IkBv5JA;MA1GI,eAgBG;IlBo/JP;IkB15JA;MA1GI,cAgBG;IlBu/JP;IkB75JA;MA1GI,YAgBG;IlB0/JP;IkBh6JA;MA1GI,cAgBG;IlB6/JP;IkBn6JA;MA1GI,YAgBG;IlBggKP;IkBt6JA;MA1GI,YAgBG;IlBmgKP;IkBz6JA;MA1GI,gBAgBG;IlBsgKP;IkB56JA;MA1GI,sBAgBG;IlBygKP;IkB/6JA;MA1GI,qBAgBG;IlB4gKP;IkBl7JA;MA1GI,mBAgBG;IlB+gKP;IkBr7JA;MA1GI,qBAgBG;IlBkhKP;IkBx7JA;MA1GI,mBAgBG;IlBqhKP;IkB37JA;MA1GI,mBAgBG;IlBwhKP;IkB97JA;MA1GI,eAgBG;IlB2hKP;IkBj8JA;MA1GI,qBAgBG;IlB8hKP;IkBp8JA;MA1GI,oBAgBG;IlBiiKP;IkBv8JA;MA1GI,kBAgBG;IlBoiKP;IkB18JA;MA1GI,oBAgBG;IlBuiKP;IkB78JA;MA1GI,kBAgBG;IlB0iKP;IkBh9JA;MA1GI,kBAgBG;IlB6iKP;IkBn9JA;MA1GI,qBAgBG;IlBgjKP;IkBt9JA;MA1GI,2BAgBG;IlBmjKP;IkBz9JA;MA1GI,0BAgBG;IlBsjKP;IkB59JA;MA1GI,wBAgBG;IlByjKP;IkB/9JA;MA1GI,0BAgBG;IlB4jKP;IkBl+JA;MA1GI,wBAgBG;IlB+jKP;IkBr+JA;MA1GI,wBAgBG;IlBkkKP;IkBx+JA;MA1GI,oBAgBG;IlBqkKP;IkB3+JA;MA1GI,0BAgBG;IlBwkKP;IkB9+JA;MA1GI,yBAgBG;IlB2kKP;IkBj/JA;MA1GI,uBAgBG;IlB8kKP;IkBp/JA;MA1GI,yBAgBG;IlBilKP;IkBv/JA;MA1GI,uBAgBG;IlBolKP;IkB1/JA;MA1GI,uBAgBG;IlBulKP;IkB7/JA;MA1GI,mBAgBG;IlB0lKP;IkBhgKA;MA1GI,yBAgBG;IlB6lKP;IkBngKA;MA1GI,wBAgBG;IlBgmKP;IkBtgKA;MA1GI,sBAgBG;IlBmmKP;IkBzgKA;MA1GI,wBAgBG;IlBsmKP;IkB5gKA;MA1GI,sBAgBG;IlBymKP;IkB/gKA;MA1GI,sBAgBG;IlB4mKP;IkBlhKA;MA1GI,sBAgBG;IlB+mKP;IkBrhKA;MA1GI,4BAgBG;IlBknKP;IkBxhKA;MA1GI,2BAgBG;IlBqnKP;IkB3hKA;MA1GI,yBAgBG;IlBwnKP;IkB9hKA;MA1GI,2BAgBG;IlB2nKP;IkBjiKA;MA1GI,yBAgBG;IlB8nKP;IkBpiKA;MA1GI,yBAgBG;IlBioKP;IkBviKA;MA1GI,UAgBG;IlBooKP;IkB1iKA;MA1GI,gBAgBG;IlBuoKP;IkB7iKA;MA1GI,eAgBG;IlB0oKP;IkBhjKA;MA1GI,aAgBG;IlB6oKP;IkBnjKA;MA1GI,eAgBG;IlBgpKP;IkBtjKA;MA1GI,aAgBG;IlBmpKP;IkBzjKA;MA1GI,iBAgBG;IlBspKP;IkB5jKA;MA1GI,uBAgBG;IlBypKP;IkB/jKA;MA1GI,sBAgBG;IlB4pKP;IkBlkKA;MA1GI,oBAgBG;IlB+pKP;IkBrkKA;MA1GI,sBAgBG;IlBkqKP;IkBxkKA;MA1GI,oBAgBG;IlBqqKP;IkB3kKA;MA1GI,gBAgBG;IlBwqKP;IkB9kKA;MA1GI,sBAgBG;IlB2qKP;IkBjlKA;MA1GI,qBAgBG;IlB8qKP;IkBplKA;MA1GI,mBAgBG;IlBirKP;IkBvlKA;MA1GI,qBAgBG;IlBorKP;IkB1lKA;MA1GI,mBAgBG;IlBurKP;IkB7lKA;MA1GI,sBAgBG;IlB0rKP;IkBhmKA;MA1GI,4BAgBG;IlB6rKP;IkBnmKA;MA1GI,2BAgBG;IlBgsKP;IkBtmKA;MA1GI,yBAgBG;IlBmsKP;IkBzmKA;MA1GI,2BAgBG;IlBssKP;IkB5mKA;MA1GI,yBAgBG;IlBysKP;IkB/mKA;MA1GI,qBAgBG;IlB4sKP;IkBlnKA;MA1GI,2BAgBG;IlB+sKP;IkBrnKA;MA1GI,0BAgBG;IlBktKP;IkBxnKA;MA1GI,wBAgBG;IlBqtKP;IkB3nKA;MA1GI,0BAgBG;IlBwtKP;IkB9nKA;MA1GI,wBAgBG;IlB2tKP;IkBjoKA;MA1GI,oBAgBG;IlB8tKP;IkBpoKA;MA1GI,0BAgBG;IlBiuKP;IkBvoKA;MA1GI,yBAgBG;IlBouKP;IkB1oKA;MA1GI,uBAgBG;IlBuuKP;IkB7oKA;MA1GI,yBAgBG;IlB0uKP;IkBhpKA;MA1GI,uBAgBG;IlB6uKP;IkBnpKA;MA1GI,uBAgBG;IlBgvKP;IkBtpKA;MA1GI,6BAgBG;IlBmvKP;IkBzpKA;MA1GI,4BAgBG;IlBsvKP;IkB5pKA;MA1GI,0BAgBG;IlByvKP;IkB/pKA;MA1GI,4BAgBG;IlB4vKP;IkBlqKA;MA1GI,0BAgBG;IlB+vKP;IkBrqKA;MA1GI,MAgBG;IlBkwKP;IkBxqKA;MA1GI,YAgBG;IlBqwKP;IkB3qKA;MA1GI,WAgBG;IlBwwKP;IkB9qKA;MA1GI,SAgBG;IlB2wKP;IkBjrKA;MA1GI,WAgBG;IlB8wKP;IkBprKA;MA1GI,SAgBG;IlBixKP;IkBvrKA;MA1GI,UAgBG;IlBoxKP;IkB1rKA;MA1GI,gBAgBG;IlBuxKP;IkB7rKA;MA1GI,eAgBG;IlB0xKP;IkBhsKA;MA1GI,aAgBG;IlB6xKP;IkBnsKA;MA1GI,eAgBG;IlBgyKP;IkBtsKA;MA1GI,aAgBG;IlBmyKP;IkBzsKA;MA1GI,kBAgBG;MAhBH,aAgBG;IlBsyKP;IkB5sKA;MA1GI,wBAgBG;MAhBH,mBAgBG;IlByyKP;IkB/sKA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlB4yKP;IkBltKA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlB+yKP;IkBrtKA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlBkzKP;IkBxtKA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlBqzKP;IkB3tKA;MA1GI,iBAgBG;IlBwzKP;IkB9tKA;MA1GI,eAgBG;IlB2zKP;IkBjuKA;MA1GI,kBAgBG;IlB8zKP;EACF;AACF","file":"bootstrap-utilities.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --theme-base: var(--primary-base);\n  --theme-text: var(--primary-text);\n  --theme-text-emphasis: var(--primary-text-emphasis);\n  --theme-bg: var(--primary-bg);\n  --theme-bg-subtle: var(--primary-bg-subtle);\n  --theme-bg-muted: var(--primary-bg-muted);\n  --theme-border: var(--primary-border);\n  --theme-focus-ring: var(--primary-focus-ring);\n  --theme-contrast: var(--primary-contrast);\n}\n\n.theme-accent {\n  --theme-base: var(--accent-base);\n  --theme-text: var(--accent-text);\n  --theme-text-emphasis: var(--accent-text-emphasis);\n  --theme-bg: var(--accent-bg);\n  --theme-bg-subtle: var(--accent-bg-subtle);\n  --theme-bg-muted: var(--accent-bg-muted);\n  --theme-border: var(--accent-border);\n  --theme-focus-ring: var(--accent-focus-ring);\n  --theme-contrast: var(--accent-contrast);\n}\n\n.theme-success {\n  --theme-base: var(--success-base);\n  --theme-text: var(--success-text);\n  --theme-text-emphasis: var(--success-text-emphasis);\n  --theme-bg: var(--success-bg);\n  --theme-bg-subtle: var(--success-bg-subtle);\n  --theme-bg-muted: var(--success-bg-muted);\n  --theme-border: var(--success-border);\n  --theme-focus-ring: var(--success-focus-ring);\n  --theme-contrast: var(--success-contrast);\n}\n\n.theme-danger {\n  --theme-base: var(--danger-base);\n  --theme-text: var(--danger-text);\n  --theme-text-emphasis: var(--danger-text-emphasis);\n  --theme-bg: var(--danger-bg);\n  --theme-bg-subtle: var(--danger-bg-subtle);\n  --theme-bg-muted: var(--danger-bg-muted);\n  --theme-border: var(--danger-border);\n  --theme-focus-ring: var(--danger-focus-ring);\n  --theme-contrast: var(--danger-contrast);\n}\n\n.theme-warning {\n  --theme-base: var(--warning-base);\n  --theme-text: var(--warning-text);\n  --theme-text-emphasis: var(--warning-text-emphasis);\n  --theme-bg: var(--warning-bg);\n  --theme-bg-subtle: var(--warning-bg-subtle);\n  --theme-bg-muted: var(--warning-bg-muted);\n  --theme-border: var(--warning-border);\n  --theme-focus-ring: var(--warning-focus-ring);\n  --theme-contrast: var(--warning-contrast);\n}\n\n.theme-info {\n  --theme-base: var(--info-base);\n  --theme-text: var(--info-text);\n  --theme-text-emphasis: var(--info-text-emphasis);\n  --theme-bg: var(--info-bg);\n  --theme-bg-subtle: var(--info-bg-subtle);\n  --theme-bg-muted: var(--info-bg-muted);\n  --theme-border: var(--info-border);\n  --theme-focus-ring: var(--info-focus-ring);\n  --theme-contrast: var(--info-contrast);\n}\n\n.theme-inverse {\n  --theme-base: var(--inverse-base);\n  --theme-text: var(--inverse-text);\n  --theme-text-emphasis: var(--inverse-text-emphasis);\n  --theme-bg: var(--inverse-bg);\n  --theme-bg-subtle: var(--inverse-bg-subtle);\n  --theme-bg-muted: var(--inverse-bg-muted);\n  --theme-border: var(--inverse-border);\n  --theme-focus-ring: var(--inverse-focus-ring);\n  --theme-contrast: var(--inverse-contrast);\n}\n\n.theme-secondary {\n  --theme-base: var(--secondary-base);\n  --theme-text: var(--secondary-text);\n  --theme-text-emphasis: var(--secondary-text-emphasis);\n  --theme-bg: var(--secondary-bg);\n  --theme-bg-subtle: var(--secondary-bg-subtle);\n  --theme-bg-muted: var(--secondary-bg-muted);\n  --theme-border: var(--secondary-border);\n  --theme-focus-ring: var(--secondary-focus-ring);\n  --theme-contrast: var(--secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --body-font-family: var(--font-sans-serif);\n  --font-size-base: 14px;\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  --body-font-size: 14px;\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --code-color: var(--secondary-text);\n  --highlight-color: var(--fg-body);\n  --highlight-bg: light-dark(var(--yellow-100), var(--yellow-900));\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: color-mix(in oklch, var(--gray-100), var(--gray-200));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-sm: 0.375rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --form-valid-color: var(--success);\n  --form-valid-border-color: var(--success);\n  --form-invalid-color: var(--danger);\n  --form-invalid-border-color: var(--danger);\n  color-scheme: light;\n  --root-font-size: 16px;\n}\n\n[data-bs-theme=dark] {\n  --heading-color: inherit;\n  --border-color: var(--gray-700);\n  --form-valid-color: var(--green-300);\n  --form-valid-border-color: var(--green-300);\n  --form-invalid-color: var(--red-300);\n  --form-invalid-border-color: var(--red-300);\n  color-scheme: dark;\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--border-width);\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-success {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-info {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --columns: 3;\n  }\n  .grid-cols-4 {\n    --columns: 4;\n  }\n  .grid-cols-6 {\n    --columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-monospace);\n  }\n  .font-body {\n    font-family: var(--font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--font-size-xs);\n    line-height: var(--line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--font-size-sm);\n    line-height: var(--line-height-sm);\n  }\n  .text-md {\n    font-size: var(--font-size-md);\n    line-height: var(--line-height-md);\n  }\n  .text-lg {\n    font-size: var(--font-size-lg);\n    line-height: var(--line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--font-size-xl);\n    line-height: var(--line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--font-size-2xl);\n    line-height: var(--line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--font-size-3xl);\n    line-height: var(--line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--font-size-4xl);\n    line-height: var(--line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--font-size-5xl);\n    line-height: var(--line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--font-size-6xl);\n    line-height: var(--line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --columns: 3;\n    }\n    .grid-cols-md-4 {\n      --columns: 4;\n    }\n    .grid-cols-md-6 {\n      --columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  // scss-docs-start root-theme-variables\n  --black: #{$black};\n  --white: #{$white};\n\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --border-#{$color}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --font-monospace: #{meta.inspect($font-family-monospace)};\n  --gradient: #{$gradient};\n  --body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base}; // 14px\n\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base};\n  --body-font-weight: #{$font-weight-base};\n  --body-line-height: #{$line-height-base};\n\n  --heading-color: #{$headings-color};\n\n  --hr-border-color: var(--border-color);\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: #{$link-decoration};\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  --code-color: #{$code-color};\n  --highlight-color: #{$mark-color};\n  --highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width};\n  --border-style: #{$border-style};\n  --border-color: #{$border-color};\n  --border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius};\n  --border-radius-sm: #{$border-radius-sm};\n  --border-radius-lg: #{$border-radius-lg};\n  --border-radius-xl: #{$border-radius-xl};\n  --border-radius-2xl: #{$border-radius-2xl};\n  --border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow};\n  --box-shadow-sm: #{$box-shadow-sm};\n  --box-shadow-lg: #{$box-shadow-lg};\n  --box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color};\n  --form-valid-border-color: #{$form-valid-border-color};\n  --form-invalid-color: #{$form-invalid-color};\n  --form-invalid-border-color: #{$form-invalid-border-color};\n  color-scheme: light;\n  // scss-docs-end root-form-validation-variables\n\n  // Root and body\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n\n    // scss-docs-start root-dark-mode-vars\n    --heading-color: #{$headings-color-dark};\n\n    --border-color: #{$border-color-dark};\n\n    --form-valid-color: #{$form-valid-color-dark};\n    --form-valid-border-color: #{$form-valid-border-color-dark};\n    --form-invalid-color: #{$form-invalid-color-dark};\n    --form-invalid-border-color: #{$form-invalid-border-color-dark};\n    color-scheme: dark;\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--gray-100) !default;\n// $dark:          var(--gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\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\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// :                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n$border-color-translucent:    color-mix(in oklch, var(--fg-body) 15%, transparent) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--primary-contrast) !default;\n$component-active-bg:         var(--primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, 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// stylelint-enable value-keyword-case\n$font-family-base:            var(--font-sans-serif) !default;\n$font-family-code:            var(--font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--font-size-3xl) !default;\n$h2-font-size: var(--font-size-2xl) !default;\n$h3-font-size: var(--font-size-xl) !default;\n$h4-font-size: var(--font-size-lg) !default;\n$h5-font-size: var(--font-size-md) !default;\n$h6-font-size: var(--font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--font-size-xs),\n    \"line-height\": var(--line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--font-size-sm),\n    \"line-height\": var(--line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--font-size-md),\n    \"line-height\": var(--line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--font-size-lg),\n    \"line-height\": var(--line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--font-size-xl),\n    \"line-height\": var(--line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--font-size-2xl),\n    \"line-height\": var(--line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--font-size-3xl),\n    \"line-height\": var(--line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--font-size-4xl),\n    \"line-height\": var(--line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--font-size-5xl),\n    \"line-height\": var(--line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--font-size-6xl),\n    \"line-height\": var(--line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  var(--fg-body) !default;\n$mark-bg:                     light-dark(var(--yellow-100), var(--yellow-900)) !default;\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--border-color-translucent) !default;\n$offcanvas-border-width:            var(--border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--bg-body) !default;\n$offcanvas-color:                   var(--fg-body) !default;\n$offcanvas-box-shadow:              var(--box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--bg-body) !default;\n$kbd-bg:                            var(--fg-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--gray-200) !default;\n// $body-bg-dark:                      var(--gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;\n$border-color-dark:                 var(--gray-700) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--green-300) !default;\n$form-valid-border-color-dark:      var(--green-300) !default;\n$form-invalid-color-dark:           var(--red-300) !default;\n$form-invalid-border-color-dark:    var(--red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.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 list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (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  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (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($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["../../scss/_banner.scss","../../scss/_colors.scss","bootstrap-utilities.css","../../scss/_root.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_variables.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_position.scss","../../scss/layout/_breakpoints.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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;ElBgnBT;EkBthBE;IA1GI,YAgBG;ElBmnBT;EkBzhBE;IA1GI,aAgBG;ElBsnBT;EkB5hBE;IA1GI,UAgBG;ElBynBT;EkB/hBE;IA1GI,cAqBO;ElBunBb;EkBliBE;IA1GI,gBAqBO;ElB0nBb;EkBriBE;IA1GI,iBAqBO;ElB6nBb;EkBxiBE;IA1GI,gBAqBO;ElBgoBb;EkB3iBE;IA1GI,gBAqBO;ElBmoBb;EkB9iBE;IA1GI,kBAqBO;ElBsoBb;EkBjjBE;IA1GI,mBAqBO;ElByoBb;EkBpjBE;IA1GI,kBAqBO;ElB4oBb;EkBvjBE;IA1GI,gBAqBO;ElB+oBb;EkB1jBE;IA1GI,kBAqBO;ElBkpBb;EkB7jBE;IA1GI,mBAqBO;ElBqpBb;EkBhkBE;IA1GI,kBAqBO;ElBwpBb;EkBnkBE;IA1GI,eAqBO;ElB2pBb;EkBtkBE;IA1GI,qBAqBO;ElB8pBb;EkBzkBE;IA1GI,cAqBO;ElBiqBb;EkB5kBE;IA1GI,aAqBO;ElBoqBb;EkB/kBE;IA1GI,oBAqBO;ElBuqBb;EkBllBE;IA1GI,cAqBO;ElB0qBb;EkBrlBE;IA1GI,kBAqBO;ElB6qBb;EkBxlBE;IA1GI,mBAqBO;ElBgrBb;EkB3lBE;IA1GI,aAqBO;ElBmrBb;EkB9lBE;IA1GI,oBAqBO;ElBsrBb;EkBjmBE;IA1GI,iBAqBO;ElByrBb;EkBpmBE;IA1GI,kBAqBO;ElB4rBb;EkBvmBE;IA1GI,aAqBO;ElB+rBb;EkB1mBE;IA1GI,gCAgBG;ElBusBT;EkB7mBE;IA1GI,mCAgBG;ElB0sBT;EkBhnBE;IA1GI,mCAgBG;ElB6sBT;EkBnnBE;IA1GI,gBAgBG;ElBgtBT;EkBtnBE;IA1GI,qHAgBG;ElBmtBT;EkBznBE;IA1GI,yHAgBG;ElBstBT;EkB5nBE;IA1GI,uHAgBG;ElBytBT;EkB/nBE;IA1GI,mHAgBG;ElB4tBT;EkBloBE;IA1GI,yHAgBG;ElB+tBT;EkBroBE;IA1GI,qHAgBG;ElBkuBT;EkBxoBE;IA1GI,qHAgBG;ElBquBT;EkB3oBE;IA1GI,qHAgBG;ElBwuBT;EkB9oBE;IA1GI,gBAqBO;ElBsuBb;EkBjpBE;IA1G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CT;EkBjgCE;IA1GI,YAgBG;ElB8lCT;EkBpgCE;IA1GI,cAgBG;ElBimCT;EkBvgCE;IA1GI,cAgBG;ElBomCT;EkB1gCE;IA1GI,eAqBO;ElBkmCb;EkB7gCE;IA1GI,iBAqBO;ElBqmCb;EkBhhCE;IA1GI,uBAqBO;ElBwmCb;EkBnhCE;IA1GI,2BAgBG;ElBgnCT;EkBthCE;IA1GI,yBAgBG;ElBmnCT;EkBzhCE;IA1GI,uBAgBG;ElBsnCT;EkB5hCE;IA1GI,8BAgBG;ElBynCT;EkB/hCE;IA1GI,6BAgBG;ElB4nCT;EkBliCE;IA1GI,6BAgBG;ElB+nCT;EkBriCE;IA1GI,oBAgBG;ElBkoCT;EkBxiCE;IA1GI,kBAgBG;ElBqoCT;EkB3iCE;IA1GI,qBAgBG;ElBwoCT;EkB9iCE;IA1GI,sBAgBG;ElB2oCT;EkBjjCE;IA1GI,wBAgBG;ElB8oCT;EkBpjCE;IA1GI,sBAgBG;ElBipCT;EkBvjCE;IA1GI,oBAgBG;ElBopCT;EkB1jCE;IA1GI,uBAgBG;ElBupCT;EkB7jCE;IA1GI,qBAgBG;ElB0pCT;EkBhkCE;IA1GI,mBAgBG;ElB6pCT;EkBnkCE;IA1GI,qBAgBG;ElBgqCT;EkBtkCE;IA1GI,oBAgBG;ElBmqCT;EkBzkCE;IA1GI,yBAgBG;ElBsqCT;EkB5kCE;IA1GI,uBAgBG;ElByqCT;EkB/kCE;IA1GI,qBAgBG;ElB4qCT;EkBllCE;IA1GI,4BAgBG;ElB+qCT;EkBrlCE;IA1GI,2BAgBG;ElBkrCT;EkBxlCE;IA1GI,sBAgBG;ElBqrCT;EkB3lCE;IA1GI,gBAgBG;ElBwrCT;EkB9lCE;IA1GI,sBAgBG;ElB2rCT;EkBjmCE;IA1GI,oBAgBG;ElB8rCT;EkBpmCE;IA1GI,kBAgBG;ElBisCT;EkBvmCE;IA1GI,oBAgBG;ElBosCT;EkB1mCE;IA1GI,mBAgBG;ElBusCT;EkB7mCE;IA1GI,kBAgBG;ElB0sCT;EkBhnCE;IA1GI,gBAgBG;ElB6sCT;EkBnnCE;IA1GI,mBAgBG;ElBgtCT;EkBtnCE;IA1GI,oBAgBG;ElBmtCT;EkBznCE;IA1GI,eAqBO;ElBitCb;EkB5nCE;IA1GI,eAqBO;ElBotCb;EkB/nCE;IA1GI,eAqBO;ElButCb;EkBloCE;IA1GI,mBAgBG;ElB+tCT;EkBroCE;IA1GI,mBAqBO;ElB6tCb;EkBxoCE;IA1GI,sBAqBO;ElBguCb;EkB3oCE;IA1GI,qBAqBO;ElBmuCb;EkB9oCE;IA1GI,SAgBG;ElB2uCT;EkBjpCE;IA1GI,QAgBG;ElB8uCT;EkBppCE;IA1GI,QAgBG;ElBivCT;EkBvpCE;IA1GI,QAgBG;ElBovCT;EkB1pCE;IA1GI,QAgBG;ElBuvCT;EkB7pCE;IA1GI,QAgBG;ElB0vCT;EkBhqCE;IA1GI,QAgBG;ElB6vCT;EkBnqCE;IA1GI,QAgBG;ElBgwCT;EkBtqCE;IA1GI,SAgBG;ElBmwCT;EkBzqCE;IA1GI,eAgBG;ElBswCT;EkB5qCE;IA1GI,cAgBG;ElBywCT;EkB/qCE;IA1GI,YAgBG;ElB4wCT;EkBlrCE;IA1GI,cAgBG;ElB+wCT;EkBrrCE;IA1GI,YAgBG;ElBkxCT;EkBxrCE;IA1GI,YAgBG;ElBqxCT;EkB3rCE;IA1GI,gBAgBG;ElBwxCT;EkB9rCE;IA1GI,sBAgBG;ElB2xCT;EkBjsCE;IA1GI,qBAgBG;ElB8xCT;EkBpsCE;IA1GI,mBAgBG;ElBiyCT;EkBvsCE;IA1GI,qBAgBG;ElBoyCT;EkB1sCE;IA1GI,mBAgBG;ElBuyCT;EkB7sCE;IA1GI,mBAgBG;ElB0yCT;EkBhtCE;IA1GI,eAgBG;ElB6yCT;EkBntCE;IA1GI,qBAgBG;ElBgzCT;EkBttCE;IA1GI,oBAgBG;ElBmzCT;EkBztCE;IA1GI,kBAgBG;ElBszCT;EkB5tCE;IA1GI,oBAgBG;ElByzCT;EkB/tCE;IA1GI,kBAgBG;ElB4zCT;EkBluCE;IA1GI,kBAgBG;ElB+zCT;EkBruCE;IA1GI,qBAgBG;ElBk0CT;EkBxuCE;IA1GI,2BAgBG;ElBq0CT;EkB3uCE;IA1GI,0BAgBG;ElBw0CT;EkB9uCE;IA1GI,wBAgBG;ElB20CT;EkBjvCE;IA1GI,0BAgBG;ElB80CT;EkBpvCE;IA1GI,wBAgBG;ElBi1CT;EkBvvCE;IA1GI,wBAgBG;ElBo1CT;EkB1vCE;IA1GI,oBAgBG;ElBu1CT;EkB7vCE;IA1GI,0BAgBG;ElB01CT;EkBhwCE;IA1GI,yBAgBG;ElB61CT;EkBnwCE;IA1GI,uBAgBG;ElBg2CT;EkBtwCE;IA1GI,yBAgBG;ElBm2CT;EkBzwCE;IA1GI,uBAgBG;ElBs2CT;EkB5wCE;IA1GI,uBAgBG;ElBy2CT;EkB/wCE;IA1GI,mBAgBG;ElB42CT;EkBlxCE;IA1GI,yBAgBG;ElB+2CT;EkBrxCE;IA1GI,wBAgBG;ElBk3CT;EkBxxCE;IA1GI,sBAgBG;ElBq3CT;EkB3xCE;IA1GI,wBAgBG;ElBw3CT;EkB9xCE;IA1GI,sBAgBG;ElB23CT;EkBjyCE;IA1GI,sBAgBG;ElB83CT;EkBpyCE;IA1GI,sBAgBG;ElBi4CT;EkBvyCE;IA1GI,4BAgBG;ElBo4CT;EkB1yCE;IA1GI,2BAgBG;ElBu4CT;EkB7yCE;IA1GI,yBAgBG;ElB04CT;EkBhzCE;IA1GI,2BAgBG;ElB64CT;EkBnzCE;IA1GI,yBAgBG;ElBg5CT;EkBtzCE;IA1GI,yBAgBG;ElBm5CT;EkBzzCE;IA1GI,UAgBG;ElBs5CT;EkB5zCE;IA1GI,gBAgBG;ElBy5CT;EkB/zCE;IA1GI,eAgBG;ElB45CT;EkBl0CE;IA1GI,aAgBG;ElB+5CT;EkBr0CE;IA1GI,eAgBG;ElBk6CT;EkBx0CE;IA1GI,aAgBG;ElBq6CT;EkB30CE;IA1GI,iBAgBG;ElBw6CT;EkB90CE;IA1GI,uBAgBG;ElB26CT;EkBj1CE;IA1GI,sBAgBG;ElB86CT;EkBp1CE;IA1GI,oBAgBG;ElBi7CT;EkBv1CE;IA1GI,sBAgBG;ElBo7CT;EkB11CE;IA1GI,oBAgBG;ElBu7CT;EkB71CE;IA1GI,gBAgBG;ElB07CT;EkBh2CE;IA1GI,sBAgBG;ElB67CT;EkBn2CE;IA1GI,qBAgBG;ElBg8CT;EkBt2CE;IA1GI,mBAgBG;ElBm8CT;EkBz2CE;IA1GI,qBAgBG;ElBs8CT;EkB52CE;IA1GI,mBAgBG;ElBy8CT;EkB/2CE;IA1GI,sBAgBG;ElB48CT;EkBl3CE;IA1GI,4BAgBG;ElB+8CT;EkBr3CE;IA1GI,2BAgBG;ElBk9CT;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lBg7DT;EkB/zDM;IAjIA,iEAgBG;ElBm7DT;EkBz1DE;IA1GI,iEAgBG;ElBs7DT;EkBr0DM;IAjIA,iEAgBG;ElBy7DT;EkB/1DE;IA1GI,2BAgBG;ElB47DT;EkB30DM;IAjIA,2BAgBG;ElB+7DT;EkBr2DE;IA1GI,8BAgBG;ElBk8DT;EkBj1DM;IAjIA,8BAgBG;ElBq8DT;EkB32DE;IA1GI,6BAgBG;ElBw8DT;EkBv1DM;IAjIA,6BAgBG;ElB28DT;EkBj3DE;IA1GI,8BAgBG;ElB88DT;EkB71DM;IAjIA,8BAgBG;ElBi9DT;EkBv3DE;IA1GI,yEAgBG;ElBo9DT;EkB13DE;IA1GI,wHAgBG;ElBu9DT;EkB73DE;IA1GI,2EAgBG;ElB09DT;EkBh4DE;IA1GI,uEAgBG;ElB69DT;EkBn4DE;IA1GI,6EAgBG;ElBg+DT;EkBt4DE;IA1GI,yEAgBG;ElBm+DT;EkBz4DE;IA1GI,yEAgBG;ElBs+DT;EkB54DE;IA1GI,yEAgBG;ElBy+DT;EkB/4DE;IA1GI,iFAgBG;ElB4+DT;EkB33DM;IAjIA,iFAgBG;ElB++DT;EkBr5DE;IA1GI,iFAgBG;ElBk/DT;EkBj4DM;IAjIA,iFAgBG;ElBq/DT;EkB35DE;IA1GI,iFAgBG;ElBw/DT;EkBv4DM;IAjIA,iFAgBG;ElB2/DT;EkBj6DE;IA1GI,iFAgBG;ElB8/DT;EkB74DM;IAjIA,iFAgBG;ElBigET;EkBv6DE;IA1GI,iFAgBG;ElBogET;EkBn5DM;IAjIA,iFAgBG;ElBugET;EkB76DE;IA1GI,iFAgBG;ElB0gET;EkBz5DM;IAjIA,iFAgBG;ElB6gET;EkBn7DE;IA1GI,iFAgBG;ElBghET;EkB/5DM;IAjIA,iFAgBG;ElBmhET;EkBz7DE;IA1GI,iFAgBG;ElBshET;EkBr6DM;IAjIA,iFAgBG;ElByhET;EkB/7DE;IA1GI,iFAgBG;ElB4hET;EkB36DM;IAjIA,iFAgBG;ElB+hET;EkBr8DE;IA1GI,2CAgBG;ElBkiET;EkBj7DM;IAjIA,2CAgBG;ElBqiET;EkB38DE;IA1GI,8BAgBG;ElBwiET;EkBv7DM;IAjIA,8BAgBG;ElB2iET;EkBj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IkBh6EA;MA1GI,oBAqBO;IlBw/EX;IkBn6EA;MA1GI,iBAqBO;IlB2/EX;IkBt6EA;MA1GI,kBAqBO;IlB8/EX;IkBz6EA;MA1GI,aAqBO;IlBigFX;IkB56EA;MA1GI,cAgBG;IlBygFP;IkB/6EA;MA1GI,mBAqBO;IlBugFX;IkBl7EA;MA1GI,sBAqBO;IlB0gFX;IkBr7EA;MA1GI,2BAqBO;IlB6gFX;IkBx7EA;MA1GI,8BAqBO;IlBghFX;IkB37EA;MA1GI,YAgBG;IlBwhFP;IkB97EA;MA1GI,YAgBG;IlB2hFP;IkBj8EA;MA1GI,cAgBG;IlB8hFP;IkBp8EA;MA1GI,cAgBG;IlBiiFP;IkBv8EA;MA1GI,eAqBO;IlB+hFX;IkB18EA;MA1GI,iBAqBO;IlBkiFX;IkB78EA;MA1GI,uBAqBO;IlBqiFX;IkBh9EA;MA1GI,2BAgBG;IlB6iFP;IkBn9EA;MA1GI,yBAgBG;IlBgjFP;IkBt9EA;MA1GI,uBAgBG;IlBmjFP;IkBz9EA;MA1GI,8BAgBG;IlBsjFP;IkB59EA;MA1GI,6BAgBG;IlByjFP;IkB/9EA;MA1GI,6BAgBG;IlB4jFP;IkBl+EA;MA1GI,oBAgBG;IlB+jFP;IkBr+EA;MA1GI,kBAgBG;IlBkkFP;IkBx+EA;MA1GI,qBAgBG;IlBqkFP;IkB3+EA;MA1GI,sBAgBG;IlBwkFP;IkB9+EA;MA1GI,wBAgBG;IlB2kFP;IkBj/EA;MA1GI,sBAgBG;IlB8kFP;IkBp/EA;MA1GI,oBAgBG;IlBilFP;IkBv/EA;MA1GI,uBAgBG;IlBolFP;IkB1/EA;MA1GI,qBAgBG;IlBulFP;IkB7/EA;MA1GI,mBAgBG;IlB0lFP;IkBhgFA;MA1GI,qBAgBG;IlB6lFP;IkBngFA;MA1GI,oBAgBG;IlBgmFP;IkBtgFA;MA1GI,yBAgBG;IlBmmFP;IkBzgFA;MA1GI,uBAgBG;IlBsmFP;IkB5gFA;MA1GI,qBAgBG;IlBymFP;IkB/gFA;MA1GI,4BAgBG;IlB4mFP;IkBlhFA;MA1GI,2BAgBG;IlB+mFP;IkBrhFA;MA1GI,sBAgBG;IlBknFP;IkBxhFA;MA1GI,gBAgBG;IlBqnFP;IkB3hFA;MA1GI,sBAgBG;IlBwnFP;IkB9hFA;MA1GI,oBAgBG;IlB2nFP;IkBjiFA;MA1GI,kBAgBG;IlB8nFP;IkBpiFA;MA1GI,oBAgBG;IlBioFP;IkBviFA;MA1GI,mBAgBG;IlBooFP;IkB1iFA;MA1GI,kBAgBG;IlBuoFP;IkB7iFA;MA1GI,gBAgBG;IlB0oFP;IkBhjFA;MA1GI,mBAgBG;IlB6oFP;IkBnjFA;MA1GI,oBAgBG;IlBgpFP;IkBtjFA;MA1GI,eAqBO;IlB8oFX;IkBzjFA;MA1GI,eAqBO;IlBipFX;IkB5jFA;MA1GI,eAqBO;IlBopFX;IkB/jFA;MA1GI,mBAgBG;IlB4pFP;IkBlkFA;MA1GI,mBAqBO;IlB0pFX;IkBrkFA;MA1GI,sBAqBO;IlB6pFX;IkBxkFA;MA1GI,qBAqBO;IlBgqFX;IkB3kFA;MA1GI,SAgBG;IlBwqFP;IkB9kFA;MA1GI,QAgBG;IlB2qFP;IkBjlFA;MA1GI,QAgBG;IlB8qFP;IkBplFA;MA1GI,QAgBG;IlBirFP;IkBvlFA;MA1GI,QAgBG;IlBorFP;IkB1lFA;MA1GI,QAgBG;IlBurFP;IkB7lFA;MA1GI,QAgBG;IlB0rFP;IkBhmFA;MA1GI,QAgBG;IlB6rFP;IkBnmFA;MA1GI,SAgBG;IlBgsFP;IkBtmFA;MA1GI,eAgBG;IlBmsFP;IkBzmFA;MA1GI,cAgBG;IlBssFP;IkB5mFA;MA1GI,YAgBG;IlBysFP;IkB/mFA;MA1GI,cAgBG;IlB4sFP;IkBlnFA;MA1GI,YAgBG;IlB+sFP;IkBrnFA;MA1GI,YAgBG;IlBktFP;IkBxnFA;MA1GI,gBAgBG;IlBqtFP;IkB3nFA;MA1GI,sBAgBG;IlBwtFP;IkB9nFA;MA1GI,qBAgBG;IlB2tFP;IkBjoFA;MA1GI,mBAgBG;IlB8tFP;IkBpoFA;MA1GI,qBAgBG;IlBiuFP;IkBvoFA;MA1GI,mBAgBG;IlBouFP;IkB1oFA;MA1GI,mBAgBG;IlBuuFP;IkB7oFA;MA1GI,eAgBG;IlB0uFP;IkBhpFA;MA1GI,qBAgBG;IlB6uFP;IkBnpFA;MA1GI,oBAgBG;IlBgvFP;IkBtpFA;MA1GI,kBAgBG;IlBmvFP;IkBzpFA;MA1GI,oBAgBG;IlBsvFP;IkB5pFA;MA1GI,kBAgBG;IlByvFP;IkB/pFA;MA1GI,kBAgBG;IlB4vFP;IkBlqFA;MA1GI,qBAgBG;IlB+vFP;IkBrqFA;MA1GI,2BAgBG;IlBkwFP;IkBxqFA;MA1GI,0BAgBG;IlBqwFP;IkB3qFA;MA1GI,wBAgBG;IlBwwFP;IkB9qFA;MA1GI,0BAgBG;IlB2wFP;IkBjrFA;MA1GI,wBAgBG;IlB8wFP;IkBprFA;MA1GI,wBAgBG;IlBixFP;IkBvrFA;MA1GI,oBAgBG;IlBoxFP;IkB1rFA;MA1GI,0BAgBG;IlBuxFP;IkB7rFA;MA1GI,yBAgBG;IlB0xFP;IkBhsFA;MA1GI,uBAgBG;IlB6xFP;IkBnsFA;MA1GI,yBAgBG;IlBgyFP;IkBtsFA;MA1GI,uBAgBG;IlBmyFP;IkBzsFA;MA1GI,uBAgBG;IlBsyFP;IkB5sFA;MA1GI,mBAgBG;IlByyFP;IkB/sFA;MA1GI,yBAgBG;IlB4yFP;IkBltFA;MA1GI,wBAgBG;IlB+yFP;IkBrtFA;MA1GI,sBAgBG;IlBkzFP;IkBxtFA;MA1GI,wBAgBG;IlBqzFP;IkB3tFA;MA1GI,sBAgBG;IlBwzFP;IkB9tFA;MA1GI,sBAgBG;IlB2zFP;IkBjuFA;MA1GI,sBAgBG;IlB8zFP;IkBpuFA;MA1GI,4BAgBG;IlBi0FP;IkBvuFA;MA1GI,2BAgBG;IlBo0FP;IkB1uFA;MA1GI,yBAgBG;IlBu0FP;IkB7uFA;MA1GI,2BAgBG;IlB00FP;IkBhvFA;MA1GI,yBAgBG;IlB60FP;IkBnvFA;MA1GI,yBAgBG;IlBg1FP;IkBtvFA;MA1GI,UAgBG;IlBm1FP;IkBzvFA;MA1GI,gBAgBG;IlBs1FP;IkB5vFA;MA1GI,eAgBG;IlBy1FP;IkB/vFA;MA1GI,aAgBG;IlB41FP;IkBlwFA;MA1GI,eAgBG;IlB+1FP;IkBrwFA;MA1GI,aAgBG;IlBk2FP;IkBxwFA;MA1GI,iBAgBG;IlBq2FP;IkB3wFA;MA1GI,uBAgBG;IlBw2FP;IkB9wFA;MA1GI,sBAgBG;IlB22FP;IkBjxFA;MA1GI,oBAgBG;IlB82FP;IkBpxFA;MA1GI,sBAgBG;IlBi3FP;IkBvxFA;MA1GI,oBAgBG;IlBo3FP;IkB1xFA;MA1GI,gBAgBG;IlBu3FP;IkB7xFA;MA1GI,sBAgBG;IlB03FP;IkBhyFA;MA1GI,qBAgBG;IlB63FP;IkBnyFA;MA1GI,mBAgBG;IlBg4FP;IkBtyFA;MA1GI,qBAgBG;IlBm4FP;IkBzyFA;MA1GI,mBAgBG;IlBs4FP;IkB5yFA;MA1GI,sBAgBG;IlBy4FP;IkB/yFA;MA1GI,4BAgBG;IlB44FP;IkBlzFA;MA1GI,2BAgBG;IlB+4FP;IkBrzFA;MA1GI,yBAgBG;IlBk5FP;IkBxzFA;MA1GI,2BAgBG;IlBq5FP;IkB3zFA;MA1GI,yBAgBG;IlBw5FP;IkB9zFA;MA1GI,qBAgBG;IlB25FP;IkBj0FA;MA1GI,2BAgBG;IlB85FP;IkBp0FA;MA1GI,0BAgBG;IlBi6FP;IkBv0FA;MA1GI,wBAgBG;IlBo6FP;IkB10FA;MA1GI,0BAgBG;IlBu6FP;IkB70FA;MA1GI,wBAgBG;IlB06FP;IkBh1FA;MA1GI,oBAgBG;IlB66FP;IkBn1FA;MA1GI,0BAgBG;IlBg7FP;IkBt1FA;MA1GI,yBAgBG;IlBm7FP;IkBz1FA;MA1GI,uBAgBG;IlBs7FP;IkB51FA;MA1GI,yBAgBG;IlBy7FP;IkB/1FA;MA1GI,uBAgBG;IlB47FP;IkBl2FA;MA1GI,uBAgBG;IlB+7FP;IkBr2FA;MA1GI,6BAgBG;IlBk8FP;IkBx2FA;MA1GI,4BAgBG;IlBq8FP;IkB32FA;MA1GI,0BAgBG;IlBw8FP;IkB92FA;MA1GI,4BAgBG;IlB28FP;IkBj3FA;MA1GI,0BAgBG;IlB88FP;IkBp3FA;MA1GI,MAgBG;IlBi9FP;IkBv3FA;MA1GI,YAgBG;IlBo9FP;IkB13FA;MA1GI,WAgBG;IlBu9FP;IkB73FA;MA1GI,SAgBG;IlB09FP;IkBh4FA;MA1GI,WAgBG;IlB69FP;IkBn4FA;MA1GI,SAgBG;IlBg+FP;IkBt4FA;MA1GI,UAgBG;IlBm+FP;IkBz4FA;MA1GI,gBAgBG;IlBs+FP;IkB54FA;MA1GI,eAgBG;IlBy+FP;IkB/4FA;MA1GI,aAgBG;IlB4+FP;IkBl5FA;MA1GI,eAgBG;IlB++FP;IkBr5FA;MA1GI,aAgBG;IlBk/FP;IkBx5FA;MA1GI,kBAgBG;MAhBH,aAgBG;IlBq/FP;IkB35FA;MA1GI,wBAgBG;MAhBH,mBAgBG;IlBw/FP;IkB95FA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlB2/FP;IkBj6FA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlB8/FP;IkBp6FA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlBigGP;IkBv6FA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlBogGP;IkB16FA;MA1GI,iBAgBG;IlBugGP;IkB76FA;MA1GI,eAgBG;IlB0gGP;IkBh7FA;MA1GI,kBAgBG;IlB6gGP;EACF;EOniGE;IW+GA;MA1GI,mBAgBG;IlBkhGP;IkBx7FA;MA1GI,iBAgBG;IlBqhGP;IkB37FA;MA1GI,WAgBG;IlBwhGP;IkB97FA;MA1GI,sBAgBG;MAhBH,mBAgBG;IlB2hGP;IkBj8FA;MA1GI,oBAgBG;MAhBH,iBAgBG;IlB8hGP;IkBp8FA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlBiiGP;IkBv8FA;MA1GI,yBAgBG;MAhBH,sBAgBG;IlBoiGP;IkB18FA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlBuiGP;IkB78FA;MA1GI,eAqBO;IlBqiGX;IkBh9FA;MA1GI,qBAqBO;IlBwiGX;IkBn9FA;MA1GI,cAqBO;IlB2iGX;IkBt9FA;MA1GI,aAqBO;IlB8iGX;IkBz9FA;MA1GI,oBAqBO;IlBijGX;IkB59FA;MA1GI,cAqBO;IlBojGX;IkB/9FA;MA1GI,kBAqBO;IlBujGX;IkBl+FA;MA1GI,mBAqBO;IlB0jGX;IkBr+FA;MA1GI,aAqBO;IlB6jGX;IkBx+FA;MA1GI,oBAqBO;IlBgkGX;IkB3+FA;MA1GI,iBAqBO;IlBmkGX;IkB9+FA;MA1GI,kBAqBO;IlBskGX;IkBj/FA;MA1GI,aAqBO;IlBykGX;IkBp/FA;MA1GI,cAgBG;IlBilGP;IkBv/FA;MA1GI,mBAqBO;IlB+kGX;IkB1/FA;MA1GI,sBAqBO;IlBklGX;IkB7/FA;MA1GI,2BAqBO;IlBqlGX;IkBhgGA;MA1GI,8BAqBO;IlBwlGX;IkBngGA;MA1GI,YAgBG;IlBgmGP;IkBtgGA;MA1GI,YAgBG;IlBmmGP;IkBzgGA;MA1GI,cAgBG;IlBsmGP;IkB5gGA;MA1GI,cAgBG;IlBymGP;IkB/gGA;MA1GI,eAqBO;IlBumGX;IkBlhGA;MA1GI,iBAqBO;IlB0mGX;IkBrhGA;MA1GI,uBAqBO;IlB6mGX;IkBxhGA;MA1GI,2BAgBG;IlBqnGP;IkB3hGA;MA1GI,yBAgBG;IlBwnGP;IkB9hGA;MA1GI,uBAgBG;IlB2nGP;IkBjiGA;MA1GI,8BAgBG;IlB8nGP;IkBpiGA;MA1GI,6BAgBG;IlBioGP;IkBviGA;MA1GI,6BAgBG;IlBooGP;IkB1iGA;MA1GI,oBAgBG;IlBuoGP;IkB7iGA;MA1GI,kBAgBG;IlB0oGP;IkBhjGA;MA1GI,qBAgBG;IlB6oGP;IkBnjGA;MA1GI,sBAgBG;IlBgpGP;IkBtjGA;MA1GI,wBAgBG;IlBmpGP;IkBzjGA;MA1GI,sBAgBG;IlBspGP;IkB5jGA;MA1GI,oBAgBG;IlBypGP;IkB/jGA;MA1GI,uBAgBG;IlB4pGP;IkBlkGA;MA1GI,qBAgBG;IlB+pGP;IkBrkGA;MA1GI,mBAgBG;IlBkqGP;IkBxkGA;MA1GI,qBAgBG;IlBqqGP;IkB3kGA;MA1GI,oBAgBG;IlBwqGP;IkB9kGA;MA1GI,yBAgBG;IlB2qGP;IkBjlGA;MA1GI,uBAgBG;IlB8qGP;IkBplGA;MA1GI,qBAgBG;IlBirGP;IkBvlGA;MA1GI,4BAgBG;IlBorGP;IkB1lGA;MA1GI,2BAgBG;IlBurGP;IkB7lGA;MA1GI,sBAgBG;IlB0rGP;IkBhmGA;MA1GI,gBAgBG;IlB6rGP;IkBnmGA;MA1GI,sBAgBG;IlBgsGP;IkBtmGA;MA1GI,oBAgBG;IlBmsGP;IkBzmGA;MA1GI,kBAgBG;IlBssGP;IkB5mGA;MA1GI,oBAgBG;IlBysGP;IkB/mGA;MA1GI,mBAgBG;IlB4sGP;IkBlnGA;MA1GI,kBAgBG;IlB+sGP;IkBrnGA;MA1GI,gBAgBG;IlBktGP;IkBxnGA;MA1GI,mBAgBG;IlBqtGP;IkB3nGA;MA1GI,oBAgBG;IlBwtGP;IkB9nGA;MA1GI,eAqBO;IlBstGX;IkBjoGA;MA1GI,eAqBO;IlBytGX;IkBpoGA;MA1GI,eAqBO;IlB4tGX;IkBvoGA;MA1GI,mBAgBG;IlBouGP;IkB1oGA;MA1GI,mBAqBO;IlBkuGX;IkB7oGA;MA1GI,sBAqBO;IlBquGX;IkBhpGA;MA1GI,qBAqBO;IlBwuGX;IkBnpGA;MA1GI,SAgBG;IlBgvGP;IkBtpGA;MA1GI,QAgBG;IlBmvGP;IkBzpGA;MA1GI,QAgBG;IlBsvGP;IkB5pGA;MA1GI,QAgBG;IlByvGP;IkB/pGA;MA1GI,QAgBG;IlB4vGP;IkBlqGA;MA1GI,QAgBG;IlB+vGP;IkBrqGA;MA1GI,QAgBG;IlBkwGP;IkBxqGA;MA1GI,QAgBG;IlBqwGP;IkB3qGA;MA1GI,SAgBG;IlBwwGP;IkB9qGA;MA1GI,eAgBG;IlB2wGP;IkBjrGA;MA1GI,cAgBG;IlB8wGP;IkBprGA;MA1GI,YAgBG;IlBixGP;IkBvrGA;MA1GI,cAgBG;IlBoxGP;IkB1rGA;MA1GI,YAgBG;IlBuxGP;IkB7rGA;MA1GI,YAgBG;IlB0xGP;IkBhsGA;MA1GI,gBAgBG;IlB6xGP;IkBnsGA;MA1GI,sBAgBG;IlBgyGP;IkBtsGA;MA1GI,qBAgBG;IlBmyGP;IkBzsGA;MA1GI,mBAgBG;IlBsyGP;IkB5sGA;MA1GI,qBAgBG;IlByyGP;IkB/sGA;MA1GI,mBAgBG;IlB4yGP;IkBltGA;MA1GI,mBAgBG;IlB+yGP;IkBrtGA;MA1GI,eAgBG;IlBkzGP;IkBxtGA;MA1GI,qBAgBG;IlBqzGP;IkB3tGA;MA1GI,oBAgBG;IlBwzGP;IkB9tGA;MA1GI,kBAgBG;IlB2zGP;IkBjuGA;MA1GI,oBAgBG;IlB8zGP;IkBpuGA;MA1GI,kBAgBG;IlBi0GP;IkBvuGA;MA1GI,kBAgBG;IlBo0GP;IkB1uGA;MA1GI,qBAgBG;IlBu0GP;IkB7uGA;MA1GI,2BAgBG;IlB00GP;IkBhvGA;MA1GI,0BAgBG;IlB60GP;IkBnvGA;MA1GI,wBAgBG;IlBg1GP;IkBtvGA;MA1GI,0BAgBG;IlBm1GP;IkBzvGA;MA1GI,wBAgBG;IlBs1GP;IkB5vGA;MA1GI,wBAgBG;IlBy1GP;IkB/vGA;MA1GI,oBAgBG;IlB41GP;IkBlwGA;MA1GI,0BAgBG;IlB+1GP;IkBrwGA;MA1GI,yBAgBG;IlBk2GP;IkBxwGA;MA1GI,uBAgBG;IlBq2GP;IkB3wGA;MA1GI,yBAgBG;IlBw2GP;IkB9wGA;MA1GI,uBAgBG;IlB22GP;IkBjxGA;MA1GI,uBAgBG;IlB82GP;IkBpxGA;MA1GI,mBAgBG;IlBi3GP;IkBvxGA;MA1GI,yBAgBG;IlBo3GP;IkB1xGA;MA1GI,wBAgBG;IlBu3GP;IkB7xGA;MA1GI,sBAgBG;IlB03GP;IkBhyGA;MA1GI,wBAgBG;IlB63GP;IkBnyGA;MA1GI,sBAgBG;IlBg4GP;IkBtyGA;MA1GI,sBAgBG;IlBm4GP;IkBzyGA;MA1GI,sBAgBG;IlBs4GP;IkB5yGA;MA1GI,4BAgBG;IlBy4GP;IkB/yGA;MA1GI,2BAgBG;IlB44GP;IkBlzGA;MA1GI,yBAgBG;IlB+4GP;IkBrzGA;MA1GI,2BAgBG;IlBk5GP;IkBxzGA;MA1GI,yBAgBG;IlBq5GP;IkB3zGA;MA1GI,yBAgBG;IlBw5GP;IkB9zGA;MA1GI,UAgBG;IlB25GP;IkBj0GA;MA1GI,gBAgBG;IlB85GP;IkBp0GA;MA1GI,eAgBG;IlBi6GP;IkBv0GA;MA1GI,aAgBG;IlBo6GP;IkB10GA;MA1GI,eAgBG;IlBu6GP;IkB70GA;MA1GI,aAgBG;IlB06GP;IkBh1GA;MA1GI,iBAgBG;IlB66GP;IkBn1GA;MA1GI,uBAgBG;IlBg7GP;IkBt1GA;MA1GI,sBAgBG;IlBm7GP;IkBz1GA;MA1GI,oBAgBG;IlBs7GP;IkB51GA;MA1GI,sBAgBG;IlBy7GP;IkB/1GA;MA1GI,oBAgBG;IlB47GP;IkBl2GA;MA1GI,gBAgBG;IlB+7GP;IkBr2GA;MA1GI,sBAgBG;IlBk8GP;IkBx2GA;MA1GI,qBAgBG;IlBq8GP;IkB32GA;MA1GI,mBAgBG;IlBw8GP;IkB92GA;MA1GI,qBAgBG;IlB28GP;IkBj3GA;MA1GI,mBAgBG;IlB88GP;IkBp3GA;MA1GI,sBAgBG;IlBi9GP;IkBv3GA;MA1GI,4BAgBG;IlBo9GP;IkB13GA;MA1GI,2B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P;IkBzmHA;MA1GI,8BAgBG;IlBssHP;IkB5mHA;MA1GI,6BAgBG;IlBysHP;IkB/mHA;MA1GI,6BAgBG;IlB4sHP;IkBlnHA;MA1GI,oBAgBG;IlB+sHP;IkBrnHA;MA1GI,kBAgBG;IlBktHP;IkBxnHA;MA1GI,qBAgBG;IlBqtHP;IkB3nHA;MA1GI,sBAgBG;IlBwtHP;IkB9nHA;MA1GI,wBAgBG;IlB2tHP;IkBjoHA;MA1GI,sBAgBG;IlB8tHP;IkBpoHA;MA1GI,oBAgBG;IlBiuHP;IkBvoHA;MA1GI,uBAgBG;IlBouHP;IkB1oHA;MA1GI,qBAgBG;IlBuuHP;IkB7oHA;MA1GI,mBAgBG;IlB0uHP;IkBhpHA;MA1GI,qBAgBG;IlB6uHP;IkBnpHA;MA1GI,oBAgBG;IlBgvHP;IkBtpHA;MA1GI,yBAgBG;IlBmvHP;IkBzpHA;MA1GI,uBAgBG;IlBsvHP;IkB5pHA;MA1GI,qBAgBG;IlByvHP;IkB/pHA;MA1GI,4BAgBG;IlB4vHP;IkBlqHA;MA1GI,2BAgBG;IlB+vHP;IkBrqHA;MA1GI,sBAgBG;IlBkwHP;IkBxqHA;MA1GI,gBAgBG;IlBqwHP;IkB3qHA;MA1GI,sBAgBG;IlBwwHP;IkB9qHA;MA1GI,oBAgBG;IlB2wHP;IkBjrHA;MA1GI,kBAgBG;IlB8wHP;IkBprHA;MA1GI,oBAgBG;IlBixHP;IkBvrHA;MA1GI,mBAgBG;IlBoxHP;IkB1rHA;MA1GI,kBAgBG;IlBuxHP;IkB7rHA;MA1GI,gBAgBG;IlB0xHP;IkBhsHA;MA1GI,mBAgBG;IlB6xHP;IkBnsHA;MA1GI,oBAgBG;IlBgyHP;IkBtsHA;MA1GI,eAqBO;IlB8xHX;IkBzsHA;MA1GI,eAqBO;IlBiyHX;IkB5sHA;MA1GI,eAqBO;IlBoyHX;IkB/sHA;MA1GI,mBAgBG;IlB4yHP;IkBltHA;MA1GI,mBAqBO;IlB0yHX;IkBrtHA;MA1GI,sBAqBO;IlB6yHX;IkBxtHA;MA1GI,qBAqBO;IlBgzHX;IkB3tHA;MA1GI,SAgBG;IlBwzHP;IkB9tHA;MA1GI,QAgBG;IlB2zHP;IkBjuHA;MA1GI,QAgBG;IlB8zHP;IkBpuHA;MA1GI,QAgBG;IlBi0HP;IkBvuHA;MA1GI,QAgBG;IlBo0HP;IkB1uHA;MA1GI,QAgBG;IlBu0HP;IkB7uHA;MA1GI,QAgBG;IlB00HP;IkBhvHA;MA1GI,QAgBG;IlB60HP;IkBnvHA;MA1GI,SAgBG;IlBg1HP;IkBtvHA;MA1GI,eAgBG;IlBm1HP;IkBzvHA;MA1GI,cAgBG;IlBs1HP;IkB5vHA;MA1GI,YAgBG;IlBy1HP;IkB/vHA;MA1GI,cAgBG;IlB41HP;IkBlwHA;MA1GI,YAgBG;IlB+1HP;IkBrwHA;MA1GI,YAgBG;IlBk2HP;IkBxwHA;MA1GI,gBAgBG;IlBq2HP;IkB3wHA;MA1GI,sBAgBG;IlBw2HP;IkB9wHA;MA1GI,qBAgBG;IlB22HP;IkBjxHA;MA1GI,mBAgBG;IlB82HP;IkBpxHA;MA1GI,qBAgBG;IlBi3HP;IkBvxHA;MA1GI,mBAgBG;IlBo3HP;IkB1xHA;MA1GI,mBAgBG;IlBu3HP;IkB7xHA;MA1GI,eAgBG;IlB03HP;IkBhyHA;MA1GI,qBAgBG;IlB63HP;IkBnyHA;MA1GI,oBAgBG;IlBg4HP;IkBtyHA;MA1GI,kBAgBG;IlBm4HP;IkBzyHA;MA1GI,oBAgBG;IlBs4HP;IkB5yHA;MA1GI,kBAgBG;IlBy4HP;IkB/yHA;MA1GI,kBAgBG;IlB44HP;IkBlzHA;MA1GI,qBAgBG;IlB+4HP;IkBrzHA;MA1GI,2BAgBG;IlBk5HP;IkBxzHA;MA1GI,0BAgBG;IlBq5HP;IkB3zHA;MA1GI,wBAgBG;IlBw5HP;IkB9zHA;MA1GI,0BAgBG;IlB25HP;IkBj0HA;MA1GI,wBAgBG;IlB85HP;IkBp0HA;MA1GI,wBAgBG;IlBi6HP;IkBv0HA;MA1GI,oBAgBG;IlBo6HP;IkB10HA;MA1GI,0BAgBG;IlBu6HP;IkB70HA;MA1GI,yBAgBG;IlB06HP;IkBh1HA;MA1GI,uBAgBG;IlB66HP;IkBn1HA;MA1GI,yBAgBG;IlBg7HP;IkBt1HA;MA1GI,uBAgBG;IlBm7HP;IkBz1HA;MA1GI,uBAgBG;IlBs7HP;IkB51HA;MA1GI,mBAgBG;IlBy7HP;IkB/1HA;MA1GI,yBAgBG;IlB47HP;IkBl2HA;MA1GI,wBAgBG;IlB+7HP;IkBr2HA;MA1GI,sBAgBG;IlBk8HP;IkBx2HA;MA1GI,wBAgBG;IlBq8HP;IkB32HA;MA1GI,sBAgBG;IlBw8HP;IkB92HA;MA1GI,sBAgBG;IlB28HP;IkBj3HA;MA1GI,sBAgBG;IlB88HP;IkBp3HA;MA1GI,4BAgBG;IlBi9HP;IkBv3HA;MA1GI,2BAgBG;IlBo9HP;IkB13HA;MA1GI,yBAgBG;IlBu9HP;IkB73HA;MA1GI,2BAgBG;IlB09HP;IkBh4HA;MA1GI,yBAgBG;IlB69HP;IkBn4HA;MA1GI,yBAgBG;IlBg+HP;IkBt4HA;MA1GI,UAgBG;IlBm+HP;IkBz4HA;MA1GI,gBAgBG;IlBs+HP;IkB54HA;MA1GI,eAgBG;IlBy+HP;IkB/4HA;MA1GI,aAgBG;IlB4+HP;IkBl5HA;MA1GI,eAgBG;IlB++HP;IkBr5HA;MA1GI,aAgBG;IlBk/HP;IkBx5HA;MA1GI,iBAgBG;IlBq/HP;IkB35HA;MA1GI,uBAgBG;IlBw/HP;IkB95HA;MA1GI,sBAgBG;IlB2/HP;IkBj6HA;MA1GI,oBAgBG;IlB8/HP;IkBp6HA;MA1GI,sBAgBG;IlBigIP;IkBv6HA;MA1GI,oBAgBG;IlBogIP;IkB16HA;MA1GI,gBAgBG;IlBugIP;IkB76HA;MA1GI,sBAgBG;IlB0gIP;IkBh7HA;MA1GI,qBAgBG;IlB6gIP;IkBn7HA;MA1GI,mBAgBG;IlBghIP;IkBt7HA;MA1GI,qBAgBG;IlBmhIP;IkBz7HA;MA1GI,mBAgBG;IlBshIP;IkB57HA;MA1GI,sBAgBG;IlByhIP;IkB/7HA;MA1GI,4BAgBG;IlB4hIP;IkBl8HA;MA1GI,2BAgBG;IlB+hIP;IkBr8HA;MA1GI,yBAgBG;IlBkiIP;IkBx8HA;MA1GI,2BAgBG;IlBqiIP;IkB38HA;MA1GI,yBAgBG;IlBwiIP;IkB98HA;MA1GI,qBAgBG;IlB2iIP;IkBj9HA;MA1GI,2BAgBG;IlB8iIP;IkBp9HA;MA1GI,0BAgBG;IlBijIP;IkBv9HA;MA1GI,wBAgBG;IlBojIP;IkB19HA;MA1GI,0BAgBG;IlBujIP;IkB79HA;MA1GI,wBAgBG;IlB0j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MA1GI,oBAgBG;IlByyIP;IkB/sIA;MA1GI,uBAgBG;IlB4yIP;IkBltIA;MA1GI,qBAgBG;IlB+yIP;IkBrtIA;MA1GI,mBAgBG;IlBkzIP;IkBxtIA;MA1GI,qBAgBG;IlBqzIP;IkB3tIA;MA1GI,oBAgBG;IlBwzIP;IkB9tIA;MA1GI,yBAgBG;IlB2zIP;IkBjuIA;MA1GI,uBAgBG;IlB8zIP;IkBpuIA;MA1GI,qBAgBG;IlBi0IP;IkBvuIA;MA1GI,4BAgBG;IlBo0IP;IkB1uIA;MA1GI,2BAgBG;IlBu0IP;IkB7uIA;MA1GI,sBAgBG;IlB00IP;IkBhvIA;MA1GI,gBAgBG;IlB60IP;IkBnvIA;MA1GI,sBAgBG;IlBg1IP;IkBtvIA;MA1GI,oBAgBG;IlBm1IP;IkBzvIA;MA1GI,kBAgBG;IlBs1IP;IkB5vIA;MA1GI,oBAgBG;IlBy1IP;IkB/vIA;MA1GI,mBAgBG;IlB41IP;IkBlwIA;MA1GI,kBAgBG;IlB+1IP;IkBrwIA;MA1GI,gBAgBG;IlBk2IP;IkBxwIA;MA1GI,mBAgBG;IlBq2IP;IkB3wIA;MA1GI,oBAgBG;IlBw2IP;IkB9wIA;MA1GI,eAqBO;IlBs2IX;IkBjxIA;MA1GI,eAqBO;IlBy2IX;IkBpxIA;MA1GI,eAqBO;IlB42IX;IkBvxIA;MA1GI,mBAgBG;IlBo3IP;IkB1xIA;MA1GI,mBAqBO;IlBk3IX;IkB7xIA;MA1GI,sBAqBO;IlBq3IX;IkBhyIA;MA1GI,qBAqBO;IlBw3IX;IkBnyIA;MA1GI,SAgBG;IlBg4IP;IkBtyIA;MA1GI,QAgBG;IlBm4IP;IkBzyIA;MA1GI,QAgBG;IlBs4IP;IkB5yIA;MA1GI,QAgBG;IlBy4IP;IkB/yIA;MA1GI,QAgBG;IlB44IP;IkBlzIA;MA1GI,QAgBG;IlB+4IP;IkBrzIA;MA1GI,QAgBG;IlBk5IP;IkBxzIA;MA1GI,QAgBG;IlBq5IP;IkB3zIA;MA1GI,SAgBG;IlBw5IP;IkB9zIA;MA1GI,eAgBG;IlB25IP;IkBj0IA;MA1GI,cAgBG;IlB85IP;IkBp0IA;MA1GI,YAgBG;IlBi6IP;IkBv0IA;MA1GI,cAgBG;IlBo6IP;IkB10IA;MA1GI,YAgBG;IlBu6IP;IkB70IA;MA1GI,YAgBG;IlB06IP;IkBh1IA;MA1GI,gBAgBG;IlB66IP;IkBn1IA;MA1GI,sBAgBG;IlBg7IP;IkBt1IA;MA1GI,qBAgBG;IlBm7IP;IkBz1IA;MA1GI,mBAgBG;IlBs7IP;IkB51IA;MA1GI,qBAgBG;IlBy7IP;IkB/1IA;MA1GI,mBAgBG;IlB47IP;IkBl2IA;MA1GI,mBAgBG;IlB+7IP;IkBr2IA;MA1GI,eAgBG;IlBk8IP;IkBx2IA;MA1GI,qBAgBG;IlBq8IP;IkB32IA;MA1GI,oBAgBG;IlBw8IP;IkB92IA;MA1GI,kBAgBG;IlB28IP;IkBj3IA;MA1GI,oBAgBG;IlB88IP;IkBp3IA;MA1GI,kBAgBG;IlBi9IP;IkBv3IA;MA1GI,kBAgBG;IlBo9IP;IkB13IA;MA1GI,qBAgBG;IlBu9IP;IkB73IA;MA1GI,2BAgBG;IlB09IP;IkBh4IA;MA1GI,0BAgBG;IlB69IP;IkBn4IA;MA1GI,wBAgBG;IlBg+IP;IkBt4IA;MA1GI,0BAgBG;IlBm+IP;IkBz4IA;MA1GI,wBAgBG;IlBs+IP;IkB54IA;MA1GI,wBAgBG;IlBy+IP;IkB/4IA;MA1GI,oBAgBG;IlB4+IP;IkBl5IA;MA1GI,0BAgBG;IlB++IP;IkBr5IA;MA1GI,yBAgBG;IlBk/IP;IkBx5IA;MA1GI,uBAgBG;IlBq/IP;IkB35IA;MA1GI,yBAgBG;IlBw/IP;IkB95IA;MA1GI,uBAgBG;IlB2/IP;IkBj6IA;MA1GI,uBAgBG;IlB8/IP;IkBp6IA;MA1GI,mBAgBG;IlBigJP;IkBv6IA;MA1GI,yBAgBG;IlBogJP;IkB16IA;MA1GI,wBAgBG;IlBugJP;IkB76IA;MA1GI,sBAgBG;IlB0gJP;IkBh7IA;MA1GI,wBAgBG;IlB6gJP;IkBn7IA;MA1GI,sBAgBG;IlBghJP;IkBt7IA;MA1GI,sBAgBG;IlBmhJP;IkBz7IA;MA1GI,sBAgBG;IlBshJP;IkB57IA;MA1GI,4BAgBG;IlByhJP;IkB/7IA;MA1GI,2BAgBG;IlB4hJP;IkBl8IA;MA1GI,yBAgBG;IlB+hJP;IkBr8IA;MA1GI,2BAgBG;IlBkiJP;IkBx8IA;MA1GI,yBAgBG;IlBqiJP;IkB38IA;MA1GI,yBAgBG;IlBwiJP;IkB98IA;MA1GI,UAgBG;IlB2iJP;IkBj9IA;MA1GI,gBAgBG;IlB8iJP;IkBp9IA;MA1GI,eAgBG;IlBijJP;IkBv9IA;MA1GI,aAgBG;IlBojJP;IkB19IA;MA1GI,eAgBG;IlBujJP;IkB79IA;MA1GI,aAgBG;IlB0jJP;IkBh+IA;MA1GI,iBAgBG;IlB6jJP;IkBn+IA;MA1GI,uBAgBG;IlBgkJP;IkBt+IA;MA1GI,sBAgBG;IlBmkJP;IkBz+IA;MA1GI,oBAgBG;IlBskJP;IkB5+IA;MA1GI,sBAgBG;IlBykJP;IkB/+IA;MA1GI,oBAgBG;IlB4kJP;IkBl/IA;MA1GI,gBAgBG;IlB+kJP;IkBr/IA;MA1GI,sBAgBG;IlBklJP;IkBx/IA;MA1GI,qBAgBG;IlBqlJP;IkB3/IA;MA1GI,mBAgBG;IlBwlJP;IkB9/IA;MA1GI,qBAgBG;IlB2lJP;IkBjgJA;MA1GI,mBAgBG;IlB8lJP;IkBpgJA;MA1GI,sBAgBG;IlBimJP;IkBvgJA;MA1GI,4BAgBG;IlBomJP;IkB1gJA;MA1GI,2BAgBG;IlBumJP;IkB7gJA;MA1GI,yBAgBG;IlB0mJP;IkBhhJA;MA1GI,2BAgBG;IlB6mJP;IkBnhJA;MA1GI,yBAgBG;IlBgnJP;IkBthJA;MA1GI,qBAgBG;IlBmnJP;IkBzhJA;MA1GI,2BAgBG;IlBsnJP;IkB5hJA;MA1GI,0BAgBG;IlBynJP;IkB/hJA;MA1GI,wBAgBG;IlB4nJP;IkBliJA;MA1GI,0BAgBG;IlB+nJP;IkBriJA;MA1GI,wBAgBG;IlBkoJP;IkBxiJA;MA1GI,oBAgBG;IlBqoJP;IkB3iJA;MA1GI,0BAgBG;IlBwoJP;IkB9iJA;MA1GI,yBAgBG;IlB2oJP;IkBjjJA;MA1GI,uBAgBG;IlB8oJP;IkBpjJA;MA1GI,yBAgBG;IlBipJP;IkBvjJA;MA1GI,uBAgBG;IlBopJP;IkB1jJA;MA1GI,uBAgBG;IlBupJP;IkB7jJA;MA1GI,6BAgBG;IlB0pJP;IkBhkJA;MA1GI,4BAgBG;IlB6pJP;IkBnkJA;MA1GI,0BAgBG;IlBgqJP;IkBtkJA;MA1GI,4BAgBG;IlBmqJP;IkBzkJA;MA1GI,0BAgBG;IlBsqJP;IkB5kJA;MA1GI,MAgBG;IlByqJP;IkB/kJA;MA1GI,YAgBG;IlB4qJP;IkBllJA;MA1GI,WAgBG;IlB+qJP;IkBrlJA;MA1GI,SAgBG;IlBkrJP;IkBxlJA;MA1GI,WAgBG;IlBqrJP;IkB3lJA;MA1GI,SAgBG;IlBwrJP;IkB9lJA;MA1GI,UAgBG;IlB2rJP;IkBjmJA;MA1GI,gBAgBG;IlB8rJP;IkBpmJA;MA1GI,eAgBG;IlBisJP;IkBvmJA;MA1GI,aAgBG;IlBosJP;IkB1mJA;MA1GI,eAgBG;IlBusJP;IkB7mJA;MA1GI,aAgBG;IlB0sJP;IkBhnJA;MA1GI,kBAgBG;MAhBH,aAgBG;IlB6sJP;IkBnnJA;MA1GI,wBAgBG;MAhBH,mBAgBG;IlBgtJP;IkBtnJA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlBmtJP;IkBznJA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlBstJP;IkB5nJA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlBytJP;IkB/nJA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlB4tJP;IkBloJA;MA1GI,iBAgBG;IlB+tJP;IkBroJA;MA1GI,eAgBG;IlBkuJP;IkBxoJA;MA1GI,kBAgBG;IlBquJP;EACF;EO3vJE;IW+GA;MA1GI,mBAgBG;IlB0uJP;IkBhpJA;MA1GI,iBAgBG;IlB6uJP;IkBnpJA;MA1GI,WAgBG;IlBgvJP;IkBtpJA;MA1GI,sBAgBG;MAhBH,mBAgBG;IlBmvJP;IkBzpJA;MA1GI,oBAgBG;MAhBH,iBAgBG;IlBsvJP;IkB5pJA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlByvJP;IkB/pJA;MA1GI,yBAgBG;MAhBH,sBAgBG;IlB4vJP;IkBlqJA;MA1GI,mBAgBG;MAhBH,gBAgBG;IlB+vJP;IkBrqJA;MA1GI,eAqBO;IlB6vJX;IkBxqJA;MA1GI,qBAqBO;IlBgwJX;IkB3qJA;MA1GI,cAqBO;IlBmwJX;IkB9qJA;MA1GI,aAqBO;IlBswJX;IkBjrJA;MA1GI,oBAqBO;IlBywJX;IkBprJA;MA1GI,cAqBO;IlB4wJX;IkBvrJA;MA1GI,kBAqBO;IlB+wJX;IkB1rJA;MA1GI,mBAqBO;IlBkxJX;IkB7rJA;MA1GI,aAqBO;IlBqxJX;IkBhsJA;MA1GI,oBAqBO;IlBwxJX;IkBnsJA;MA1GI,iBAqBO;IlB2xJX;IkBtsJA;MA1GI,kBAqBO;IlB8xJX;IkBzsJA;MA1GI,aAqBO;IlBiyJX;IkB5sJA;MA1GI,cAgBG;IlByyJP;IkB/sJA;MA1GI,mBAqBO;IlBuyJX;IkBltJA;MA1GI,sBAqBO;IlB0yJX;IkBrtJA;MA1GI,2BAqBO;IlB6yJX;IkBxtJA;MA1GI,8BAqBO;IlBgzJX;IkB3tJA;MA1GI,YAgBG;IlBwzJP;IkB9tJA;MA1GI,YAgBG;IlB2zJP;IkBjuJA;MA1GI,cAgBG;IlB8zJP;IkBpuJA;MA1GI,cAgBG;IlBi0JP;IkBvuJA;MA1GI,eAqBO;IlB+zJX;IkB1uJA;MA1GI,iBAqBO;IlBk0JX;IkB7uJA;MA1GI,uBAqBO;IlBq0JX;IkBhvJA;MA1GI,2BAgBG;IlB60JP;IkBnvJA;MA1GI,yBAgBG;IlBg1JP;IkBtvJA;MA1GI,uBAgBG;IlBm1JP;IkBzvJA;MA1GI,8BAgBG;IlBs1JP;IkB5vJA;MA1GI,6BAgBG;IlBy1JP;IkB/vJA;MA1GI,6BAgBG;IlB41JP;IkBlwJA;MA1GI,oBAgBG;IlB+1JP;IkBrwJA;MA1GI,kBAgBG;IlBk2JP;IkBxwJA;MA1GI,qBAgBG;IlBq2JP;IkB3wJA;MA1GI,sBAgBG;IlBw2JP;IkB9wJA;MA1GI,wBAgBG;IlB22JP;IkBjxJA;MA1GI,sBAgBG;IlB82JP;IkBpxJA;MA1GI,oBAgBG;IlBi3JP;IkBvxJA;MA1GI,uBAgBG;IlBo3JP;IkB1xJA;MA1GI,qBAgBG;IlBu3JP;IkB7xJA;MA1GI,mBAgBG;IlB03JP;IkBhyJA;MA1GI,qBAgBG;IlB63JP;IkBnyJA;MA1GI,oBAgBG;IlBg4JP;IkBtyJA;MA1GI,yBAgBG;IlBm4JP;IkBzyJA;MA1GI,uBAgBG;IlBs4JP;IkB5yJA;MA1GI,qBAgBG;IlBy4JP;IkB/yJA;MA1GI,4BAgBG;IlB44JP;IkBlzJA;MA1GI,2BAgBG;IlB+4JP;IkBrzJA;MA1GI,sBAgBG;IlBk5JP;IkBxzJA;MA1GI,gBAgBG;IlBq5JP;IkB3zJA;MA1GI,sBAgBG;IlBw5JP;IkB9zJA;MA1GI,oBAgBG;IlB25JP;IkBj0JA;MA1GI,kBAgBG;IlB85JP;IkBp0JA;MA1GI,oBAgBG;IlBi6JP;IkBv0JA;MA1GI,mBAgBG;IlBo6JP;IkB10JA;MA1GI,kBAgBG;IlBu6JP;IkB70JA;MA1GI,gBAgBG;IlB06JP;IkBh1JA;MA1GI,mBAgBG;IlB66JP;IkBn1JA;MA1GI,oBAgBG;IlBg7JP;IkBt1JA;MA1GI,eAqBO;IlB86JX;IkBz1JA;MA1GI,eAqBO;IlBi7JX;IkB51JA;MA1GI,eAqBO;IlBo7JX;IkB/1JA;MA1GI,mBAgBG;IlB47JP;IkBl2JA;MA1GI,mBAqBO;IlB07JX;IkBr2JA;MA1GI,sBAqBO;IlB67JX;IkBx2JA;MA1GI,qBAqBO;IlBg8JX;IkB32JA;MA1GI,SAgBG;IlBw8JP;IkB92JA;MA1GI,QAgBG;IlB28JP;IkBj3JA;MA1GI,QAgBG;IlB88JP;IkBp3JA;MA1GI,QAgBG;IlBi9JP;IkBv3JA;MA1GI,QAgBG;IlBo9JP;IkB13JA;MA1GI,QAgBG;IlBu9JP;IkB73JA;MA1GI,QAgBG;IlB09JP;IkBh4JA;MA1GI,QAgBG;IlB69JP;IkBn4JA;MA1GI,SAgBG;IlBg+JP;IkBt4JA;MA1GI,eAgBG;IlBm+JP;IkBz4JA;MA1GI,cAgBG;IlBs+JP;IkB54JA;MA1GI,YAgBG;IlBy+JP;IkB/4JA;MA1GI,cAgBG;IlB4+JP;IkBl5JA;MA1GI,YAgBG;IlB++JP;IkBr5JA;MA1GI,YAgBG;IlBk/JP;IkBx5JA;MA1GI,gBAgBG;IlBq/JP;IkB35JA;MA1GI,sBAgBG;IlBw/JP;IkB95JA;MA1GI,qBAgBG;IlB2/JP;IkBj6JA;MA1GI,mBAgBG;IlB8/JP;IkBp6JA;MA1GI,qBAgBG;IlBigKP;IkBv6JA;MA1GI,mBAgBG;IlBogKP;IkB16JA;MA1GI,mBAgBG;IlBugKP;IkB76JA;MA1GI,eAgBG;IlB0gKP;IkBh7JA;MA1GI,qBAgBG;IlB6gKP;IkBn7JA;MA1GI,oBAgBG;IlBghKP;IkBt7JA;MA1GI,kBAgBG;IlBmhKP;IkBz7JA;MA1GI,oBAgBG;IlBshKP;IkB57JA;MA1GI,kBAgBG;IlByhKP;IkB/7JA;MA1GI,kBAgBG;IlB4hKP;IkBl8JA;MA1GI,qBAgBG;IlB+hKP;IkBr8JA;MA1GI,2BAgBG;IlBkiKP;IkBx8JA;MA1GI,0BAgBG;IlBqiKP;IkB38JA;MA1GI,wBAgBG;IlBwiKP;IkB98JA;MA1GI,0BAgBG;IlB2iKP;IkBj9JA;MA1GI,wBAgBG;IlB8iKP;IkBp9JA;MA1GI,wBAgBG;IlBijKP;IkBv9JA;MA1GI,oBAgBG;IlBojKP;IkB19JA;MA1GI,0BAgBG;IlBujKP;IkB79JA;MA1GI,yBAgBG;IlB0jKP;IkBh+JA;MA1GI,uBAgBG;IlB6jKP;IkBn+JA;MA1GI,yBAgBG;IlBgkKP;IkBt+JA;MA1GI,uBAgBG;IlBmkKP;IkBz+JA;MA1GI,uBAgBG;IlBskKP;IkB5+JA;MA1GI,mBAgBG;IlBykKP;IkB/+JA;MA1GI,yBAgBG;IlB4kKP;IkBl/JA;MA1GI,wBAgBG;IlB+kKP;IkBr/JA;MA1GI,sBAgBG;IlBklKP;IkBx/JA;MA1GI,wBAgBG;IlBqlKP;IkB3/JA;MA1GI,sBAgBG;IlBwlKP;IkB9/JA;MA1GI,sBAgBG;IlB2lKP;IkBjgKA;MA1GI,sBAgBG;IlB8lKP;IkBpgKA;MA1GI,4BAgBG;IlBimKP;IkBvgKA;MA1GI,2BAgBG;IlBomKP;IkB1gKA;MA1GI,yBAgBG;IlBumKP;IkB7gKA;MA1GI,2BAgBG;IlB0mKP;IkBhhKA;MA1GI,yBAgBG;IlB6mKP;IkBnhKA;MA1GI,yBAgBG;IlBgnKP;IkBthKA;MA1GI,UAgBG;IlBmnKP;IkBzhKA;MA1GI,gBAgBG;IlBsnKP;IkB5hKA;MA1GI,eAgBG;IlBynKP;IkB/hKA;MA1GI,aAgBG;IlB4nKP;IkBliKA;MA1GI,eAgBG;IlB+nKP;IkBriKA;MA1GI,aAgBG;IlBkoKP;IkBxiKA;MA1GI,iBAgBG;IlBqoKP;IkB3iKA;MA1GI,uBAgBG;IlBwoKP;IkB9iKA;MA1GI,sBAgBG;IlB2oKP;IkBjjKA;MA1GI,oBAgBG;IlB8oKP;IkBpjKA;MA1GI,sBAgBG;IlBipKP;IkBvjKA;MA1GI,oBAgBG;IlBopKP;IkB1jKA;MA1GI,gBAgBG;IlBupKP;IkB7jKA;MA1GI,sBAgBG;IlB0pKP;IkBhkKA;MA1GI,qBAgBG;IlB6pKP;IkBnkKA;MA1GI,mBAgBG;IlBgqKP;IkBtkKA;MA1GI,qBAgBG;IlBmqKP;IkBzkKA;MA1GI,mBAgBG;IlBsqKP;IkB5kKA;MA1GI,sBAgBG;IlByqKP;IkB/kKA;MA1GI,4BAgBG;IlB4qKP;IkBllKA;MA1GI,2BAgBG;IlB+qKP;IkBrlKA;MA1GI,yBAgBG;IlBkrKP;IkBxlKA;MA1GI,2BAgBG;IlBqrKP;IkB3lKA;MA1GI,yBAgBG;IlBwrKP;IkB9lKA;MA1GI,qBAgBG;IlB2rKP;IkBjmKA;MA1GI,2BAgBG;IlB8rKP;IkBpmKA;MA1GI,0BAgBG;IlBisKP;IkBvmKA;MA1GI,wBAgBG;IlBosKP;IkB1mKA;MA1GI,0BAgBG;IlBusKP;IkB7mKA;MA1GI,wBAgBG;IlB0sKP;IkBhnKA;MA1GI,oBAgBG;IlB6sKP;IkBnnKA;MA1GI,0BAgBG;IlBgtKP;IkBtnKA;MA1GI,yBAgBG;IlBmtKP;IkBznKA;MA1GI,uBAgBG;IlBstKP;IkB5nKA;MA1GI,yBAgBG;IlBytKP;IkB/nKA;MA1GI,uBAgBG;IlB4tKP;IkBloKA;MA1GI,uBAgBG;IlB+tKP;IkBroKA;MA1GI,6BAgBG;IlBkuKP;IkBxoKA;MA1GI,4BAgBG;IlBquKP;IkB3oKA;MA1GI,0BAgBG;IlBwuKP;IkB9oKA;MA1GI,4BAgBG;IlB2uKP;IkBjpKA;MA1GI,0BAgBG;IlB8uKP;IkBppKA;MA1GI,MAgBG;IlBivKP;IkBvpKA;MA1GI,YAgBG;IlBovKP;IkB1pKA;MA1GI,WAgBG;IlBuvKP;IkB7pKA;MA1GI,SAgBG;IlB0vKP;IkBhqKA;MA1GI,WAgBG;IlB6vKP;IkBnqKA;MA1GI,SAgBG;IlBgwKP;IkBtqKA;MA1GI,UAgBG;IlBmwKP;IkBzqKA;MA1GI,gBAgBG;IlBswKP;IkB5qKA;MA1GI,eAgBG;IlBywKP;IkB/qKA;MA1GI,aAgBG;IlB4wKP;IkBlrKA;MA1GI,eAgBG;IlB+wKP;IkBrrKA;MA1GI,aAgBG;IlBkxKP;IkBxrKA;MA1GI,kBAgBG;MAhBH,aAgBG;IlBqxKP;IkB3rKA;MA1GI,wBAgBG;MAhBH,mBAgBG;IlBwxKP;IkB9rKA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlB2xKP;IkBjsKA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlB8xKP;IkBpsKA;MA1GI,uBAgBG;MAhBH,kBAgBG;IlBiyKP;IkBvsKA;MA1GI,qBAgBG;MAhBH,gBAgBG;IlBoyKP;IkB1sKA;MA1GI,iBAgBG;IlBuyKP;IkB7sKA;MA1GI,eAgBG;IlB0yKP;IkBhtKA;MA1GI,kBAgBG;IlB6yKP;EACF;AACF","file":"bootstrap-utilities.css","sourcesContent":["$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","/*!\n  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --body-font-family: var(--font-sans-serif);\n  --font-size-base: 14px;\n  --font-size-xs: 0.75rem;\n  --font-size-sm: 0.875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: 1.4285714286;\n  --line-height-2xl: 1.3333333333;\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  --body-font-size: 14px;\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --code-color: var(--secondary-text);\n  --highlight-color: var(--fg-body);\n  --highlight-bg: light-dark(var(--yellow-100), var(--yellow-900));\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-sm: 0.375rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --form-valid-color: var(--success);\n  --form-valid-border-color: var(--success);\n  --form-invalid-color: var(--danger);\n  --form-invalid-border-color: var(--danger);\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --root-font-size: 16px;\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--border-width);\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-success {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-info {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --columns: 3;\n  }\n  .grid-cols-4 {\n    --columns: 4;\n  }\n  .grid-cols-6 {\n    --columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-monospace);\n  }\n  .font-body {\n    font-family: var(--font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--font-size-xs);\n    line-height: var(--line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--font-size-sm);\n    line-height: var(--line-height-sm);\n  }\n  .text-md {\n    font-size: var(--font-size-md);\n    line-height: var(--line-height-md);\n  }\n  .text-lg {\n    font-size: var(--font-size-lg);\n    line-height: var(--line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--font-size-xl);\n    line-height: var(--line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--font-size-2xl);\n    line-height: var(--line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--font-size-3xl);\n    line-height: var(--line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--font-size-4xl);\n    line-height: var(--line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--font-size-5xl);\n    line-height: var(--line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--font-size-6xl);\n    line-height: var(--line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --columns: 3;\n    }\n    .grid-cols-md-4 {\n      --columns: 4;\n    }\n    .grid-cols-md-6 {\n      --columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines\n$root-tokens: (\n  --black: #{$black},\n  --white: #{$white},\n  // Fonts\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)},\n  --font-monospace: #{meta.inspect($font-family-monospace)},\n  --gradient: #{$gradient},\n  --body-font-family: #{meta.inspect($font-family-base)},\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base},\n  --font-size-xs: .75rem,\n  --font-size-sm: .875rem,\n  --font-size-md: 1rem,\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem),\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem),\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem),\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n\n  --line-height-xs: 1.5,\n  --line-height-sm: 1.5,\n  --line-height-md: 1.5,\n  --line-height-lg: 1.5,\n  --line-height-xl: calc(2.5 / 1.75),\n  --line-height-2xl: calc(3 / 2.25),\n  --line-height-3xl: 1.2,\n  --line-height-4xl: 1.1,\n  --line-height-5xl: 1.1,\n  --line-height-6xl: 1,\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base},\n  --body-font-weight: #{$font-weight-base},\n  --body-line-height: #{$line-height-base},\n\n  --heading-color: #{$headings-color},\n\n  --hr-border-color: var(--border-color),\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text)),\n  --link-decoration: #{$link-decoration},\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n  --code-color: #{$code-color},\n  --highlight-color: #{$mark-color},\n  --highlight-bg: #{$mark-bg},\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width},\n  --border-style: #{$border-style},\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius},\n  --border-radius-sm: #{$border-radius-sm},\n  --border-radius-lg: #{$border-radius-lg},\n  --border-radius-xl: #{$border-radius-xl},\n  --border-radius-2xl: #{$border-radius-2xl},\n  --border-radius-pill: #{$border-radius-pill},\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow},\n  --box-shadow-sm: #{$box-shadow-sm},\n  --box-shadow-lg: #{$box-shadow-lg},\n  --box-shadow-inset: #{$box-shadow-inset},\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px,\n  --focus-ring-offset: 1px,\n  --focus-ring-color: var(--primary-focus-ring),\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color},\n  --form-valid-border-color: #{$form-valid-border-color},\n  --form-invalid-color: #{$form-invalid-color},\n  --form-invalid-border-color: #{$form-invalid-border-color},\n  // scss-docs-end root-form-validation-variables\n) !default;\n// stylelint-enable @stylistic/value-list-max-empty-lines\n\n// Generate semantic theme colors\n@each $color-name, $color-map in $new-theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-tokens\n\n\n:root {\n  // scss-docs-start root-theme-variables\n  @each $prop, $value in $root-tokens {\n    #{$prop}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // // Fonts\n\n  // // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  // --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  // --font-monospace: #{meta.inspect($font-family-monospace)};\n  // --gradient: #{$gradient};\n  // --body-font-family: #{meta.inspect($font-family-base)};\n\n  // // scss-docs-start root-font-size-variables\n  // --font-size-base: #{$font-size-base}; // 14px\n\n  // --font-size-xs: .75rem;\n  // --font-size-sm: .875rem;\n  // --font-size-md: 1rem;\n  // --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  // --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  // --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  // --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  // --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  // --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  // --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  // --line-height-xs: 1.5;\n  // --line-height-sm: 1.5;\n  // --line-height-md: 1.5;\n  // --line-height-lg: 1.5;\n  // --line-height-xl: calc(2.5 / 1.75);\n  // --line-height-2xl: calc(3 / 2.25);\n  // --line-height-3xl: 1.2;\n  // --line-height-4xl: 1.1;\n  // --line-height-5xl: 1.1;\n  // --line-height-6xl: 1;\n  // // scss-docs-end root-font-size-variables\n\n  // --body-font-size: #{$font-size-base};\n  // --body-font-weight: #{$font-weight-base};\n  // --body-line-height: #{$line-height-base};\n\n  // --heading-color: #{$headings-color};\n\n  // --hr-border-color: var(--border-color);\n\n  // --link-color: light-dark(var(--primary-base), var(--primary-text));\n  // --link-decoration: #{$link-decoration};\n  // --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  // --code-color: #{$code-color};\n  // --highlight-color: #{$mark-color};\n  // --highlight-bg: #{$mark-bg};\n\n  // // scss-docs-start root-border-var\n  // --border-width: #{$border-width};\n  // --border-style: #{$border-style};\n  // --border-color: #{$border-color};\n  // --border-color-translucent: #{$border-color-translucent};\n  // // scss-docs-end root-border-var\n\n  // // scss-docs-start root-border-radius-var\n  // --border-radius: #{$border-radius};\n  // --border-radius-sm: #{$border-radius-sm};\n  // --border-radius-lg: #{$border-radius-lg};\n  // --border-radius-xl: #{$border-radius-xl};\n  // --border-radius-2xl: #{$border-radius-2xl};\n  // --border-radius-pill: #{$border-radius-pill};\n  // // scss-docs-end root-border-radius-var\n\n  // --box-shadow: #{$box-shadow};\n  // --box-shadow-sm: #{$box-shadow-sm};\n  // --box-shadow-lg: #{$box-shadow-lg};\n  // --box-shadow-inset: #{$box-shadow-inset};\n\n  // // Focus styles\n  // // scss-docs-start root-focus-variables\n  // --focus-ring-width: 3px;\n  // --focus-ring-offset: 1px;\n  // --focus-ring-color: var(--primary-focus-ring);\n  // --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // // scss-docs-end root-focus-variables\n\n  // // scss-docs-start root-form-validation-variables\n  // --form-valid-color: #{$form-valid-color};\n  // --form-valid-border-color: #{$form-valid-border-color};\n  // --form-invalid-color: #{$form-invalid-color};\n  // --form-invalid-border-color: #{$form-invalid-border-color};\n  // color-scheme: light;\n  // // scss-docs-end root-form-validation-variables\n\n  // Root and body\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n}\n\n// @if $enable-dark-mode {\n//   @include color-mode(dark, true) {\n\n//     // scss-docs-start root-dark-mode-vars\n//     --heading-color: #{$headings-color-dark};\n\n//     --border-color: #{$border-color-dark};\n\n//     --form-valid-color: #{$form-valid-color-dark};\n//     --form-valid-border-color: #{$form-valid-border-color-dark};\n//     --form-invalid-color: #{$form-invalid-color-dark};\n//     --form-invalid-border-color: #{$form-invalid-border-color-dark};\n//     color-scheme: dark;\n//     // scss-docs-end root-dark-mode-vars\n//   }\n// }\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--gray-100) !default;\n// $dark:          var(--gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\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\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// :                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n$border-color-translucent:    color-mix(in oklch, var(--fg-body) 15%, transparent) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--primary-contrast) !default;\n$component-active-bg:         var(--primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, 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// stylelint-enable value-keyword-case\n$font-family-base:            var(--font-sans-serif) !default;\n$font-family-code:            var(--font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--font-size-3xl) !default;\n$h2-font-size: var(--font-size-2xl) !default;\n$h3-font-size: var(--font-size-xl) !default;\n$h4-font-size: var(--font-size-lg) !default;\n$h5-font-size: var(--font-size-md) !default;\n$h6-font-size: var(--font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--font-size-xs),\n    \"line-height\": var(--line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--font-size-sm),\n    \"line-height\": var(--line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--font-size-md),\n    \"line-height\": var(--line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--font-size-lg),\n    \"line-height\": var(--line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--font-size-xl),\n    \"line-height\": var(--line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--font-size-2xl),\n    \"line-height\": var(--line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--font-size-3xl),\n    \"line-height\": var(--line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--font-size-4xl),\n    \"line-height\": var(--line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--font-size-5xl),\n    \"line-height\": var(--line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--font-size-6xl),\n    \"line-height\": var(--line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  var(--fg-body) !default;\n$mark-bg:                     light-dark(var(--yellow-100), var(--yellow-900)) !default;\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--border-color-translucent) !default;\n$offcanvas-border-width:            var(--border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--bg-body) !default;\n$offcanvas-color:                   var(--fg-body) !default;\n$offcanvas-box-shadow:              var(--box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--bg-body) !default;\n$kbd-bg:                            var(--fg-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--gray-200) !default;\n// $body-bg-dark:                      var(--gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;\n$border-color-dark:                 var(--gray-700) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--green-300) !default;\n$form-valid-border-color-dark:      var(--green-300) !default;\n$form-invalid-color-dark:           var(--red-300) !default;\n$form-invalid-border-color-dark:    var(--red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.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 list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (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  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (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($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 06765c7772238ff67e30e20f23710c4a1638af1f..e8e29506185f693b165f25680ee082d1fd283db4 100644 (file)
@@ -1,7 +1,7 @@
 @charset "UTF-8";
 /*!
   * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)
-  * Copyright 2011-2025 The Bootstrap Authors
+  * Copyright 2011-2026 The Bootstrap Authors
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
 :root {
   --bs-pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));
 }
 
-.theme-primary {
-  --bs-theme-base: var(--bs-primary-base);
-  --bs-theme-text: var(--bs-primary-text);
-  --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);
-  --bs-theme-bg: var(--bs-primary-bg);
-  --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-primary-bg-muted);
-  --bs-theme-border: var(--bs-primary-border);
-  --bs-theme-focus-ring: var(--bs-primary-focus-ring);
-  --bs-theme-contrast: var(--bs-primary-contrast);
-}
-
-.theme-accent {
-  --bs-theme-base: var(--bs-accent-base);
-  --bs-theme-text: var(--bs-accent-text);
-  --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);
-  --bs-theme-bg: var(--bs-accent-bg);
-  --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-accent-bg-muted);
-  --bs-theme-border: var(--bs-accent-border);
-  --bs-theme-focus-ring: var(--bs-accent-focus-ring);
-  --bs-theme-contrast: var(--bs-accent-contrast);
-}
-
-.theme-success {
-  --bs-theme-base: var(--bs-success-base);
-  --bs-theme-text: var(--bs-success-text);
-  --bs-theme-text-emphasis: var(--bs-success-text-emphasis);
-  --bs-theme-bg: var(--bs-success-bg);
-  --bs-theme-bg-subtle: var(--bs-success-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-success-bg-muted);
-  --bs-theme-border: var(--bs-success-border);
-  --bs-theme-focus-ring: var(--bs-success-focus-ring);
-  --bs-theme-contrast: var(--bs-success-contrast);
-}
-
-.theme-danger {
-  --bs-theme-base: var(--bs-danger-base);
-  --bs-theme-text: var(--bs-danger-text);
-  --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);
-  --bs-theme-bg: var(--bs-danger-bg);
-  --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-danger-bg-muted);
-  --bs-theme-border: var(--bs-danger-border);
-  --bs-theme-focus-ring: var(--bs-danger-focus-ring);
-  --bs-theme-contrast: var(--bs-danger-contrast);
-}
-
-.theme-warning {
-  --bs-theme-base: var(--bs-warning-base);
-  --bs-theme-text: var(--bs-warning-text);
-  --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);
-  --bs-theme-bg: var(--bs-warning-bg);
-  --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-warning-bg-muted);
-  --bs-theme-border: var(--bs-warning-border);
-  --bs-theme-focus-ring: var(--bs-warning-focus-ring);
-  --bs-theme-contrast: var(--bs-warning-contrast);
-}
-
-.theme-info {
-  --bs-theme-base: var(--bs-info-base);
-  --bs-theme-text: var(--bs-info-text);
-  --bs-theme-text-emphasis: var(--bs-info-text-emphasis);
-  --bs-theme-bg: var(--bs-info-bg);
-  --bs-theme-bg-subtle: var(--bs-info-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-info-bg-muted);
-  --bs-theme-border: var(--bs-info-border);
-  --bs-theme-focus-ring: var(--bs-info-focus-ring);
-  --bs-theme-contrast: var(--bs-info-contrast);
-}
-
-.theme-inverse {
-  --bs-theme-base: var(--bs-inverse-base);
-  --bs-theme-text: var(--bs-inverse-text);
-  --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);
-  --bs-theme-bg: var(--bs-inverse-bg);
-  --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-inverse-bg-muted);
-  --bs-theme-border: var(--bs-inverse-border);
-  --bs-theme-focus-ring: var(--bs-inverse-focus-ring);
-  --bs-theme-contrast: var(--bs-inverse-contrast);
-}
-
-.theme-secondary {
-  --bs-theme-base: var(--bs-secondary-base);
-  --bs-theme-text: var(--bs-secondary-text);
-  --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);
-  --bs-theme-bg: var(--bs-secondary-bg);
-  --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);
-  --bs-theme-bg-muted: var(--bs-secondary-bg-muted);
-  --bs-theme-border: var(--bs-secondary-border);
-  --bs-theme-focus-ring: var(--bs-secondary-focus-ring);
-  --bs-theme-contrast: var(--bs-secondary-contrast);
-}
-
 @layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;
 :root {
   --bs-black: #000;
   --bs-white: #fff;
+  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
+  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
+  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
+  --bs-body-font-family: var(--bs-font-sans-serif);
+  --bs-font-size-base: 14px;
+  --bs-font-size-xs: 0.75rem;
+  --bs-font-size-sm: 0.875rem;
+  --bs-font-size-md: 1rem;
+  --bs-font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);
+  --bs-font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);
+  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);
+  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);
+  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);
+  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);
+  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);
+  --bs-line-height-xs: 1.5;
+  --bs-line-height-sm: 1.5;
+  --bs-line-height-md: 1.5;
+  --bs-line-height-lg: 1.5;
+  --bs-line-height-xl: 1.4285714286;
+  --bs-line-height-2xl: 1.3333333333;
+  --bs-line-height-3xl: 1.2;
+  --bs-line-height-4xl: 1.1;
+  --bs-line-height-5xl: 1.1;
+  --bs-line-height-6xl: 1;
+  --bs-body-font-size: 14px;
+  --bs-body-font-weight: 400;
+  --bs-body-line-height: 1.5;
+  --bs-heading-color: inherit;
+  --bs-hr-border-color: var(--bs-border-color);
+  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
+  --bs-link-decoration: underline;
+  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
+  --bs-code-color: var(--bs-secondary-text);
+  --bs-highlight-color: var(--bs-fg-body);
+  --bs-highlight-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));
+  --bs-border-width: 1px;
+  --bs-border-style: solid;
+  --bs-border-color: light-dark(color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200)), var(--bs-gray-700));
+  --bs-border-color-translucent: color-mix(in oklch, var(--bs-fg-body) 15%, transparent);
+  --bs-border-radius: 0.5rem;
+  --bs-border-radius-sm: 0.375rem;
+  --bs-border-radius-lg: 0.75rem;
+  --bs-border-radius-xl: 1rem;
+  --bs-border-radius-2xl: 2rem;
+  --bs-border-radius-pill: 50rem;
+  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
+  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
+  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
+  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
+  --bs-focus-ring-width: 3px;
+  --bs-focus-ring-offset: 1px;
+  --bs-focus-ring-color: var(--bs-primary-focus-ring);
+  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);
+  --bs-form-valid-color: var(--bs-success);
+  --bs-form-valid-border-color: var(--bs-success);
+  --bs-form-invalid-color: var(--bs-danger);
+  --bs-form-invalid-border-color: var(--bs-danger);
   --bs-primary-base: var(--bs-blue-500);
   --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-400));
   --bs-primary-text-emphasis: light-dark(var(--bs-blue-800), var(--bs-blue-200));
 
 :root,
 [data-bs-theme=light] {
-  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
-  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
-  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));
-  --bs-body-font-family: var(--bs-font-sans-serif);
-  --bs-font-size-base: 14px;
-  --bs-font-size-xs: .75rem;
-  --bs-font-size-sm: .875rem;
-  --bs-font-size-md: 1rem;
-  --bs-font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);
-  --bs-font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);
-  --bs-font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);
-  --bs-font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);
-  --bs-font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);
-  --bs-font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);
-  --bs-font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);
-  --bs-line-height-xs: 1.5;
-  --bs-line-height-sm: 1.5;
-  --bs-line-height-md: 1.5;
-  --bs-line-height-lg: 1.5;
-  --bs-line-height-xl: calc(2.5 / 1.75);
-  --bs-line-height-2xl: calc(3 / 2.25);
-  --bs-line-height-3xl: 1.2;
-  --bs-line-height-4xl: 1.1;
-  --bs-line-height-5xl: 1.1;
-  --bs-line-height-6xl: 1;
-  --bs-body-font-size: 14px;
-  --bs-body-font-weight: 400;
-  --bs-body-line-height: 1.5;
-  --bs-heading-color: inherit;
-  --bs-hr-border-color: var(--bs-border-color);
-  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
-  --bs-link-decoration: underline;
-  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
-  --bs-code-color: var(--bs-secondary-text);
-  --bs-highlight-color: var(--bs-fg-body);
-  --bs-highlight-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));
-  --bs-border-width: 1px;
-  --bs-border-style: solid;
-  --bs-border-color: color-mix(in oklch, var(--bs-gray-100), var(--bs-gray-200));
-  --bs-border-color-translucent: color-mix(in oklch, var(--bs-fg-body) 15%, transparent);
-  --bs-border-radius: 0.5rem;
-  --bs-border-radius-sm: 0.375rem;
-  --bs-border-radius-lg: 0.75rem;
-  --bs-border-radius-xl: 1rem;
-  --bs-border-radius-2xl: 2rem;
-  --bs-border-radius-pill: 50rem;
-  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
-  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
-  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
-  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);
-  --bs-focus-ring-width: 3px;
-  --bs-focus-ring-offset: 1px;
-  --bs-focus-ring-color: var(--bs-primary-focus-ring);
-  --bs-focus-ring: var(--bs-focus-ring-width) solid var(--bs-focus-ring-color);
-  --bs-form-valid-color: var(--bs-success);
-  --bs-form-valid-border-color: var(--bs-success);
-  --bs-form-invalid-color: var(--bs-danger);
-  --bs-form-invalid-border-color: var(--bs-danger);
-  color-scheme: light;
   --bs-root-font-size: 16px;
 }
 
-[data-bs-theme=dark] {
-  --bs-heading-color: inherit;
-  --bs-border-color: var(--bs-gray-700);
-  --bs-form-valid-color: var(--bs-green-300);
-  --bs-form-valid-border-color: var(--bs-green-300);
-  --bs-form-invalid-color: var(--bs-red-300);
-  --bs-form-invalid-border-color: var(--bs-red-300);
-  color-scheme: dark;
-}
-
 @layer reboot {
   *,
   *::before,
     z-index: 5;
     display: none;
     max-width: 100%;
-    padding: 0.375rem 0.75rem;
+    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
     margin-top: 0.1rem;
-    font-size: var(--bs-font-size-sm);
+    font-size: var(--bs-tooltip-font-size);
     color: #fff;
     background-color: var(--bs-success);
-    border-radius: var(--bs-border-radius);
+    border-radius: var(--bs-tooltip-border-radius);
   }
   .was-validated :valid ~ .valid-feedback,
   .was-validated :valid ~ .valid-tooltip,
     z-index: 5;
     display: none;
     max-width: 100%;
-    padding: 0.375rem 0.75rem;
+    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
     margin-top: 0.1rem;
-    font-size: var(--bs-font-size-sm);
+    font-size: var(--bs-tooltip-font-size);
     color: #fff;
     background-color: var(--bs-danger);
-    border-radius: var(--bs-border-radius);
+    border-radius: var(--bs-tooltip-border-radius);
   }
   .was-validated :invalid ~ .invalid-feedback,
   .was-validated :invalid ~ .invalid-tooltip,
 }
 @layer components {
   .accordion {
+    --bs-accordion-padding-x: 1.25rem;
+    --bs-accordion-padding-y: 1rem;
     --bs-accordion-color: var(--bs-fg-body);
     --bs-accordion-bg: var(--bs-bg-body);
-    --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-radius 0.15s ease;
+    --bs-accordion-transition-property: color, background-color, border-radius;
+    --bs-accordion-transition-timing: .15s ease-in-out;
+    --bs-accordion-transition: var(--bs-accordion-transition-property) var(--bs-accordion-timing);
     --bs-accordion-border-color: var(--bs-border-color);
     --bs-accordion-border-width: var(--bs-border-width);
     --bs-accordion-border-radius: var(--bs-accordion-radius, var(--bs-border-radius-lg));
-    --bs-accordion-btn-padding-x: 1.25rem;
-    --bs-accordion-btn-padding-y: 1rem;
     --bs-accordion-btn-color: var(--bs-fg-2);
-    --bs-accordion-btn-bg: var(--bs-accordion-bg);
+    --bs-accordion-btn-bg: var(--bs-bg-body);
     --bs-accordion-btn-icon-width: 1rem;
     --bs-accordion-btn-icon-transform: rotate(-180deg);
     --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
-    --bs-accordion-body-padding-x: 1.25rem;
-    --bs-accordion-body-padding-y: 1rem;
     --bs-accordion-active-color: var(--bs-fg);
     --bs-accordion-active-bg: var(--bs-bg-2);
   }
     display: flex;
     align-items: center;
     width: 100%;
-    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
-    font-size: 14px;
+    padding: var(--bs-accordion-btn-padding-y, var(--bs-accordion-padding-y)) var(--bs-accordion-btn-padding-x, var(--bs-accordion-padding-x));
+    font-size: var(--bs-accordion-font-size, var(--bs-font-size-base));
     color: var(--bs-accordion-btn-color);
     text-align: start;
     list-style: none;
     border-end-end-radius: 0;
   }
   .accordion-body {
-    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
+    padding: var(--bs-accordion-body-padding-y, var(--bs-accordion-padding-y)) var(--bs-accordion-body-padding-x, var(--bs-accordion-padding-x));
   }
   .accordion-flush > .accordion-item {
     border-inline: 0;
     color: inherit;
   }
   .alert-link {
-    font-weight: 600;
+    font-weight: var(--bs-font-weight-semibold);
     color: var(--bs-alert-link-color);
   }
 }
 @layer components {
   .avatar {
+    --bs-avatar-size: 2.5rem;
     --bs-avatar-border-radius: 50%;
     --bs-avatar-border-width: 2px;
     --bs-avatar-border-color: var(--bs-bg-body);
     --bs-avatar-status-size: 0.75rem;
     --bs-avatar-status-border-width: 2px;
     --bs-avatar-status-border-color: var(--bs-bg-body);
+    --bs-avatar-stack-spacing: -0.3;
+    --bs-avatar-stack-transition: transform .2s ease-in-out;
     position: relative;
     display: inline-flex;
     align-items: center;
     justify-content: center;
-    width: var(--bs-avatar-size, 2.5rem);
-    height: var(--bs-avatar-size, 2.5rem);
+    width: var(--bs-avatar-size);
+    height: var(--bs-avatar-size);
     font-size: calc(var(--bs-avatar-size) * 0.4);
     font-weight: 500;
     line-height: 1;
     flex-direction: row-reverse;
   }
   .avatar-stack .avatar {
-    margin-left: calc(var(--bs-avatar-size, 2.5rem) * -0.3);
+    margin-left: calc(var(--bs-avatar-size) * var(--bs-avatar-stack-spacing));
     border: var(--bs-avatar-border-width) solid var(--bs-avatar-border-color);
     -webkit-mask-image: none;
     mask-image: none;
+    transition: var(--bs-avatar-stack-transition);
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .avatar-stack .avatar {
+      transition: none;
+    }
   }
   .avatar-stack .avatar:last-child {
     margin-left: 0;
   .avatar-xs,
   .avatar-stack-xs {
     --bs-avatar-size: 1.5rem;
-    --bs-avatar-status-size: .625rem;
+    --bs-avatar-status-size: 0.625rem;
   }
   .avatar-sm,
   .avatar-stack-sm {
     --bs-badge-padding-x: 0.625em;
     --bs-badge-padding-y: 0.25em;
     --bs-badge-font-size: clamp(12px, 0.75em, 0.75em);
-    --bs-badge-font-weight: 600;
+    --bs-badge-font-weight: var(--bs-font-weight-semibold);
     --bs-badge-color: inherit;
     --bs-badge-bg: var(--bs-bg-2);
-    --bs-badge-border-width: 1px;
+    --bs-badge-border-width: var(--bs-border-width);
     --bs-badge-border-color: transparent;
     --bs-badge-border-radius: var(--bs-border-radius-lg);
     display: inline-flex;
 }
 @layer components {
   .breadcrumb {
-    --bs-breadcrumb-padding-x: 0;
-    --bs-breadcrumb-padding-y: 0;
     --bs-breadcrumb-margin-bottom: 1rem;
-    --bs-breadcrumb-font-size: ;
-    --bs-breadcrumb-bg: ;
+    --bs-breadcrumb-font-size: inherit;
+    --bs-breadcrumb-bg: transparent;
     --bs-breadcrumb-border-radius: var(--bs-border-radius);
     --bs-breadcrumb-divider-color: var(--bs-fg-4);
     --bs-breadcrumb-link-padding-x: 0.75rem;
     display: flex;
     flex-wrap: wrap;
     align-items: center;
-    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
+    padding: var(--bs-breadcrumb-padding-y, 0) var(--bs-breadcrumb-padding-x, 0);
     font-size: var(--bs-breadcrumb-font-size);
     list-style: none;
     background-color: var(--bs-breadcrumb-bg);
   .card {
     --bs-card-spacer-y: 1rem;
     --bs-card-spacer-x: 1rem;
-    --bs-card-subtitle-color: ;
+    --bs-card-subtitle-color: inherit;
     --bs-card-border-width: var(--bs-border-width);
     --bs-card-border-color: var(--bs-border-color-translucent);
     --bs-card-border-radius: var(--bs-border-radius-lg);
-    --bs-card-box-shadow: ;
+    --bs-card-box-shadow: none;
     --bs-card-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
     --bs-card-cap-padding-y: 0.75rem;
     --bs-card-cap-padding-x: 1rem;
     --bs-card-cap-bg: var(--bs-bg-1);
-    --bs-card-cap-color: ;
-    --bs-card-height: ;
-    --bs-card-color: ;
+    --bs-card-cap-color: inherit;
+    --bs-card-height: auto;
+    --bs-card-color: inherit;
     --bs-card-bg: var(--bs-bg-body);
     --bs-card-img-overlay-padding: 1rem;
     --bs-card-group-margin: 0.75rem;
 @layer components {
   .carousel {
     position: relative;
+    --bs-carousel-control-color: #fff;
+    --bs-carousel-control-width: 15%;
+    --bs-carousel-control-opacity: 0.5;
+    --bs-carousel-control-hover-opacity: 0.9;
+    --bs-carousel-control-transition: opacity 0.15s ease;
+    --bs-carousel-control-icon-filter: none;
+    --bs-carousel-indicator-width: 30px;
+    --bs-carousel-indicator-height: 3px;
+    --bs-carousel-indicator-hit-area-height: 10px;
+    --bs-carousel-indicator-spacer: 3px;
+    --bs-carousel-indicator-opacity: 0.5;
+    --bs-carousel-indicator-active-bg: var(--bs-white);
+    --bs-carousel-indicator-active-opacity: 1;
+    --bs-carousel-indicator-transition: opacity 0.6s ease;
+    --bs-carousel-caption-width: 70%;
+    --bs-carousel-caption-color: var(--bs-white);
+    --bs-carousel-caption-padding-y: 1.25rem;
+    --bs-carousel-caption-spacer: 1.25rem;
+    --bs-carousel-control-icon-width: 2rem;
+    --bs-carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>");
+    --bs-carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>");
+    --bs-carousel-transition-duration: 0.6s;
+    --bs-carousel-transition: transform 0.6s ease-in-out;
   }
   .carousel.pointer-event {
     touch-action: pan-y;
     width: 100%;
     margin-inline-end: -100%;
     backface-visibility: hidden;
-    transition: transform 0.6s ease-in-out;
+    transition: var(--bs-carousel-transition);
   }
   @media (prefers-reduced-motion: reduce) {
     .carousel-item {
   .carousel-fade .active.carousel-item-end {
     z-index: 0;
     opacity: 0;
-    transition: opacity 0s 0.6s;
+    transition: opacity 0s var(--bs-carousel-transition-duration);
   }
   @media (prefers-reduced-motion: reduce) {
     .carousel-fade .active.carousel-item-start,
     display: flex;
     align-items: center;
     justify-content: center;
-    width: 15%;
+    width: var(--bs-carousel-control-width);
     padding: 0;
-    color: #fff;
+    color: var(--bs-carousel-control-color);
     text-align: center;
     background: none;
     filter: var(--bs-carousel-control-icon-filter);
     border: 0;
-    opacity: 0.5;
-    transition: opacity 0.15s ease;
+    opacity: var(--bs-carousel-control-opacity);
+    transition: var(--bs-carousel-control-transition);
   }
   @media (prefers-reduced-motion: reduce) {
     .carousel-control-prev,
   .carousel-control-prev:hover, .carousel-control-prev:focus,
   .carousel-control-next:hover,
   .carousel-control-next:focus {
-    color: #fff;
+    color: var(--bs-carousel-control-color);
     text-decoration: none;
     outline: 0;
-    opacity: 0.9;
+    opacity: var(--bs-carousel-control-hover-opacity);
   }
   .carousel-control-prev {
     inset-inline-start: 0;
   .carousel-control-prev-icon,
   .carousel-control-next-icon {
     display: inline-block;
-    width: 2rem;
-    height: 2rem;
+    width: var(--bs-carousel-control-icon-width);
+    height: var(--bs-carousel-control-icon-width);
     background-repeat: no-repeat;
     background-position: 50%;
     background-size: 100% 100%;
   }
   .carousel-control-prev-icon {
-    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"));
+    background-image: var(--bs-carousel-control-prev-icon-bg);
   }
   [dir=rtl] .carousel-control-prev-icon {
-    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"));
+    background-image: var(--bs-carousel-control-next-icon-bg);
   }
   .carousel-control-next-icon {
-    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"));
+    background-image: var(--bs-carousel-control-next-icon-bg);
   }
   [dir=rtl] .carousel-control-next-icon {
-    background-image: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"));
+    background-image: var(--bs-carousel-control-prev-icon-bg);
   }
   .carousel-indicators {
     position: absolute;
     display: flex;
     justify-content: center;
     padding: 0;
-    margin-inline: 15%;
+    margin-inline: var(--bs-carousel-control-width);
     margin-bottom: 1rem;
   }
   .carousel-indicators [data-bs-target] {
     box-sizing: content-box;
     flex: 0 1 auto;
-    width: 30px;
-    height: 3px;
+    width: var(--bs-carousel-indicator-width);
+    height: var(--bs-carousel-indicator-height);
     padding: 0;
-    margin-inline: 3px;
+    margin-inline: var(--bs-carousel-indicator-spacer);
     text-indent: -999px;
     cursor: pointer;
     background-color: var(--bs-carousel-indicator-active-bg);
     background-clip: padding-box;
     border: 0;
-    border-block: 10px solid transparent;
-    opacity: 0.5;
-    transition: opacity 0.6s ease;
+    border-block: var(--bs-carousel-indicator-hit-area-height) solid transparent;
+    opacity: var(--bs-carousel-indicator-opacity);
+    transition: var(--bs-carousel-indicator-transition);
   }
   @media (prefers-reduced-motion: reduce) {
     .carousel-indicators [data-bs-target] {
     }
   }
   .carousel-indicators .active {
-    opacity: 1;
+    opacity: var(--bs-carousel-indicator-active-opacity);
   }
   .carousel-caption {
     position: absolute;
-    right: 15%;
-    bottom: 1.25rem;
-    left: 15%;
-    padding-top: 1.25rem;
-    padding-bottom: 1.25rem;
+    right: calc((100% - var(--bs-carousel-caption-width)) * 0.5);
+    bottom: var(--bs-carousel-caption-spacer);
+    left: calc((100% - var(--bs-carousel-caption-width)) * 0.5);
+    padding-top: var(--bs-carousel-caption-padding-y);
+    padding-bottom: var(--bs-carousel-caption-padding-y);
     color: var(--bs-carousel-caption-color);
     text-align: center;
   }
     --bs-carousel-caption-color: #000;
     --bs-carousel-control-icon-filter: invert(1) grayscale(100);
   }
-  :root,
-  [data-bs-theme=light] {
-    --bs-carousel-indicator-active-bg: #fff;
-    --bs-carousel-caption-color: #fff;
-    --bs-carousel-control-icon-filter: ;
-  }
   [data-bs-theme=dark] {
     --bs-carousel-indicator-active-bg: #000;
     --bs-carousel-caption-color: #000;
     cursor: pointer;
   }
   [data-vc=dates] {
+    pointer-events: none;
+  }
+  [data-vc-dates=row] {
     display: grid;
-    flex-grow: 1;
     grid-template-columns: repeat(7, 1fr);
     align-items: center;
     justify-items: center;
-    pointer-events: none;
+    width: 100%;
   }
   [data-vc-date] {
     position: relative;
     --bs-dropdown-border-color: var(--bs-border-color-translucent);
     --bs-dropdown-border-radius: var(--bs-border-radius-lg);
     --bs-dropdown-border-width: var(--bs-border-width);
-    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
+    --bs-dropdown-inner-border-radius: calc(var(--bs-dropdown-border-radius) - var(--bs-dropdown-border-width));
+    --bs-dropdown-box-shadow: var(--bs-box-shadow);
     --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
     --bs-dropdown-divider-margin-y: 0.125rem;
     --bs-dropdown-divider-margin-x: 0.25rem;
-    --bs-dropdown-box-shadow: var(--bs-box-shadow);
     --bs-dropdown-link-color: var(--bs-fg-body);
     --bs-dropdown-link-hover-color: var(--bs-fg-body);
     --bs-dropdown-link-hover-bg: var(--bs-bg-1);
     --bs-dropdown-item-padding-x: 0.75rem;
     --bs-dropdown-item-padding-y: 0.25rem;
     --bs-dropdown-item-border-radius: var(--bs-border-radius);
-    --bs-dropdown-header-color: var(--bs-gray-600);
+    --bs-dropdown-header-color: var(--bs-fg-2);
     --bs-dropdown-header-padding-x: 0.75rem;
     --bs-dropdown-header-padding-y: 0.25rem;
     position: absolute;
     padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
     color: var(--bs-fg-2);
   }
-  .dropdown-menu-dark {
-    --bs-dropdown-color: var(--bs-gray-300);
-    --bs-dropdown-bg: var(--bs-gray-900);
-    --bs-dropdown-border-color: var(--bs-border-color-translucent);
-    --bs-dropdown-box-shadow: ;
-    --bs-dropdown-link-color: var(--bs-gray-300);
-    --bs-dropdown-link-hover-color: #fff;
-    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
-    --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);
-    --bs-dropdown-link-active-color: var(--bs-primary-contrast);
-    --bs-dropdown-link-active-bg: var(--bs-primary-bg);
-    --bs-dropdown-link-disabled-color: var(--bs-gray-500);
-    --bs-dropdown-header-color: var(--bs-gray-500);
-  }
   .dropdown-submenu {
     position: relative;
   }
     --bs-list-group-border-radius: var(--bs-border-radius);
     --bs-list-group-item-padding-x: 1rem;
     --bs-list-group-item-padding-y: 0.5rem;
-    --bs-list-group-action-color: var(--bs-secondary-color);
-    --bs-list-group-action-hover-color: var(--bs-fg-color);
-    --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
+    --bs-list-group-action-color: var(--bs-fg-2);
+    --bs-list-group-action-hover-color: var(--bs-fg-1);
+    --bs-list-group-action-hover-bg: var(--bs-bg-1);
     --bs-list-group-action-active-color: var(--bs-fg-body);
-    --bs-list-group-action-active-bg: var(--bs-secondary-bg);
-    --bs-list-group-disabled-color: var(--bs-secondary-color);
+    --bs-list-group-action-active-bg: var(--bs-bg-2);
+    --bs-list-group-disabled-color: var(--bs-fg-3);
     --bs-list-group-disabled-bg: var(--bs-bg-body);
     --bs-list-group-active-color: var(--bs-primary-contrast);
     --bs-list-group-active-bg: var(--bs-primary-bg);
     width: 100%;
     color: var(--bs-theme-text, var(--bs-list-group-action-color));
     text-align: inherit;
+    text-decoration: none;
   }
   .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
     z-index: 1;
   .pagination {
     --bs-pagination-padding-x: 0.75rem;
     --bs-pagination-padding-y: 0.375rem;
-    --bs-pagination-font-size: 14px;
+    --bs-pagination-font-size: var(--bs-font-size-base);
     --bs-pagination-color: var(--bs-link-color);
     --bs-pagination-bg: var(--bs-bg-body);
     --bs-pagination-border-width: var(--bs-border-width);
     --bs-pagination-border-color: var(--bs-border-color);
     --bs-pagination-border-radius: var(--bs-border-radius);
     --bs-pagination-hover-color: var(--bs-link-hover-color);
-    --bs-pagination-hover-bg: var(--bs-tertiary-bg);
+    --bs-pagination-hover-bg: var(--bs-bg-1);
     --bs-pagination-hover-border-color: var(--bs-border-color);
     --bs-pagination-focus-color: var(--bs-link-hover-color);
-    --bs-pagination-focus-bg: var(--bs-secondary-bg);
+    --bs-pagination-focus-bg: var(--bs-bg-2);
     --bs-pagination-active-color: var(--bs-primary-contrast);
     --bs-pagination-active-bg: var(--bs-primary-bg);
     --bs-pagination-active-border-color: var(--bs-primary-bg);
-    --bs-pagination-disabled-color: var(--bs-secondary-color);
-    --bs-pagination-disabled-bg: var(--bs-secondary-bg);
+    --bs-pagination-disabled-color: var(--bs-fg-3);
+    --bs-pagination-disabled-bg: var(--bs-bg-2);
     --bs-pagination-disabled-border-color: var(--bs-border-color);
     display: flex;
     padding-inline-start: 0;
     border-color: var(--bs-pagination-disabled-border-color);
   }
   .page-item:not(:first-child) .page-link {
-    margin-inline-start: calc(-1 * var(--bs-border-width));
+    margin-inline-start: calc(-1 * var(--bs-pagination-border-width));
   }
   .page-item:first-child .page-link {
     border-start-start-radius: var(--bs-pagination-border-radius);
 }
 @layer components {
   .placeholder {
+    --bs-placeholder-opacity-max: 0.5;
+    --bs-placeholder-opacity-min: 0.2;
     display: inline-block;
     min-height: 1em;
     vertical-align: middle;
     cursor: wait;
     background-color: currentcolor;
-    opacity: 0.5;
+    opacity: var(--bs-placeholder-opacity-max);
   }
   .placeholder.btn::before {
     display: inline-block;
   }
   @keyframes placeholder-glow {
     50% {
-      opacity: 0.2;
+      opacity: var(--bs-placeholder-opacity-min);
     }
   }
   .placeholder-wave {
-    -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
-    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+    -webkit-mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);
+    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--bs-placeholder-opacity-min))) 75%, #000 95%);
     -webkit-mask-size: 200% 100%;
     mask-size: 200% 100%;
     animation: placeholder-wave 2s linear infinite;
   .progress,
   .progress-stacked {
     --bs-progress-height: 1rem;
-    --bs-progress-font-size: 10.5px;
-    --bs-progress-bg: var(--bs-secondary-bg);
+    --bs-progress-font-size: var(--bs-font-size-sm);
+    --bs-progress-bg: var(--bs-bg-2);
     --bs-progress-border-radius: var(--bs-border-radius);
     --bs-progress-box-shadow: var(--bs-box-shadow-inset);
-    --bs-progress-bar-color: #fff;
+    --bs-progress-bar-color: var(--bs-white);
     --bs-progress-bar-bg: var(--bs-primary-bg);
     --bs-progress-bar-transition: width 0.6s ease;
+    --bs-progress-bar-animation: progress-bar-stripes 1s linear infinite;
     display: flex;
     height: var(--bs-progress-height);
     overflow: hidden;
     width: 100%;
   }
   .progress-bar-animated {
-    animation: 1s linear infinite progress-bar-stripes;
+    animation: var(--bs-progress-bar-animation);
   }
   @media (prefers-reduced-motion: reduce) {
     .progress-bar-animated {
   .spinner-border-sm {
     --bs-spinner-width: 1rem;
     --bs-spinner-height: 1rem;
-    --bs-spinner-border-width: 0.2em;
+    --bs-spinner-border-width: .2em;
   }
   @keyframes spinner-grow {
     0% {
     align-self: stretch;
   }
 }
+@layer helpers {
+  .theme-primary {
+    --bs-theme-base: var(--bs-primary-base);
+    --bs-theme-text: var(--bs-primary-text);
+    --bs-theme-text-emphasis: var(--bs-primary-text-emphasis);
+    --bs-theme-bg: var(--bs-primary-bg);
+    --bs-theme-bg-subtle: var(--bs-primary-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-primary-bg-muted);
+    --bs-theme-border: var(--bs-primary-border);
+    --bs-theme-focus-ring: var(--bs-primary-focus-ring);
+    --bs-theme-contrast: var(--bs-primary-contrast);
+  }
+  .theme-accent {
+    --bs-theme-base: var(--bs-accent-base);
+    --bs-theme-text: var(--bs-accent-text);
+    --bs-theme-text-emphasis: var(--bs-accent-text-emphasis);
+    --bs-theme-bg: var(--bs-accent-bg);
+    --bs-theme-bg-subtle: var(--bs-accent-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-accent-bg-muted);
+    --bs-theme-border: var(--bs-accent-border);
+    --bs-theme-focus-ring: var(--bs-accent-focus-ring);
+    --bs-theme-contrast: var(--bs-accent-contrast);
+  }
+  .theme-success {
+    --bs-theme-base: var(--bs-success-base);
+    --bs-theme-text: var(--bs-success-text);
+    --bs-theme-text-emphasis: var(--bs-success-text-emphasis);
+    --bs-theme-bg: var(--bs-success-bg);
+    --bs-theme-bg-subtle: var(--bs-success-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-success-bg-muted);
+    --bs-theme-border: var(--bs-success-border);
+    --bs-theme-focus-ring: var(--bs-success-focus-ring);
+    --bs-theme-contrast: var(--bs-success-contrast);
+  }
+  .theme-danger {
+    --bs-theme-base: var(--bs-danger-base);
+    --bs-theme-text: var(--bs-danger-text);
+    --bs-theme-text-emphasis: var(--bs-danger-text-emphasis);
+    --bs-theme-bg: var(--bs-danger-bg);
+    --bs-theme-bg-subtle: var(--bs-danger-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-danger-bg-muted);
+    --bs-theme-border: var(--bs-danger-border);
+    --bs-theme-focus-ring: var(--bs-danger-focus-ring);
+    --bs-theme-contrast: var(--bs-danger-contrast);
+  }
+  .theme-warning {
+    --bs-theme-base: var(--bs-warning-base);
+    --bs-theme-text: var(--bs-warning-text);
+    --bs-theme-text-emphasis: var(--bs-warning-text-emphasis);
+    --bs-theme-bg: var(--bs-warning-bg);
+    --bs-theme-bg-subtle: var(--bs-warning-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-warning-bg-muted);
+    --bs-theme-border: var(--bs-warning-border);
+    --bs-theme-focus-ring: var(--bs-warning-focus-ring);
+    --bs-theme-contrast: var(--bs-warning-contrast);
+  }
+  .theme-info {
+    --bs-theme-base: var(--bs-info-base);
+    --bs-theme-text: var(--bs-info-text);
+    --bs-theme-text-emphasis: var(--bs-info-text-emphasis);
+    --bs-theme-bg: var(--bs-info-bg);
+    --bs-theme-bg-subtle: var(--bs-info-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-info-bg-muted);
+    --bs-theme-border: var(--bs-info-border);
+    --bs-theme-focus-ring: var(--bs-info-focus-ring);
+    --bs-theme-contrast: var(--bs-info-contrast);
+  }
+  .theme-inverse {
+    --bs-theme-base: var(--bs-inverse-base);
+    --bs-theme-text: var(--bs-inverse-text);
+    --bs-theme-text-emphasis: var(--bs-inverse-text-emphasis);
+    --bs-theme-bg: var(--bs-inverse-bg);
+    --bs-theme-bg-subtle: var(--bs-inverse-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-inverse-bg-muted);
+    --bs-theme-border: var(--bs-inverse-border);
+    --bs-theme-focus-ring: var(--bs-inverse-focus-ring);
+    --bs-theme-contrast: var(--bs-inverse-contrast);
+  }
+  .theme-secondary {
+    --bs-theme-base: var(--bs-secondary-base);
+    --bs-theme-text: var(--bs-secondary-text);
+    --bs-theme-text-emphasis: var(--bs-secondary-text-emphasis);
+    --bs-theme-bg: var(--bs-secondary-bg);
+    --bs-theme-bg-subtle: var(--bs-secondary-bg-subtle);
+    --bs-theme-bg-muted: var(--bs-secondary-bg-muted);
+    --bs-theme-border: var(--bs-secondary-border);
+    --bs-theme-focus-ring: var(--bs-secondary-focus-ring);
+    --bs-theme-contrast: var(--bs-secondary-contrast);
+  }
+}
 @layer helpers {
   .visually-hidden,
   .visually-hidden-focusable:not(:focus):not(:focus-within) {
index a30a27f30524e7d0d43e92ddc3f36172c3ecd3b6..7541c13fe7d21b96c5027c126a58b151c11a92eb 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_theme.scss","../../scss/_root.scss","../../scss/mixins/_color-mode.scss","../../scss/content/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/_config.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/forms/_form-variables.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_dropdown.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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qB/nEM;MACE,yBAAA;IrBioER;IqBloEM;MACE,yBAAA;IrBooER;IqB7nEM;MACE,oBAFS;IrBioEjB;IqBhoEM;MACE,oBAFS;IrBooEjB;IqBnoEM;MACE,oBAFS;IrBuoEjB;IqBtoEM;MACE,oBAFS;IrB0oEjB;IqBzoEM;MACE,oBAFS;IrB6oEjB;IqB5oEM;MACE,oBAFS;IrBgpEjB;IqB/oEM;MACE,oBAFS;IrBmpEjB;IqBlpEM;MACE,oBAFS;IrBspEjB;IqBrpEM;MACE,oBAFS;IrBypEjB;IqBxpEM;MACE,qBAFS;IrB4pEjB;IqB3pEM;MACE,qBAFS;IrB+pEjB;EACF;Ea3uEE;IQoEM;MACE,wBAAA;IrB0qER;IqB3qEM;MACE,wBAAA;IrB6qER;IqB9qEM;MACE,wBAAA;IrBgrER;IqBjrEM;MACE,wBAAA;IrBmrER;IqBprEM;MACE,wBAAA;IrBsrER;IqBvrEM;MACE,wBAAA;IrByrER;IqB1rEM;MACE,wBAAA;IrB4rER;IqB7rEM;MACE,wBAAA;IrB+rER;IqBhsEM;MACE,wBAAA;IrBksER;IqBnsEM;MACE,yBAAA;IrBqsER;IqBtsEM;MACE,yBAAA;IrBwsER;IqBzsEM;MACE,yBAAA;IrB2sER;IqBpsEM;MACE,oBAFS;IrBwsEjB;IqBvsEM;MACE,oBAFS;IrB2sEjB;IqB1sEM;MACE,oBAFS;IrB8sEjB;IqB7sEM;MACE,oBAFS;IrBitEjB;IqBhtEM;MACE,oBAFS;IrBotEjB;IqBntEM;MACE,oBAFS;IrButEjB;IqBttEM;MACE,oBAFS;IrB0tEjB;IqBztEM;MACE,oBAFS;IrB6tEjB;IqB5tEM;MACE,oBAFS;IrBguEjB;IqB/tEM;MACE,qBAFS;IrBmuEjB;IqBluEM;MACE,qBAFS;IrBsuEjB;EACF;EalzEE;IQoEM;MACE,wBAAA;IrBivER;IqBlvEM;MACE,wBAAA;IrBovER;IqBrvEM;MACE,wBAAA;IrBuvER;IqBxvEM;MACE,wBAAA;IrB0vER;IqB3vEM;MACE,wBAAA;IrB6vER;IqB9vEM;MACE,wBAAA;IrBgwER;IqBjwEM;MACE,wBAAA;IrBmwER;IqBpwEM;MACE,wBAAA;IrBswER;IqBvwEM;MACE,wBAAA;IrBywER;IqB1wEM;MACE,yBAAA;IrB4wER;IqB7wEM;MACE,yBAAA;IrB+wER;IqBhxEM;MACE,yBAAA;IrBkxER;IqB3wEM;MACE,oBAFS;IrB+wEjB;IqB9wEM;MACE,oBAFS;IrBkxEjB;IqBjxEM;MACE,oBAFS;IrBqxEjB;IqBpxEM;MACE,oBAFS;IrBwxEjB;IqBvxEM;MACE,oBAFS;IrB2xEjB;IqB1xEM;MACE,oBAFS;IrB8xEjB;IqB7xEM;MACE,oBAFS;IrBiyEjB;IqBhyEM;MACE,oBAFS;IrBoyEjB;IqBnyEM;MACE,oBAFS;IrBuyEjB;IqBtyEM;MACE,qBAFS;IrB0yEjB;IqBzyEM;MACE,qBAFS;IrB6yEjB;EACF;Eaz3EE;IQoEM;MACE,wBAAA;IrBwzER;IqBzzEM;MACE,wBAAA;IrB2zER;IqB5zEM;MACE,wBAAA;IrB8zER;IqB/zEM;MACE,wBAAA;IrBi0ER;IqBl0EM;MACE,wBAAA;IrBo0ER;IqBr0EM;MACE,wBAAA;IrBu0ER;IqBx0EM;MACE,wBAAA;IrB00ER;IqB30EM;MACE,wBAAA;IrB60ER;IqB90EM;MACE,wBAAA;IrBg1ER;IqBj1EM;MACE,yBAAA;IrBm1ER;IqBp1EM;MACE,yBAAA;IrBs1ER;IqBv1EM;MACE,yBAAA;IrBy1ER;IqBl1EM;MACE,oBAFS;IrBs1EjB;IqBr1EM;MACE,oBAFS;IrBy1EjB;IqBx1EM;MACE,oBAFS;IrB41EjB;IqB31EM;MACE,oBAFS;IrB+1EjB;IqB91EM;MACE,oBAFS;IrBk2EjB;IqBj2EM;MACE,oBAFS;IrBq2EjB;IqBp2EM;MACE,oBAFS;IrBw2EjB;IqBv2EM;MACE,oBAFS;IrB22EjB;IqB12EM;MACE,oBAFS;IrB82EjB;IqB72EM;MACE,qBAFS;IrBi3EjB;IqBh3EM;MACE,qBAFS;IrBo3EjB;EACF;Eah8EE;IQoEM;MACE,wBAAA;IrB+3ER;IqBh4EM;MACE,wBAAA;IrBk4ER;IqBn4EM;MACE,wBAAA;IrBq4ER;IqBt4EM;MACE,wBAAA;IrB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IA1GI,cAqBO;E/EwyPb;E+EntPE;IA1GI,aAqBO;E/E2yPb;E+EttPE;IA1GI,oBAqBO;E/E8yPb;E+EztPE;IA1GI,cAqBO;E/EizPb;E+E5tPE;IA1GI,kBAqBO;E/EozPb;E+E/tPE;IA1GI,mBAqBO;E/EuzPb;E+EluPE;IA1GI,aAqBO;E/E0zPb;E+EruPE;IA1GI,oBAqBO;E/E6zPb;E+ExuPE;IA1GI,iBAqBO;E/Eg0Pb;E+E3uPE;IA1GI,kBAqBO;E/Em0Pb;E+E9uPE;IA1GI,aAqBO;E/Es0Pb;E+EjvPE;IA1GI,gCAgBG;E/E80PT;E+EpvPE;IA1GI,mCAgBG;E/Ei1PT;E+EvvPE;IA1GI,mCAgBG;E/Eo1PT;E+E1vPE;IA1GI,gBAgBG;E/Eu1PT;E+E7vPE;IA1GI,qHAgBG;E/E01PT;E+EhwPE;IA1GI,yHAgBG;E/E61PT;E+EnwPE;IA1GI,uHAgBG;E/Eg2PT;E+EtwPE;IA1GI,mHAgBG;E/Em2PT;E+EzwPE;IA1GI,yHAgBG;E/Es2PT;E+E5wPE;IA1GI,qHAgBG;E/Ey2PT;E+E/wPE;IA1GI,qHAgBG;E/E42PT;E+ElxPE;IA1GI,qHAgBG;E/E+2PT;E+ErxPE;IA1GI,gBAqBO;E/E62Pb;E+ExxPE;IA1GI,kBAqBO;E/Eg3Pb;E+E3xPE;IA1GI,kBAqBO;E/Em3Pb;E+E9xPE;IA1GI,eAqBO;E/Es3Pb;E+EjyPE;IA1GI,gBAqBO;E/Ey3Pb;E+EpyPE;IA1GI,MAgBG;E/Ei4PT;E+EvyPE;IA1GI,QAgBG;E/Eo4PT;E+E1yPE;IA1GI,SAgBG;E/Eu4PT;E+E7yPE;IA1GI,SAgBG;E/E04PT;E+EhzPE;IA1GI,WAgBG;E/E64PT;E+EnzPE;IA1GI,YAgBG;E/Eg5PT;E+EtzPE;IA1GI,OAgBG;E/Em5PT;E+EzzPE;IA1GI,SAgBG;E/Es5PT;E+E5zPE;IA1GI,UAgBG;E/Ey5PT;E+E/zPE;IA1GI,QAgBG;E/E45PT;E+El0PE;IA1GI,UAgBG;E/E+5PT;E+Er0PE;IA1GI,WAgBG;E/Ek6PT;E+Ex0PE;IA1GI,gCAgBG;E/Eq6PT;E+E30PE;IA1GI,2BAgBG;E/Ew6PT;E+E90PE;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,sBAgBG;E/EwxQT;E+E9rQE;IA1GI,oBAgBG;E/E2xQT;E+EjsQE;IA1GI,uBAgBG;E/E8xQT;E+EpsQE;IA1GI,qBAgBG;E/EiyQT;E+EvsQE;IA1GI,mBAgBG;E/EoyQT;E+E1sQE;IA1GI,qBAgBG;E/EuyQT;E+E7sQE;IA1GI,oBAgBG;E/E0yQT;E+EhtQE;IA1GI,yBAgBG;E/E6yQT;E+EntQE;IA1GI,uBAgBG;E/EgzQT;E+EttQE;IA1GI,qBAgBG;E/EmzQT;E+EztQE;IA1GI,4BAgBG;E/EszQT;E+E5tQE;IA1GI,2BAgBG;E/EyzQT;E+E/tQE;IA1GI,sBAgBG;E/E4zQT;E+EluQE;IA1GI,gBAgBG;E/E+zQT;E+EruQE;IA1GI,sBAgBG;E/Ek0QT;E+ExuQE;IA1GI,oBAgBG;E/Eq0QT;E+E3uQE;IA1GI,kBAgBG;E/Ew0QT;E+E9uQE;IA1GI,oBAgBG;E/E20QT;E+EjvQE;IA1GI,mBAgBG;E/E80QT;E+EpvQE;IA1GI,kBAgBG;E/Ei1QT;E+EvvQE;IA1GI,gBAgBG;E/Eo1QT;E+E1vQE;IA1GI,mBAgBG;E/Eu1QT;E+E7vQE;IA1GI,oBAgBG;E/E01QT;E+EhwQE;IA1GI,eAqBO;E/Ew1Qb;E+EnwQE;IA1GI,eAqBO;E/E21Qb;E+EtwQE;IA1GI,eAqBO;E/E81Qb;E+EzwQE;IA1GI,mBAgBG;E/Es2QT;E+E5wQE;IA1GI,mBAqBO;E/Eo2Qb;E+E/wQE;IA1GI,sBAqBO;E/Eu2Qb;E+ElxQE;IA1GI,qBAqBO;E/E02Qb;E+ErxQE;IA1GI,SAgBG;E/Ek3QT;E+ExxQE;IA1GI,QAgBG;E/Eq3QT;E+E3xQE;IA1GI,QAgBG;E/Ew3QT;E+E9xQE;IA1GI,QAgBG;E/E23QT;E+EjyQE;IA1GI,QAgBG;E/E83QT;E+EpyQE;IA1GI,QAgBG;E/Ei4QT;E+EvyQE;IA1GI,QAgBG;E/Eo4QT;E+E1yQE;IA1GI,QAgBG;E/Eu4QT;E+E7yQE;IA1GI,SAgBG;E/E04QT;E+EhzQE;IA1GI,eAgBG;E/E64QT;E+EnzQE;IA1GI,cAgBG;E/Eg5QT;E+EtzQE;IA1GI,YAgBG;E/Em5QT;E+EzzQE;IA1GI,cAgBG;E/Es5QT;E+E5zQE;IA1GI,YAgBG;E/Ey5QT;E+E/zQE;IA1GI,YAgBG;E/E45QT;E+El0QE;IA1GI,gBAgBG;E/E+5QT;E+Er0QE;IA1GI,sBAgBG;E/Ek6QT;E+Ex0QE;IA1GI,qBAgBG;E/Eq6QT;E+E30QE;IA1GI,mBAgBG;E/Ew6QT;E+E90QE;IA1GI,qBAgBG;E/E26QT;E+Ej1QE;IA1GI,mBAgBG;E/E86QT;E+Ep1QE;IA1GI,mBAgBG;E/Ei7QT;E+Ev1QE;IA1GI,eAgBG;E/Eo7QT;E+E11QE;IA1GI,qBAgBG;E/Eu7QT;E+E71QE;IA1GI,oBAgBG;E/E07QT;E+Eh2QE;IA1GI,kBAgBG;E/E67QT;E+En2QE;IA1GI,oBAgBG;E/Eg8QT;E+Et2QE;IA1GI,kBAgBG;E/Em8QT;E+Ez2QE;IA1GI,kBAgBG;E/Es8QT;E+E52QE;IA1GI,qBAgBG;E/Ey8QT;E+E/2QE;IA1GI,2BAgBG;E/E48QT;E+El3QE;IA1GI,0BAgBG;E/E+8QT;E+Er3QE;IA1GI,wBAgBG;E/Ek9QT;E+Ex3QE;IA1GI,0BAgBG;E/Eq9QT;E+E33QE;IA1GI,wBAgBG;E/Ew9QT;E+E93QE;IA1GI,wBAgBG;E/E29QT;E+Ej4QE;IA1GI,oBAgBG;E/E89QT;E+Ep4QE;IA1GI,0BAgBG;E/Ei+QT;E+Ev4QE;IA1GI,yBAgBG;E/Eo+QT;E+E14QE;IA1GI,uBAgBG;E/Eu+QT;E+E74QE;IA1GI,yBAgBG;E/E0+QT;E+Eh5QE;IA1GI,uBAgBG;E/E6+QT;E+En5QE;IA1GI,uBAgBG;E/Eg/QT;E+Et5QE;IA1GI,mBAgBG;E/Em/QT;E+Ez5QE;IA1GI,yBAgBG;E/Es/QT;E+E55QE;IA1GI,wBAgBG;E/Ey/QT;E+E/5QE;IA1GI,sBAgBG;E/E4/QT;E+El6QE;IA1GI,wBAgBG;E/E+/QT;E+Er6QE;IA1GI,sBAgBG;E/EkgRT;E+Ex6QE;IA1GI,sBAgBG;E/EqgRT;E+E36QE;IA1GI,sBAgBG;E/EwgRT;E+E96QE;IA1GI,4BAgBG;E/E2gRT;E+Ej7QE;IA1GI,2BAgBG;E/E8gRT;E+Ep7QE;IA1GI,yBAgBG;E/EihRT;E+Ev7QE;IA1GI,2BAgBG;E/EohRT;E+E17QE;IA1GI,yBAgBG;E/EuhRT;E+E77QE;IA1GI,yBAgBG;E/E0hRT;E+Eh8QE;IA1GI,UAgBG;E/E6hRT;E+En8QE;IA1GI,gBAgBG;E/EgiRT;E+Et8QE;IA1GI,eAgBG;E/EmiRT;E+Ez8QE;IA1GI,aAgBG;E/EsiRT;E+E58QE;IA1GI,eAgBG;E/EyiRT;E+E/8QE;IA1GI,aAgBG;E/E4iRT;E+El9QE;IA1GI,iBAgBG;E/E+iRT;E+Er9QE;IA1GI,uBAgBG;E/EkjRT;E+Ex9QE;IA1GI,sBAgBG;E/EqjRT;E+E39QE;IA1GI,oBAgBG;E/EwjRT;E+E99QE;IA1GI,sBAgBG;E/E2jRT;E+Ej+QE;IA1GI,oBAgBG;E/E8jRT;E+Ep+QE;IA1GI,gBAgBG;E/EikRT;E+Ev+QE;IA1GI,sBAgBG;E/EokRT;E+E1+QE;IA1GI,qBAgBG;E/EukRT;E+E7+QE;IA1GI,mBAgBG;E/E0kRT;E+Eh/QE;IA1GI,qBAgBG;E/E6kRT;E+En/QE;IA1GI,mBAgBG;E/EglRT;E+Et/QE;IA1GI,sBAgBG;E/EmlRT;E+Ez/QE;IA1GI,4BAgBG;E/EslRT;E+E5/QE;IA1GI,2BAgBG;E/EylRT;E+E//QE;IA1GI,yBAgBG;E/E4lRT;E+ElgRE;IA1GI,2BAgBG;E/E+lRT;E+ErgRE;IA1GI,yBAgBG;E/EkmRT;E+ExgRE;IA1GI,qBAgBG;E/EqmRT;E+E3gRE;IA1GI,2BAgBG;E/EwmRT;E+E9gRE;IA1GI,0BAgBG;E/E2mRT;E+EjhRE;IA1GI,wBAgBG;E/E8mRT;E+EphRE;IA1GI,0BAgBG;E/EinRT;E+EvhRE;IA1GI,wBAgBG;E/EonRT;E+E1hRE;IA1GI,oBAgBG;E/EunRT;E+E7hRE;IA1GI,0BAgBG;E/E0nRT;E+EhiRE;IA1GI,yBAgBG;E/E6nRT;E+EniRE;IA1GI,uBAgBG;E/EgoRT;E+EtiRE;IA1GI,yBAgBG;E/EmoRT;E+EziRE;IA1GI,uBAgBG;E/EsoRT;E+E5iRE;IA1GI,uBAgBG;E/EyoRT;E+E/iRE;IA1GI,6BAgBG;E/E4oRT;E+EljRE;IA1G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E++RT;E+Er5RE;IA1GI,yDAgBG;E/Ek/RT;E+Ex5RE;IA1GI,yDAgBG;E/Eq/RT;E+E35RE;IA1GI,yDAgBG;E/Ew/RT;E+E95RE;IA1GI,yDAgBG;E/E2/RT;E+Ej6RE;IA1GI,yDAgBG;E/E8/RT;E+Ep6RE;IA1GI,yDAgBG;E/EigST;E+Ev6RE;IA1GI,yDAgBG;E/EogST;E+E16RE;IA1GI,yDAgBG;E/EugST;E+E76RE;IA1GI,mBAgBG;E/E0gST;E+Eh7RE;IA1GI,iEAgBG;E/E6gST;E+E55RM;IAjIA,iEAgBG;E/EghST;E+Et7RE;IA1GI,iEAgBG;E/EmhST;E+El6RM;IAjIA,iEAgBG;E/EshST;E+E57RE;IA1GI,iEAgBG;E/EyhST;E+Ex6RM;IAjIA,iEAgBG;E/E4hST;E+El8RE;IA1GI,iEAgBG;E/E+hST;E+E96RM;IAjIA,iEAgBG;E/EkiST;E+Ex8RE;IA1GI,iEAgBG;E/EqiST;E+Ep7RM;IAjIA,iEAgBG;E/EwiST;E+E98RE;IA1GI,iEAgBG;E/E2iST;E+E17RM;IAjIA,iEAgBG;E/E8iST;E+Ep9RE;IA1GI,iEAgBG;E/EijST;E+Eh8RM;IAjIA,iEAgBG;E/EojST;E+E19RE;IA1GI,iEAgBG;E/EujST;E+Et8RM;IAjIA,iEAgBG;E/E0jST;E+Eh+RE;IA1GI,iEAgBG;E/E6jST;E+E58RM;IAjIA,iEAgBG;E/EgkST;E+Et+RE;IA1GI,2BAgBG;E/EmkST;E+El9RM;IAjIA,2BAgBG;E/EskST;E+E5+RE;IA1GI,8BAgBG;E/EykST;E+Ex9RM;IAjIA,8BAgBG;E/E4kST;E+El/RE;IA1GI,6BAgBG;E/E+kST;E+E99RM;IAjIA,6BAgBG;E/EklST;E+Ex/RE;IA1GI,8BAgBG;E/EqlST;E+Ep+RM;IAjIA,8BAgBG;E/EwlST;E+E9/RE;IA1GI,yEAgBG;E/E2lST;E+EjgSE;IA1GI,wHAgBG;E/E8lST;E+EpgSE;IA1GI,2EAgBG;E/EimST;E+EvgSE;IA1GI,uEAgBG;E/EomST;E+E1gSE;IA1GI,6EAgBG;E/EumST;E+E7gSE;IA1GI,yEAgBG;E/E0mST;E+Ehh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BG;I/EurTP;I+E7lTA;MA1GI,uBAgBG;I/E0rTP;I+EhmTA;MA1GI,8BAgBG;I/E6rTP;I+EnmTA;MA1GI,6BAgBG;I/EgsTP;I+EtmTA;MA1GI,6BAgBG;I/EmsTP;I+EzmTA;MA1GI,oBAgBG;I/EssTP;I+E5mTA;MA1GI,kBAgBG;I/EysTP;I+E/mTA;MA1GI,qBAgBG;I/E4sTP;I+ElnTA;MA1GI,sBAgBG;I/E+sTP;I+ErnTA;MA1GI,wBAgBG;I/EktTP;I+ExnTA;MA1GI,sBAgBG;I/EqtTP;I+E3nTA;MA1GI,oBAgBG;I/EwtTP;I+E9nTA;MA1GI,uBAgBG;I/E2tTP;I+EjoTA;MA1GI,qBAgBG;I/E8tTP;I+EpoTA;MA1GI,mBAgBG;I/EiuTP;I+EvoTA;MA1GI,qBAgBG;I/EouTP;I+E1oTA;MA1GI,oBAgBG;I/EuuTP;I+E7oTA;MA1GI,yBAgBG;I/E0uTP;I+EhpTA;MA1GI,uBAgBG;I/E6uTP;I+EnpTA;MA1GI,qBAgBG;I/EgvTP;I+EtpTA;MA1GI,4BAgBG;I/EmvTP;I+EzpTA;MA1GI,2BAgBG;I/EsvTP;I+E5pTA;MA1GI,sBAgBG;I/EyvTP;I+E/pTA;MA1GI,gBAgBG;I/E4vTP;I+ElqTA;MA1GI,sBAgBG;I/E+vTP;I+ErqTA;MA1GI,oBAgBG;I/EkwTP;I+ExqTA;MA1GI,kBAgBG;I/EqwTP;I+E3qTA;MA1GI,oBAgBG;I/EwwTP;I+E9qTA;MA1GI,mBAgBG;I/E2wTP;I+EjrTA;MA1GI,kBAgBG;I/E8wTP;I+EprTA;MA1GI,gBAgBG;I/EixTP;I+EvrTA;MA1GI,mBAgBG;I/EoxTP;I+E1rTA;MA1GI,oBAgBG;I/EuxTP;I+E7rTA;MA1GI,eAqBO;I/EqxTX;I+EhsTA;MA1GI,eAqBO;I/EwxTX;I+EnsTA;MA1GI,eAqBO;I/E2xTX;I+EtsTA;MA1GI,mBAgBG;I/EmyTP;I+EzsTA;MA1GI,mBAqBO;I/EiyTX;I+E5sTA;MA1GI,sBAqBO;I/EoyTX;I+E/sTA;MA1GI,qBAqBO;I/EuyTX;I+EltTA;MA1GI,SAgBG;I/E+yTP;I+ErtTA;MA1GI,QAgBG;I/EkzTP;I+ExtTA;MA1GI,QAgBG;I/EqzTP;I+E3tTA;MA1GI,QAgBG;I/EwzTP;I+E9tTA;MA1GI,QAgBG;I/E2zTP;I+EjuTA;MA1GI,QAgBG;I/E8zTP;I+EpuTA;MA1GI,QAgBG;I/Ei0TP;I+EvuTA;MA1GI,QAgBG;I/Eo0TP;I+E1uTA;MA1GI,SAgBG;I/Eu0TP;I+E7uTA;MA1GI,eAgBG;I/E00TP;I+EhvTA;MA1GI,cAgBG;I/E60TP;I+EnvTA;MA1GI,YAgBG;I/Eg1TP;I+EtvTA;MA1GI,cAgBG;I/Em1TP;I+EzvTA;MA1GI,YAgBG;I/Es1TP;I+E5vTA;MA1GI,YAgBG;I/Ey1TP;I+E/vTA;MA1GI,gBAgBG;I/E41TP;I+ElwTA;MA1GI,sBAgBG;I/E+1TP;I+ErwTA;MA1GI,qBAgBG;I/Ek2TP;I+ExwTA;MA1GI,mBAgBG;I/Eq2TP;I+E3wTA;MA1GI,qBAgBG;I/Ew2TP;I+E9wTA;MA1GI,mBAgBG;I/E22TP;I+EjxTA;MA1GI,mBAgBG;I/E82TP;I+EpxTA;MA1GI,eAgBG;I/Ei3TP;I+EvxTA;MA1GI,qBAgBG;I/Eo3TP;I+E1xTA;MA1GI,oBAgBG;I/Eu3TP;I+E7xTA;MA1GI,kBAgBG;I/E03TP;I+EhyTA;MA1GI,oBAgBG;I/E63TP;I+EnyTA;MA1GI,kBAgBG;I/Eg4TP;I+EtyTA;MA1GI,kBAgBG;I/Em4TP;I+EzyTA;MA1GI,qBAgBG;I/Es4TP;I+E5yTA;MA1GI,2BAgBG;I/Ey4TP;I+E/yTA;MA1GI,0BAgBG;I/E44TP;I+ElzTA;MA1GI,wBAgBG;I/E+4TP;I+ErzTA;MA1GI,0BAgBG;I/Ek5TP;I+ExzTA;MA1GI,wBAgBG;I/Eq5TP;I+E3zTA;MA1GI,wBAgBG;I/Ew5TP;I+E9zTA;MA1GI,oBAgBG;I/E25TP;I+Ej0TA;MA1GI,0BAgBG;I/E85TP;I+Ep0TA;MA1GI,yBAgBG;I/Ei6TP;I+Ev0TA;MA1GI,uBAgBG;I/Eo6TP;I+E10TA;MA1GI,yBAgBG;I/Eu6TP;I+E70TA;MA1GI,uBAgBG;I/E06TP;I+Eh1TA;MA1GI,uBAgBG;I/E66TP;I+En1TA;MA1GI,mBAgBG;I/Eg7TP;I+Et1TA;MA1GI,yBAgBG;I/Em7TP;I+Ez1TA;MA1GI,wBAgBG;I/Es7TP;I+E51TA;MA1GI,sBAgBG;I/Ey7TP;I+E/1TA;MA1GI,wBAgBG;I/E47TP;I+El2TA;MA1GI,sBAgBG;I/E+7TP;I+Er2TA;MA1GI,sBAgBG;I/Ek8TP;I+Ex2TA;MA1GI,sBAgBG;I/Eq8TP;I+E32TA;MA1GI,4BAgBG;I/Ew8TP;I+E92TA;MA1GI,2BAgBG;I/E28TP;I+Ej3TA;MA1GI,yBAgBG;I/E88TP;I+Ep3TA;MA1GI,2BAgBG;I/Ei9TP;I+Ev3TA;MA1GI,yBAgBG;I/Eo9TP;I+E13TA;MA1GI,yBAgBG;I/Eu9TP;I+E73TA;MA1GI,UAgBG;I/E09TP;I+Eh4TA;MA1GI,gBAgBG;I/E69TP;I+En4TA;MA1GI,eAgBG;I/Eg+TP;I+Et4TA;MA1GI,aAgBG;I/Em+TP;I+Ez4TA;MA1GI,eAgBG;I/Es+TP;I+E54TA;MA1GI,aAgBG;I/Ey+TP;I+E/4TA;MA1GI,iBAgBG;I/E4+TP;I+El5TA;MA1GI,uBAgBG;I/E++TP;I+Er5TA;MA1GI,sBAgBG;I/Ek/TP;I+Ex5TA;MA1GI,oBAgBG;I/Eq/TP;I+E35TA;MA1GI,sBAgBG;I/Ew/TP;I+E95TA;MA1GI,oBAgBG;I/E2/TP;I+Ej6TA;MA1GI,gBAgBG;I/E8/TP;I+Ep6TA;MA1GI,sBAgBG;I/EigUP;I+Ev6TA;MA1GI,qBAgBG;I/EogUP;I+E16TA;MA1GI,mBAgBG;I/EugUP;I+E76TA;MA1GI,qBAgBG;I/E0gUP;I+Eh7TA;MA1GI,mBAgBG;I/E6gUP;I+En7TA;MA1GI,sBAgBG;I/EghUP;I+Et7TA;MA1GI,4BAgBG;I/EmhUP;I+Ez7TA;MA1GI,2BAgBG;I/EshUP;I+E57TA;MA1GI,yBAgBG;I/EyhUP;I+E/7TA;MA1GI,2BAgBG;I/E4hUP;I+El8TA;MA1GI,yBAgBG;I/E+hUP;I+Er8TA;MA1GI,qBAgBG;I/EkiUP;I+Ex8TA;MA1GI,2BAgBG;I/EqiUP;I+E38TA;MA1GI,0BAgBG;I/EwiUP;I+E98TA;MA1GI,wBAgBG;I/E2iUP;I+Ej9TA;MA1GI,0BA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P;I+EhsUA;MA1GI,sBAgBG;I/E6xUP;I+EnsUA;MA1GI,oBAgBG;I/EgyUP;I+EtsUA;MA1GI,uBAgBG;I/EmyUP;I+EzsUA;MA1GI,qBAgBG;I/EsyUP;I+E5sUA;MA1GI,mBAgBG;I/EyyUP;I+E/sUA;MA1GI,qBAgBG;I/E4yUP;I+EltUA;MA1GI,oBAgBG;I/E+yUP;I+ErtUA;MA1GI,yBAgBG;I/EkzUP;I+ExtUA;MA1GI,uBAgBG;I/EqzUP;I+E3tUA;MA1GI,qBAgBG;I/EwzUP;I+E9tUA;MA1GI,4BAgBG;I/E2zUP;I+EjuUA;MA1GI,2BAgBG;I/E8zUP;I+EpuUA;MA1GI,sBAgBG;I/Ei0UP;I+EvuUA;MA1GI,gBAgBG;I/Eo0UP;I+E1uUA;MA1GI,sBAgBG;I/Eu0UP;I+E7uUA;MA1GI,oBAgBG;I/E00UP;I+EhvUA;MA1GI,kBAgBG;I/E60UP;I+EnvUA;MA1GI,oBAgBG;I/Eg1UP;I+EtvUA;MA1GI,mBAgBG;I/Em1UP;I+EzvUA;MA1GI,kBAgBG;I/Es1UP;I+E5vUA;MA1GI,gBAgBG;I/Ey1UP;I+E/vUA;MA1GI,mBAgBG;I/E41UP;I+ElwUA;MA1GI,oBAgBG;I/E+1UP;I+ErwUA;MA1GI,eAqBO;I/E61UX;I+ExwUA;MA1GI,eAqBO;I/Eg2UX;I+E3wUA;MA1GI,eAqBO;I/Em2UX;I+E9wUA;MA1GI,mBAgBG;I/E22UP;I+EjxUA;MA1GI,mBAqBO;I/Ey2UX;I+EpxUA;MA1GI,sBAqBO;I/E42UX;I+EvxUA;MA1GI,qBAqBO;I/E+2UX;I+E1xUA;MA1GI,SAgBG;I/Eu3UP;I+E7xUA;MA1GI,QAgBG;I/E03UP;I+EhyUA;MA1GI,QAgBG;I/E63UP;I+EnyUA;MA1GI,QAgBG;I/Eg4UP;I+EtyUA;MA1GI,QAgBG;I/Em4UP;I+EzyUA;MA1GI,QAgBG;I/Es4UP;I+E5yUA;MA1GI,QAgBG;I/Ey4UP;I+E/yUA;MA1GI,QAgBG;I/E44UP;I+ElzUA;MA1GI,SAgBG;I/E+4UP;I+ErzUA;MA1GI,eAgBG;I/Ek5UP;I+ExzUA;MA1GI,cAgBG;I/Eq5UP;I+E3zUA;MA1GI,YAgBG;I/Ew5UP;I+E9zUA;MA1GI,cAgBG;I/E25UP;I+Ej0UA;MA1GI,YAgBG;I/E85UP;I+Ep0UA;MA1GI,YAgBG;I/Ei6UP;I+Ev0UA;MA1GI,gBAgBG;I/Eo6UP;I+E10UA;MA1GI,sBAgBG;I/Eu6UP;I+E70UA;MA1GI,qBAgBG;I/E06UP;I+Eh1UA;MA1GI,mBAgBG;I/E66UP;I+En1UA;MA1GI,qBAgBG;I/Eg7UP;I+Et1UA;MA1GI,mBAgBG;I/Em7UP;I+Ez1UA;MA1GI,mBAgBG;I/Es7UP;I+E51UA;MA1GI,eAgBG;I/Ey7UP;I+E/1UA;MA1GI,qBAgBG;I/E47UP;I+El2UA;MA1GI,oBAgBG;I/E+7UP;I+Er2UA;MA1GI,kBAgBG;I/Ek8UP;I+Ex2UA;MA1GI,oBAgBG;I/Eq8UP;I+E32UA;MA1GI,kBAgBG;I/Ew8UP;I+E92UA;MA1GI,kBAgBG;I/E28UP;I+Ej3UA;MA1GI,qBAgBG;I/E88UP;I+Ep3UA;MA1GI,2BAgBG;I/Ei9UP;I+Ev3UA;MA1GI,0BAgBG;I/Eo9UP;I+E13UA;MA1GI,wBAgBG;I/Eu9UP;I+E73UA;MA1GI,0BAgBG;I/E09UP;I+Eh4UA;MA1GI,wBAgBG;I/E69UP;I+En4UA;MA1GI,wBAgBG;I/Eg+UP;I+Et4UA;MA1GI,oBAgBG;I/Em+UP;I+Ez4UA;MA1GI,0BAgBG;I/Es+UP;I+E54UA;MA1GI,yBAgBG;I/Ey+UP;I+E/4UA;MA1GI,uBAgBG;I/E4+UP;I+El5UA;MA1GI,yBAgBG;I/E++UP;I+Er5UA;MA1GI,uBAgBG;I/Ek/UP;I+Ex5UA;MA1GI,uBAgBG;I/Eq/UP;I+E35UA;MA1GI,mBAgBG;I/Ew/UP;I+E95UA;MA1GI,yBAgBG;I/E2/UP;I+Ej6UA;MA1GI,wBAgBG;I/E8/UP;I+Ep6UA;MA1GI,sBAgBG;I/EigVP;I+Ev6UA;MA1GI,wBAgBG;I/EogVP;I+E16UA;MA1GI,sBAgBG;I/EugVP;I+E76UA;MA1GI,sBAgBG;I/E0gVP;I+Eh7UA;MA1GI,sBAgBG;I/E6gVP;I+En7UA;MA1GI,4BAgBG;I/EghVP;I+Et7UA;MA1GI,2BAgBG;I/EmhVP;I+Ez7UA;MA1GI,yBAgBG;I/EshVP;I+E57UA;MA1GI,2BAgBG;I/EyhVP;I+E/7UA;MA1GI,yBAgBG;I/E4hVP;I+El8UA;MA1GI,yBAgBG;I/E+hVP;I+Er8UA;MA1GI,UAgBG;I/EkiVP;I+Ex8UA;MA1GI,gBAgBG;I/EqiVP;I+E38UA;MA1GI,eAgBG;I/EwiVP;I+E98UA;MA1GI,aAgBG;I/E2iVP;I+Ej9UA;MA1GI,eAgBG;I/E8iVP;I+Ep9UA;MA1GI,aAgBG;I/EijVP;I+Ev9UA;MA1GI,iBAgBG;I/EojVP;I+E19UA;MA1GI,uBAgBG;I/EujVP;I+E79UA;MA1GI,sBAgBG;I/E0jVP;I+Eh+UA;MA1GI,oBAgBG;I/E6jVP;I+En+UA;MA1GI,sBAgBG;I/EgkVP;I+Et+UA;MA1GI,oBAgBG;I/EmkVP;I+Ez+UA;MA1GI,gBAgBG;I/EskVP;I+E5+UA;MA1GI,sBAgBG;I/EykVP;I+E/+UA;MA1GI,qBAgBG;I/E4kVP;I+El/UA;MA1GI,mBAgBG;I/E+kVP;I+Er/UA;MA1GI,qBAgBG;I/EklVP;I+Ex/UA;MA1GI,mBAgBG;I/EqlVP;I+E3/UA;MA1GI,sBAgBG;I/EwlVP;I+E9/UA;MA1GI,4BAgBG;I/E2lVP;I+EjgVA;MA1GI,2BAgBG;I/E8lVP;I+EpgVA;MA1GI,yBAgBG;I/EimVP;I+EvgVA;MA1GI,2BAgBG;I/EomVP;I+E1gVA;MA1GI,yBAgBG;I/EumVP;I+E7gVA;MA1GI,qBAgBG;I/E0mVP;I+EhhVA;MA1GI,2BAgBG;I/E6mVP;I+EnhVA;MA1GI,0BAgBG;I/EgnVP;I+EthVA;MA1GI,wBAgBG;I/EmnVP;I+EzhVA;MA1GI,0BAgBG;I/EsnVP;I+E5hVA;MA1GI,wBAgBG;I/EynVP;I+E/hVA;MA1GI,oBAgBG;I/E4nVP;I+EliVA;MA1GI,0BAgBG;I/E+nVP;I+EriVA;MA1GI,yBAgBG;I/EkoVP;I+ExiVA;MA1GI,uBAgBG;I/EqoVP;I+E3iVA;MA1GI,yBAgBG;I/EwoVP;I+E9iVA;MA1GI,uBAgBG;I/E2oVP;I+EjjVA;MA1GI,uBAgBG;I/E8oVP;I+EpjVA;MA1GI,6BAgBG;I/EipVP;I+EvjVA;MA1GI,4BAgBG;I/EopVP;I+E1jVA;MA1GI,0BAgBG;I/EupVP;I+E7jVA;MA1GI,4BAgBG;I/E0pVP;I+EhkVA;MA1GI,0BAgBG;I/E6pVP;I+EnkVA;MA1GI,MAgBG;I/EgqVP;I+EtkVA;MA1GI,YAgBG;I/EmqVP;I+EzkVA;MA1GI,WAgBG;I/EsqVP;I+E5kVA;MA1GI,SAgBG;I/EyqVP;I+E/kVA;MA1GI,WAgBG;I/E4qVP;I+EllVA;MA1GI,SAgBG;I/E+qVP;I+ErlVA;MA1GI,UAgBG;I/EkrVP;I+ExlVA;MA1GI,gBAgBG;I/EqrVP;I+E3lVA;MA1GI,eAgBG;I/EwrVP;I+E9lVA;MA1GI,aAgBG;I/E2rVP;I+EjmVA;MA1GI,eAgBG;I/E8rVP;I+EpmVA;MA1GI,aAgBG;I/EisVP;I+EvmVA;MA1GI,kBAgBG;MAhBH,aAgBG;I/EosVP;I+E1mVA;MA1GI,wBAgBG;MAhBH,mBAgBG;I/EusVP;I+E7mVA;MA1GI,uBAgBG;MAhBH,kBAgBG;I/E0sVP;I+EhnVA;MA1GI,qBAgBG;MAhBH,gBAgBG;I/E6sVP;I+EnnVA;MA1GI,uBAgBG;MAhBH,kBAgBG;I/EgtVP;I+EtnVA;MA1GI,qBAgBG;MAhBH,gBAgBG;I/EmtVP;I+EznVA;MA1GI,iBAgBG;I/EstVP;I+E5nVA;MA1GI,eAgBG;I/EytVP;I+E/nVA;MA1GI,kBAgBG;I/E4tVP;EACF;EalvVE;IkE+GA;MA1GI,mBAgBG;I/EiuVP;I+EvoVA;MA1GI,iBAgBG;I/EouVP;I+E1oVA;MA1GI,WAgBG;I/EuuVP;I+E7oVA;MA1GI,sBAgBG;MAhBH,mBAgBG;I/E0uVP;I+EhpVA;MA1GI,oBAgBG;MAhBH,iBAgBG;I/E6uVP;I+EnpVA;MA1GI,mBAgBG;MAhBH,gBAgBG;I/EgvVP;I+EtpVA;MA1GI,yBAgBG;MAhBH,sBAgBG;I/EmvVP;I+EzpVA;MA1GI,mBAgBG;MAhBH,gBAgBG;I/EsvVP;I+E5pVA;MA1GI,eAqBO;I/EovVX;I+E/pVA;MA1GI,qBAqBO;I/EuvVX;I+ElqVA;MA1GI,cAqBO;I/E0vVX;I+ErqVA;MA1GI,aAqBO;I/E6vVX;I+ExqVA;MA1GI,oBAqBO;I/EgwVX;I+E3qVA;MA1GI,cAqBO;I/EmwVX;I+E9qVA;MA1GI,kBAqBO;I/EswVX;I+EjrVA;MA1GI,mBAqBO;I/EywVX;I+EprVA;MA1GI,aAqBO;I/E4wVX;I+EvrVA;MA1GI,oBAqBO;I/E+wVX;I+E1rVA;MA1GI,iBAqBO;I/EkxVX;I+E7rVA;MA1GI,kBAqBO;I/EqxVX;I+EhsVA;MA1GI,aAqBO;I/EwxVX;I+EnsVA;MA1GI,cAgBG;I/EgyVP;I+EtsVA;MA1GI,mBAqBO;I/E8xVX;I+EzsVA;MA1GI,sBAqBO;I/EiyVX;I+E5sVA;MA1GI,2BAqBO;I/EoyVX;I+E/sVA;MA1GI,8BAqBO;I/EuyVX;I+EltVA;MA1GI,YAgBG;I/E+yVP;I+ErtVA;MA1GI,YAgBG;I/EkzVP;I+ExtVA;MA1GI,cAgBG;I/EqzVP;I+E3tVA;MA1GI,cAgBG;I/EwzVP;I+E9tVA;MA1GI,eAqBO;I/EszVX;I+EjuVA;MA1GI,iBAqBO;I/EyzVX;I+EpuVA;MA1GI,uBAqBO;I/E4zVX;I+EvuVA;MA1GI,2BAgBG;I/Eo0VP;I+E1uVA;MA1GI,yBAgBG;I/Eu0VP;I+E7uVA;MA1GI,uBAgBG;I/E00VP;I+EhvVA;MA1GI,8BAgBG;I/E60VP;I+EnvVA;MA1GI,6BAgBG;I/Eg1VP;I+EtvVA;MA1GI,6BAgBG;I/Em1VP;I+EzvVA;MA1GI,oBAgBG;I/Es1VP;I+E5vVA;MA1GI,kBAgBG;I/Ey1VP;I+E/vVA;MA1GI,qBAgBG;I/E41VP;I+ElwVA;MA1GI,sBAgBG;I/E+1VP;I+ErwVA;MA1GI,wBAgBG;I/Ek2VP;I+ExwVA;MA1GI,sBAgBG;I/Eq2VP;I+E3wVA;MA1GI,oBAgBG;I/Ew2VP;I+E9wVA;MA1GI,uBAgBG;I/E22VP;I+EjxVA;MA1GI,qBAgBG;I/E82VP;I+EpxVA;MA1GI,mBAgBG;I/Ei3VP;I+EvxVA;MA1GI,qBAgBG;I/Eo3VP;I+E1xVA;MA1GI,oBAgBG;I/Eu3VP;I+E7xVA;MA1GI,yBAgBG;I/E03VP;I+EhyVA;MA1GI,uBAgBG;I/E63VP;I+EnyVA;MA1GI,qBAgBG;I/Eg4VP;I+EtyVA;MA1GI,4BAgBG;I/Em4VP;I+EzyVA;MA1GI,2BAgBG;I/Es4VP;I+E5yVA;MA1GI,sBAgBG;I/Ey4VP;I+E/yVA;MA1GI,gBAgBG;I/E44VP;I+ElzVA;MA1GI,sBAgBG;I/E+4VP;I+ErzVA;MA1GI,oBAgBG;I/Ek5VP;I+ExzVA;MA1GI,kBAgBG;I/Eq5VP;I+E3zVA;MA1GI,oBAgBG;I/Ew5VP;I+E9zVA;MA1GI,mBAgBG;I/E25VP;I+Ej0VA;MA1GI,kBAgBG;I/E85VP;I+Ep0VA;MA1GI,gBAgBG;I/Ei6VP;I+Ev0VA;MA1GI,mBAgBG;I/Eo6VP;I+E10VA;MA1GI,oBAgBG;I/Eu6VP;I+E70VA;MA1GI,eAqBO;I/Eq6VX;I+Eh1VA;MA1GI,eAqBO;I/Ew6VX;I+En1VA;MA1GI,eAqBO;I/E26VX;I+Et1VA;MA1GI,mBAgBG;I/Em7VP;I+Ez1VA;MA1GI,mBAqBO;I/Ei7VX;I+E51VA;MA1GI,sBAqBO;I/Eo7VX;I+E/1VA;MA1GI,qBAqBO;I/Eu7VX;I+El2VA;MA1GI,SAgBG;I/E+7VP;I+Er2VA;MA1GI,QAgBG;I/Ek8VP;I+Ex2VA;MA1GI,QAgBG;I/Eq8VP;I+E32VA;MA1GI,QAgBG;I/Ew8VP;I+E92VA;MA1GI,QAgBG;I/E28VP;I+Ej3VA;MA1GI,QAgBG;I/E88VP;I+Ep3VA;MA1GI,QAgBG;I/Ei9VP;I+Ev3VA;MA1GI,QAgBG;I/Eo9VP;I+E13VA;MA1GI,SAgBG;I/Eu9VP;I+E73VA;MA1GI,eAgBG;I/E09VP;I+Eh4VA;MA1GI,cAgBG;I/E69VP;I+En4VA;MA1GI,YAgBG;I/Eg+VP;I+Et4VA;MA1GI,cAgBG;I/Em+VP;I+Ez4VA;MA1GI,YAgBG;I/Es+VP;I+E54VA;MA1GI,YAgBG;I/Ey+VP;I+E/4VA;MA1GI,gBAgBG;I/E4+VP;I+El5VA;MA1GI,sBAgBG;I/E++VP;I+Er5VA;MA1GI,qBAgBG;I/Ek/VP;I+Ex5VA;MA1GI,mBAgBG;I/Eq/VP;I+E35VA;MA1GI,qBAgBG;I/Ew/VP;I+E95VA;MA1GI,mBAgBG;I/E2/VP;I+Ej6VA;MA1GI,mBAgBG;I/E8/VP;I+Ep6VA;MA1GI,eAgBG;I/EigWP;I+Ev6VA;MA1GI,qBAgBG;I/EogWP;I+E16VA;MA1GI,oBAgBG;I/EugWP;I+E76VA;MA1GI,kBAgBG;I/E0gWP;I+Eh7VA;MA1GI,oBAgBG;I/E6gWP;I+En7VA;MA1GI,kBAgBG;I/EghWP;I+Et7VA;MA1GI,kBAgBG;I/EmhWP;I+Ez7VA;MA1GI,qBAgBG;I/EshWP;I+E57VA;MA1GI,2BAgBG;I/EyhWP;I+E/7VA;MA1GI,0BAgBG;I/E4hWP;I+El8VA;MA1GI,wBAgBG;I/E+hWP;I+Er8VA;MA1GI,0BAgBG;I/EkiWP;I+Ex8VA;MA1GI,wBAgBG;I/EqiWP;I+E38VA;MA1GI,wBAgBG;I/EwiWP;I+E98VA;MA1GI,oBAgBG;I/E2iWP;I+Ej9VA;MA1GI,0BAgBG;I/E8iWP;I+Ep9VA;MA1GI,yBAgBG;I/EijWP;I+Ev9VA;MA1GI,uBAgBG;I/EojWP;I+E19VA;MA1GI,yBAgBG;I/EujWP;I+E79VA;MA1GI,uBAgBG;I/E0jWP;I+Eh+VA;MA1GI,uBAgBG;I/E6jWP;I+En+VA;MA1GI,mBAgBG;I/EgkWP;I+Et+VA;MA1GI,yBAgBG;I/EmkWP;I+Ez+VA;MA1GI,wBAgBG;I/EskWP;I+E5+VA;MA1GI,sBAgBG;I/EykWP;I+E/+VA;MA1GI,wBAgBG;I/E4kWP;I+El/VA;MA1GI,sBAgBG;I/E+kWP;I+Er/VA;MA1GI,sBAgBG;I/EklWP;I+Ex/VA;MA1GI,sBAgBG;I/EqlWP;I+E3/VA;MA1GI,4BAgBG;I/EwlWP;I+E9/VA;MA1GI,2BAgBG;I/E2lWP;I+EjgWA;MA1GI,yBAgBG;I/E8lWP;I+EpgWA;MA1GI,2BAgBG;I/EimWP;I+EvgWA;MA1GI,yBAgBG;I/EomWP;I+E1gWA;MA1GI,yBAgBG;I/EumWP;I+E7gWA;MA1GI,UAgBG;I/E0mWP;I+EhhWA;MA1GI,gBAgBG;I/E6mWP;I+EnhWA;MA1GI,eAgBG;I/EgnWP;I+EthWA;MA1GI,aAgBG;I/EmnWP;I+EzhWA;MA1GI,eAgBG;I/EsnWP;I+E5hWA;MA1GI,aAgBG;I/EynWP;I+E/hWA;MA1GI,iBAgBG;I/E4nWP;I+EliWA;MA1GI,uBAgBG;I/E+nWP;I+EriWA;MA1GI,sBAgBG;I/EkoWP;I+ExiWA;MA1GI,oBAgBG;I/EqoWP;I+E3iWA;MA1GI,sBAgBG;I/EwoWP;I+E9iWA;MA1GI,oBAgBG;I/E2oWP;I+EjjWA;MA1GI,gBAgBG;I/E8oWP;I+EpjWA;MA1GI,sBAgBG;I/EipWP;I+EvjWA;MA1GI,qBAgBG;I/EopWP;I+E1jWA;MA1GI,mBAgBG;I/EupWP;I+E7jWA;MA1GI,qBAgBG;I/E0pWP;I+EhkWA;MA1GI,mBAgBG;I/E6pWP;I+EnkWA;MA1GI,sBAgBG;I/EgqWP;I+EtkWA;MA1GI,4BAgBG;I/EmqWP;I+EzkWA;MA1GI,2BAgBG;I/EsqWP;I+E5kWA;MA1GI,yBAgBG;I/EyqWP;I+E/kWA;MA1GI,2BAgBG;I/E4qWP;I+EllWA;MA1GI,yBAgBG;I/E+qWP;I+ErlWA;MA1GI,qBAgBG;I/EkrWP;I+ExlWA;MA1GI,2BAgBG;I/EqrWP;I+E3lWA;MA1GI,0BAgBG;I/EwrWP;I+E9lWA;MA1GI,wBAgBG;I/E2rWP;I+EjmWA;MA1GI,0BAgBG;I/E8rWP;I+EpmWA;MA1GI,wBAgBG;I/EisWP;I+EvmWA;MA1GI,oBAgBG;I/EosWP;I+E1mWA;MA1GI,0BAgBG;I/EusWP;I+E7mWA;MA1GI,yBAgBG;I/E0sWP;I+EhnWA;MA1GI,uBAgBG;I/E6sWP;I+EnnWA;MA1GI,yBAgBG;I/EgtWP;I+EtnWA;MA1GI,uBAgBG;I/EmtWP;I+EznWA;MA1GI,uBAgBG;I/EstWP;I+E5nWA;MA1GI,6BAgBG;I/EytWP;I+E/nWA;MA1GI,4BAgBG;I/E4tWP;I+EloWA;MA1GI,0BAgBG;I/E+tWP;I+EroWA;MA1GI,4BAgBG;I/EkuWP;I+ExoWA;MA1GI,0BAgBG;I/EquWP;I+E3oWA;MA1GI,MAgBG;I/EwuWP;I+E9oWA;MA1GI,YAgBG;I/E2uWP;I+EjpWA;MA1GI,WAgBG;I/E8uWP;I+EppWA;MA1GI,SAgBG;I/EivWP;I+EvpWA;MA1GI,WAgBG;I/EovWP;I+E1pWA;MA1GI,SAgBG;I/EuvWP;I+E7pWA;MA1GI,UAgBG;I/E0vWP;I+EhqWA;MA1GI,gBAgBG;I/E6vWP;I+EnqWA;MA1GI,eAgBG;I/EgwWP;I+EtqWA;MA1GI,aAgBG;I/EmwWP;I+EzqWA;MA1GI,eAgBG;I/EswWP;I+E5qWA;MA1GI,aAgBG;I/EywWP;I+E/qWA;MA1GI,kBAgBG;MAhBH,aAgBG;I/E4wWP;I+ElrWA;MA1GI,wBAgBG;MAhBH,mBAgBG;I/E+wWP;I+ErrWA;MA1GI,uBAgBG;MAhBH,kBAgBG;I/EkxWP;I+ExrWA;MA1GI,qBAgBG;MAhBH,gBAgBG;I/EqxWP;I+E3rWA;MA1GI,uBAgBG;MAhBH,kBAgBG;I/EwxWP;I+E9rWA;MA1GI,qBAgBG;MAhBH,gBAgBG;I/E2xWP;I+EjsWA;MA1GI,iBAgBG;I/E8xWP;I+EpsWA;MA1GI,eAgBG;I/EiyWP;I+EvsWA;MA1GI,kBAgBG;I/EoyWP;EACF;Ea1zWE;IkE+GA;MA1GI,mBAgBG;I/EyyWP;I+E/sWA;MA1GI,iBAgBG;I/E4yWP;I+EltWA;MA1GI,WAgBG;I/E+yWP;I+ErtWA;MA1GI,sBAgBG;MAhBH,mBAgBG;I/EkzWP;I+ExtWA;MA1GI,oBAgBG;MAhBH,iBAgBG;I/EqzWP;I+E3tWA;MA1GI,mBAgBG;MAhBH,gBAgBG;I/EwzWP;I+E9tWA;MA1GI,yBAgBG;MAhBH,sBAgBG;I/E2zWP;I+EjuWA;MA1GI,mBAgBG;MAhBH,gBAgBG;I/E8zWP;I+EpuWA;MA1GI,eAqBO;I/E4zWX;I+EvuWA;MA1GI,qBAqBO;I/E+zWX;I+E1uWA;MA1GI,cAqBO;I/Ek0WX;I+E7uWA;MA1GI,aAqBO;I/Eq0WX;I+EhvWA;MA1GI,oBAqBO;I/Ew0WX;I+EnvWA;MA1GI,cAqBO;I/E20WX;I+EtvWA;MA1GI,kBAqBO;I/E80WX;I+EzvWA;MA1GI,mBAqBO;I/Ei1WX;I+E5vWA;MA1GI,aAqBO;I/Eo1WX;I+E/vWA;MA1GI,oBAqBO;I/Eu1WX;I+ElwWA;MA1GI,iBAqBO;I/E01WX;I+ErwWA;MA1GI,kBAqBO;I/E61WX;I+ExwWA;MA1GI,aAqBO;I/Eg2WX;I+E3wWA;MA1GI,cAgBG;I/Ew2WP;I+E9wWA;MA1GI,mBAqBO;I/Es2WX;I+EjxWA;MA1GI,sBAqBO;I/Ey2WX;I+EpxWA;MA1GI,2BAqBO;I/E42WX;I+EvxWA;MA1GI,8BAqBO;I/E+2WX;I+E1xWA;MA1GI,YAgBG;I/Eu3WP;I+E7xWA;MA1GI,YAgBG;I/E03WP;I+EhyWA;MA1GI,cAgBG;I/E63WP;I+EnyWA;MA1GI,cAgBG;I/Eg4WP;I+EtyWA;MA1GI,eAqBO;I/E83WX;I+EzyWA;MA1GI,iBAqBO;I/Ei4WX;I+E5yWA;MA1GI,uBAqBO;I/Eo4WX;I+E/yWA;MA1GI,2BAgBG;I/E44WP;I+ElzWA;MA1GI,yBAgBG;I/E+4WP;I+ErzWA;MA1GI,uBAgBG;I/Ek5WP;I+ExzWA;MA1GI,8BAgBG;I/Eq5WP;I+E3zWA;MA1GI,6BAgBG;I/Ew5WP;I+E9zWA;MA1GI,6BAgBG;I/E25WP;I+Ej0WA;MA1GI,oBAgBG;I/E85WP;I+Ep0WA;MA1GI,kBAgBG;I/Ei6WP;I+Ev0WA;MA1GI,qBAgBG;I/Eo6WP;I+E10WA;MA1GI,sBAgBG;I/Eu6WP;I+E70WA;MA1GI,wBAgBG;I/E06WP;I+Eh1WA;MA1GI,sBAgBG;I/E66WP;I+En1WA;MA1GI,oBAgBG;I/Eg7WP;I+Et1WA;MA1GI,uBAgBG;I/Em7WP;I+Ez1WA;MA1GI,qBAgBG;I/Es7WP;I+E51WA;MA1GI,mBAgBG;I/Ey7WP;I+E/1WA;MA1GI,qBAgBG;I/E47WP;I+El2WA;MA1GI,oBAgBG;I/E+7WP;I+Er2WA;MA1GI,yBAgBG;I/Ek8WP;I+Ex2WA;MA1GI,uBAgBG;I/Eq8WP;I+E32WA;MA1GI,qBAgBG;I/Ew8WP;I+E92WA;MA1GI,4BAgBG;I/E28WP;I+Ej3WA;MA1GI,2BAgBG;I/E88WP;I+Ep3WA;MA1GI,sBAgBG;I/Ei9WP;I+Ev3WA;MA1GI,gBAgBG;I/Eo9WP;I+E13WA;MA1GI,sBAgBG;I/Eu9WP;I+E73WA;MA1GI,oBAgBG;I/E09WP;I+Eh4WA;MA1GI,kBAgBG;I/E69WP;I+En4WA;MA1GI,oBAgBG;I/Eg+WP;I+Et4WA;MA1GI,mBAgBG;I/Em+WP;I+Ez4WA;MA1GI,kBAgBG;I/Es+WP;I+E54WA;MA1GI,gBAgBG;I/Ey+WP;I+E/4WA;MA1GI,mBAgBG;I/E4+WP;I+El5WA;MA1GI,oBAgBG;I/E++WP;I+Er5WA;MA1GI,eAqBO;I/E6+WX;I+Ex5WA;MA1GI,eAqBO;I/Eg/WX;I+E35WA;MA1GI,eAqBO;I/Em/WX;I+E95WA;MA1GI,mBAgBG;I/E2/WP;I+Ej6WA;MA1GI,mBAqBO;I/Ey/WX;I+Ep6WA;MA1GI,sBAqBO;I/E4/WX;I+Ev6WA;MA1GI,qBAqBO;I/E+/WX;I+E16WA;MA1GI,SAgBG;I/EugXP;I+E76WA;MA1GI,QAgBG;I/E0gXP;I+Eh7WA;MA1GI,QAgBG;I/E6gXP;I+En7WA;MA1GI,QAgBG;I/EghXP;I+Et7WA;MA1GI,QAgBG;I/EmhXP;I+Ez7WA;MA1GI,QAgBG;I/EshXP;I+E57WA;MA1GI,QAgBG;I/EyhXP;I+E/7WA;MA1GI,QAgBG;I/E4hXP;I+El8WA;MA1GI,SAgBG;I/E+hXP;I+Er8WA;MA1GI,eAgBG;I/EkiXP;I+Ex8WA;MA1GI,cAgBG;I/EqiXP;I+E38WA;MA1GI,YAgBG;I/EwiXP;I+E98WA;MA1GI,cAgBG;I/E2iXP;I+Ej9WA;MA1GI,YAgBG;I/E8iXP;I+Ep9WA;MA1GI,YAgBG;I/EijXP;I+Ev9WA;MA1GI,gBAgBG;I/EojXP;I+E19WA;MA1GI,sBAgBG;I/EujXP;I+E79WA;MA1GI,qBAgBG;I/E0jXP;I+Eh+WA;MA1GI,mBAgBG;I/E6jXP;I+En+WA;MA1GI,qBAgBG;I/EgkXP;I+Et+WA;MA1GI,mBAgBG;I/EmkXP;I+Ez+WA;MA1GI,mBAgBG;I/EskXP;I+E5+WA;MA1GI,eAgBG;I/EykXP;I+E/+WA;MA1GI,qBAgBG;I/E4kXP;I+El/WA;MA1GI,oBAgBG;I/E+kXP;I+Er/WA;MA1GI,kBAgBG;I/EklXP;I+Ex/WA;MA1GI,oBAgBG;I/EqlXP;I+E3/WA;MA1GI,kBAgBG;I/EwlXP;I+E9/WA;MA1GI,kBAgBG;I/E2lXP;I+EjgXA;MA1GI,qBAgBG;I/E8lXP;I+EpgXA;MA1GI,2BAgBG;I/EimXP;I+EvgXA;MA1GI,0BAgBG;I/EomXP;I+E1gXA;MA1GI,wBAgBG;I/EumXP;I+E7gXA;MA1GI,0BAgBG;I/E0mXP;I+EhhXA;MA1GI,wBAgBG;I/E6mXP;I+EnhXA;MA1GI,wBAgBG;I/EgnXP;I+EthXA;MA1GI,oBAgBG;I/EmnXP;I+EzhXA;MA1GI,0BAgBG;I/EsnXP;I+E5hXA;MA1GI,yBAgBG;I/EynXP;I+E/hXA;MA1GI,uBAgBG;I/E4nXP;I+EliXA;MA1GI,yBAgBG;I/E+nXP;I+EriXA;MA1GI,uBAgBG;I/EkoXP;I+ExiXA;MA1GI,uBAgBG;I/EqoXP;I+E3iXA;MA1GI,mBAgBG;I/EwoXP;I+E9iXA;MA1GI,yBAgBG;I/E2oXP;I+EjjXA;MA1GI,wBAgBG;I/E8oXP;I+EpjXA;MA1GI,sBAgBG;I/EipXP;I+EvjXA;MA1GI,wBAgBG;I/EopXP;I+E1jXA;MA1GI,sBAgBG;I/EupXP;I+E7jXA;MA1GI,sBAgBG;I/E0pXP;I+EhkXA;MA1GI,sBAgBG;I/E6pXP;I+EnkXA;MA1GI,4BAgBG;I/EgqXP;I+EtkXA;MA1GI,2BAgBG;I/EmqXP;I+EzkXA;MA1GI,yBAgBG;I/EsqXP;I+E5kXA;MA1GI,2BAgBG;I/EyqXP;I+E/kXA;MA1GI,yBAgBG;I/E4qXP;I+EllXA;MA1GI,yBAgBG;I/E+qXP;I+ErlXA;MA1GI,UAgBG;I/EkrXP;I+ExlXA;MA1GI,gBAgBG;I/EqrXP;I+E3lXA;MA1GI,eAgBG;I/EwrXP;I+E9lXA;MA1GI,aAgBG;I/E2rXP;I+EjmXA;MA1GI,eAgBG;I/E8rXP;I+EpmXA;MA1GI,aAgBG;I/EisXP;I+EvmXA;MA1GI,iBAgBG;I/EosXP;I+E1mXA;MA1GI,uBAgBG;I/EusXP;I+E7mXA;MA1GI,sBAgBG;I/E0sXP;I+EhnXA;MA1GI,oBAgBG;I/E6sXP;I+EnnXA;MA1GI,sBAgBG;I/EgtXP;I+EtnXA;MA1GI,oBAgBG;I/EmtXP;I+EznXA;MA1GI,gBAgBG;I/EstXP;I+E5nXA;MA1GI,sBAgBG;I/EytXP;I+E/nXA;MA1GI,qBAgBG;I/E4tXP;I+El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,eAqBO;I/Es8XX;I+Ej3XA;MA1GI,iBAqBO;I/Ey8XX;I+Ep3XA;MA1GI,uBAqBO;I/E48XX;I+Ev3XA;MA1GI,2BAgBG;I/Eo9XP;I+E13XA;MA1GI,yBAgBG;I/Eu9XP;I+E73XA;MA1GI,uBAgBG;I/E09XP;I+Eh4XA;MA1GI,8BAgBG;I/E69XP;I+En4XA;MA1GI,6BAgBG;I/Eg+XP;I+Et4XA;MA1GI,6BAgBG;I/Em+XP;I+Ez4XA;MA1GI,oBAgBG;I/Es+XP;I+E54XA;MA1GI,kBAgBG;I/Ey+XP;I+E/4XA;MA1GI,qBAgBG;I/E4+XP;I+El5XA;MA1GI,sBAgBG;I/E++XP;I+Er5XA;MA1GI,wBAgBG;I/Ek/XP;I+Ex5XA;MA1GI,sBAgBG;I/Eq/XP;I+E35XA;MA1GI,oBAgBG;I/Ew/XP;I+E95XA;MA1GI,uBAgBG;I/E2/XP;I+Ej6XA;MA1GI,qBAgBG;I/E8/XP;I+Ep6XA;MA1GI,mBAgBG;I/EigYP;I+Ev6XA;MA1GI,qBAgBG;I/EogYP;I+E16XA;MA1GI,oBAgBG;I/EugYP;I+E76XA;MA1GI,yBAgBG;I/E0gYP;I+Eh7XA;MA1GI,uBAgBG;I/E6gYP;I+En7XA;MA1GI,qBAgBG;I/EghYP;I+Et7XA;MA1GI,4BAgBG;I/EmhYP;I+Ez7XA;MA1GI,2BAgBG;I/EshYP;I+E57XA;MA1GI,sBAgBG;I/EyhYP;I+E/7XA;MA1GI,gBAgBG;I/E4hYP;I+El8XA;MA1GI,sBAgBG;I/E+hYP;I+Er8XA;MA1GI,oBAgBG;I/EkiYP;I+Ex8XA;MA1GI,kBAgBG;I/EqiYP;I+E38XA;MA1GI,oBAgBG;I/EwiYP;I+E98XA;MA1GI,mBAgBG;I/E2iYP;I+Ej9XA;MA1GI,kBAgBG;I/E8iYP;I+Ep9XA;MA1GI,gBAgBG;I/EijYP;I+Ev9XA;MA1GI,mBAgBG;I/EojYP;I+E19XA;MA1GI,oBAgBG;I/EujYP;I+E79XA;MA1GI,eAqBO;I/EqjYX;I+Eh+XA;MA1GI,eAqBO;I/EwjYX;I+En+XA;MA1GI,eAqBO;I/E2jYX;I+Et+XA;MA1GI,mBAgBG;I/EmkYP;I+Ez+XA;MA1GI,mBAqBO;I/EikYX;I+E5+XA;MA1GI,sBAqBO;I/EokYX;I+E/+XA;MA1GI,qBAqBO;I/EukYX;I+El/XA;MA1GI,SAgBG;I/E+kYP;I+Er/XA;MA1GI,QAgBG;I/EklYP;I+Ex/XA;MA1GI,QAgBG;I/EqlYP;I+E3/XA;MA1GI,QAgBG;I/EwlYP;I+E9/XA;MA1GI,QAgBG;I/E2lYP;I+EjgYA;MA1GI,QAgBG;I/E8lYP;I+EpgYA;MA1GI,QAgBG;I/EimYP;I+EvgYA;MA1GI,QAgBG;I/EomYP;I+E1gYA;MA1GI,SAgBG;I/EumYP;I+E7gYA;MA1GI,eAgBG;I/E0mYP;I+EhhYA;MA1GI,cAgBG;I/E6mYP;I+EnhYA;MA1GI,YAgBG;I/EgnYP;I+EthYA;MA1GI,cAgBG;I/EmnYP;I+EzhYA;MA1GI,YAgBG;I/EsnYP;I+E5hYA;MA1GI,YAgBG;I/EynYP;I+E/hYA;MA1GI,gBAgBG;I/E4nYP;I+EliYA;MA1GI,sBAgBG;I/E+nYP;I+EriYA;MA1GI,qBAgBG;I/EkoYP;I+ExiYA;MA1GI,mBAgBG;I/EqoYP;I+E3iYA;MA1GI,qBAgBG;I/EwoYP;I+E9iYA;MA1GI,mBAgBG;I/E2oYP;I+EjjYA;MA1GI,mBAgBG;I/E8oYP;I+EpjYA;MA1GI,eAgBG;I/EipYP;I+EvjYA;MA1GI,qBAgBG;I/EopYP;I+E1jYA;MA1GI,oBAgBG;I/EupYP;I+E7jYA;MA1GI,kBAgBG;I/E0pYP;I+EhkYA;MA1GI,oBAgBG;I/E6pYP;I+EnkYA;MA1GI,kBAgBG;I/EgqYP;I+EtkYA;MA1GI,kBAgBG;I/EmqYP;I+EzkYA;MA1GI,qBAgBG;I/EsqYP;I+E5kYA;MA1GI,2BAgBG;I/EyqYP;I+E/kYA;MA1GI,0BAgBG;I/E4qYP;I+EllYA;MA1GI,wBAgBG;I/E+qYP;I+ErlYA;MA1GI,0BAgBG;I/EkrYP;I+ExlYA;MA1GI,wBAgBG;I/EqrYP;I+E3lYA;MA1GI,wBAgBG;I/EwrYP;I+E9lYA;MA1GI,oBAgBG;I/E2rYP;I+EjmYA;MA1GI,0BAgBG;I/E8rYP;I+EpmYA;MA1GI,yBAgBG;I/EisYP;I+EvmYA;MA1GI,uBAgBG;I/EosYP;I+E1mYA;MA1GI,yBAgBG;I/EusYP;I+E7mYA;MA1GI,uBAgBG;I/E0sYP;I+EhnYA;MA1GI,uBAgBG;I/E6sYP;I+EnnYA;MA1GI,mBAgBG;I/EgtYP;I+EtnYA;MA1GI,yBAgBG;I/EmtYP;I+EznYA;MA1GI,wBAgBG;I/EstYP;I+E5nYA;MA1GI,sBAgBG;I/EytYP;I+E/nYA;MA1GI,wBAgBG;I/E4tYP;I+EloYA;MA1GI,sBAgBG;I/E+tYP;I+EroYA;MA1GI,sBAgBG;I/EkuYP;I+ExoYA;MA1GI,sBAgBG;I/EquYP;I+E3oYA;MA1GI,4BAgBG;I/EwuYP;I+E9oYA;MA1GI,2BAgBG;I/E2uYP;I+EjpYA;MA1GI,yBAgBG;I/E8uYP;I+EppYA;MA1GI,2BAgBG;I/EivYP;I+EvpYA;MA1GI,yBAgBG;I/EovYP;I+E1pYA;MA1GI,yBAgBG;I/EuvYP;I+E7pYA;MA1GI,UAgBG;I/E0vYP;I+EhqYA;MA1GI,gBAgBG;I/E6vYP;I+EnqYA;MA1GI,eAgBG;I/EgwYP;I+EtqYA;MA1GI,aAgBG;I/EmwYP;I+EzqYA;MA1GI,eAgBG;I/EswYP;I+E5qYA;MA1GI,aAgBG;I/EywYP;I+E/qYA;MA1GI,iBAgBG;I/E4wYP;I+ElrYA;MA1GI,uBAgBG;I/E+wYP;I+ErrYA;MA1GI,sBAgBG;I/EkxYP;I+ExrYA;MA1GI,oBAgBG;I/EqxYP;I+E3rYA;MA1GI,sBAgBG;I/EwxYP;I+E9rYA;MA1GI,oBAgBG;I/E2xYP;I+EjsYA;MA1GI,gBAgBG;I/E8xYP;I+EpsYA;MA1GI,sBAgBG;I/EiyYP;I+EvsYA;MA1GI,qBAgBG;I/EoyYP;I+E1sYA;MA1GI,mBAgBG;I/EuyYP;I+E7sYA;MA1GI,qBAgBG;I/E0yYP;I+EhtYA;MA1GI,mBAgBG;I/E6yYP;I+EntYA;MA1GI,sBAgBG;I/EgzYP;I+EttYA;MA1GI,4BAgBG;I/EmzYP;I+EztYA;MA1GI,2BAgBG;I/EszYP;I+E5tYA;MA1GI,yBAgBG;I/EyzYP;I+E/tYA;MA1GI,2BAgBG;I/E4zYP;I+EluYA;MA1GI,yBAgBG;I/E+zYP;I+EruYA;MA1GI,qBAgBG;I/Ek0YP;I+ExuYA;MA1GI,2BAgBG;I/Eq0YP;I+E3uYA;MA1GI,0BAgBG;I/Ew0YP;I+E9uYA;MA1GI,wBAgBG;I/E20YP;I+EjvYA;MA1GI,0BAgBG;I/E80YP;I+EpvYA;MA1GI,wBAgBG;I/Ei1YP;I+EvvYA;MA1GI,oBAgBG;I/Eo1YP;I+E1vYA;MA1GI,0BAgBG;I/Eu1YP;I+E7vYA;MA1GI,yBAgBG;I/E01YP;I+EhwYA;MA1GI,uBAgBG;I/E61YP;I+EnwYA;MA1GI,yBAgBG;I/Eg2YP;I+EtwYA;MA1GI,uBAgBG;I/Em2YP;I+EzwYA;MA1GI,uBAgBG;I/Es2YP;I+E5wYA;MA1GI,6BAgBG;I/Ey2YP;I+E/wYA;MA1GI,4BAgBG;I/E42YP;I+ElxYA;MA1GI,0BAgBG;I/E+2YP;I+ErxYA;MA1GI,4BAgBG;I/Ek3YP;I+ExxYA;MA1GI,0BAgBG;I/Eq3YP;I+E3xYA;MA1GI,MAgBG;I/Ew3YP;I+E9xYA;MA1GI,YAgBG;I/E23YP;I+EjyYA;MA1GI,WAgBG;I/E83YP;I+EpyYA;MA1GI,SAgBG;I/Ei4YP;I+EvyYA;MA1GI,WAgBG;I/Eo4YP;I+E1yYA;MA1GI,SAgBG;I/Eu4YP;I+E7yYA;MA1GI,UAgBG;I/E04YP;I+EhzYA;MA1GI,gBAgBG;I/E64YP;I+EnzYA;MA1GI,eAgBG;I/Eg5YP;I+EtzYA;MA1GI,aAgBG;I/Em5YP;I+EzzYA;MA1GI,eAgBG;I/Es5YP;I+E5zYA;MA1GI,aAgBG;I/Ey5YP;I+E/zYA;MA1GI,kBAgBG;MAhBH,aAgBG;I/E45YP;I+El0YA;MA1GI,wBAgBG;MAhBH,mBAgBG;I/E+5YP;I+Er0YA;MA1GI,uBAgBG;MAhBH,kBAgBG;I/Ek6YP;I+Ex0YA;MA1GI,qBAgBG;MAhBH,gBAgBG;I/Eq6YP;I+E30YA;MA1GI,uBAgBG;MAhBH,kBAgBG;I/Ew6YP;I+E90YA;MA1GI,qBAgBG;MAhBH,gBAgBG;I/E26YP;I+Ej1YA;MA1GI,iBAgBG;I/E86YP;I+Ep1YA;MA1GI,eAgBG;I/Ei7YP;I+Ev1YA;MA1GI,kBAgBG;I/Eo7YP;EACF;AACF","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n.theme-primary {\n  --theme-base: var(--primary-base);\n  --theme-text: var(--primary-text);\n  --theme-text-emphasis: var(--primary-text-emphasis);\n  --theme-bg: var(--primary-bg);\n  --theme-bg-subtle: var(--primary-bg-subtle);\n  --theme-bg-muted: var(--primary-bg-muted);\n  --theme-border: var(--primary-border);\n  --theme-focus-ring: var(--primary-focus-ring);\n  --theme-contrast: var(--primary-contrast);\n}\n\n.theme-accent {\n  --theme-base: var(--accent-base);\n  --theme-text: var(--accent-text);\n  --theme-text-emphasis: var(--accent-text-emphasis);\n  --theme-bg: var(--accent-bg);\n  --theme-bg-subtle: var(--accent-bg-subtle);\n  --theme-bg-muted: var(--accent-bg-muted);\n  --theme-border: var(--accent-border);\n  --theme-focus-ring: var(--accent-focus-ring);\n  --theme-contrast: var(--accent-contrast);\n}\n\n.theme-success {\n  --theme-base: var(--success-base);\n  --theme-text: var(--success-text);\n  --theme-text-emphasis: var(--success-text-emphasis);\n  --theme-bg: var(--success-bg);\n  --theme-bg-subtle: var(--success-bg-subtle);\n  --theme-bg-muted: var(--success-bg-muted);\n  --theme-border: var(--success-border);\n  --theme-focus-ring: var(--success-focus-ring);\n  --theme-contrast: var(--success-contrast);\n}\n\n.theme-danger {\n  --theme-base: var(--danger-base);\n  --theme-text: var(--danger-text);\n  --theme-text-emphasis: var(--danger-text-emphasis);\n  --theme-bg: var(--danger-bg);\n  --theme-bg-subtle: var(--danger-bg-subtle);\n  --theme-bg-muted: var(--danger-bg-muted);\n  --theme-border: var(--danger-border);\n  --theme-focus-ring: var(--danger-focus-ring);\n  --theme-contrast: var(--danger-contrast);\n}\n\n.theme-warning {\n  --theme-base: var(--warning-base);\n  --theme-text: var(--warning-text);\n  --theme-text-emphasis: var(--warning-text-emphasis);\n  --theme-bg: var(--warning-bg);\n  --theme-bg-subtle: var(--warning-bg-subtle);\n  --theme-bg-muted: var(--warning-bg-muted);\n  --theme-border: var(--warning-border);\n  --theme-focus-ring: var(--warning-focus-ring);\n  --theme-contrast: var(--warning-contrast);\n}\n\n.theme-info {\n  --theme-base: var(--info-base);\n  --theme-text: var(--info-text);\n  --theme-text-emphasis: var(--info-text-emphasis);\n  --theme-bg: var(--info-bg);\n  --theme-bg-subtle: var(--info-bg-subtle);\n  --theme-bg-muted: var(--info-bg-muted);\n  --theme-border: var(--info-border);\n  --theme-focus-ring: var(--info-focus-ring);\n  --theme-contrast: var(--info-contrast);\n}\n\n.theme-inverse {\n  --theme-base: var(--inverse-base);\n  --theme-text: var(--inverse-text);\n  --theme-text-emphasis: var(--inverse-text-emphasis);\n  --theme-bg: var(--inverse-bg);\n  --theme-bg-subtle: var(--inverse-bg-subtle);\n  --theme-bg-muted: var(--inverse-bg-muted);\n  --theme-border: var(--inverse-border);\n  --theme-focus-ring: var(--inverse-focus-ring);\n  --theme-contrast: var(--inverse-contrast);\n}\n\n.theme-secondary {\n  --theme-base: var(--secondary-base);\n  --theme-text: var(--secondary-text);\n  --theme-text-emphasis: var(--secondary-text-emphasis);\n  --theme-bg: var(--secondary-bg);\n  --theme-bg-subtle: var(--secondary-bg-subtle);\n  --theme-bg-muted: var(--secondary-bg-muted);\n  --theme-border: var(--secondary-border);\n  --theme-focus-ring: var(--secondary-focus-ring);\n  --theme-contrast: var(--secondary-contrast);\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --body-font-family: var(--font-sans-serif);\n  --font-size-base: 14px;\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  --body-font-size: 14px;\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --code-color: var(--secondary-text);\n  --highlight-color: var(--fg-body);\n  --highlight-bg: light-dark(var(--yellow-100), var(--yellow-900));\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: color-mix(in oklch, var(--gray-100), var(--gray-200));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-sm: 0.375rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --form-valid-color: var(--success);\n  --form-valid-border-color: var(--success);\n  --form-invalid-color: var(--danger);\n  --form-invalid-border-color: var(--danger);\n  color-scheme: light;\n  --root-font-size: 16px;\n}\n\n[data-bs-theme=dark] {\n  --heading-color: inherit;\n  --border-color: var(--gray-700);\n  --form-valid-color: var(--green-300);\n  --form-valid-border-color: var(--green-300);\n  --form-invalid-color: var(--red-300);\n  --form-invalid-border-color: var(--red-300);\n  color-scheme: dark;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bg-body);\n    background-color: var(--fg-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: 0.5rem;\n  }\n  .initialism {\n    font-size: 0.875em;\n    text-transform: uppercase;\n  }\n  .blockquote {\n    margin-bottom: 1rem;\n    font-size: 17.5px;\n  }\n  .blockquote > :last-child {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    margin-top: -1rem;\n    margin-bottom: 1rem;\n    font-size: 0.875em;\n    color: var(--gray-600);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    --table-color: var(--fg-body);\n    --table-bg: var(--bg-body);\n    --table-border-color: var(--border-color);\n    --table-accent-bg: transparent;\n    --table-striped-color: var(--fg-body);\n    --table-striped-bg: color-mix(in srgb, var(--table-color) 5%, transparent);\n    --table-active-color: var(--fg-body);\n    --table-active-bg: color-mix(in srgb, var(--table-color) 10%, transparent);\n    --table-hover-color: var(--fg-body);\n    --table-hover-bg: color-mix(in srgb, var(--table-color) 7.5%, transparent);\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: top;\n    border-color: var(--theme-border, var(--table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: 0.5rem 0.5rem;\n    color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n    background-color: var(--theme-bg-subtle, var(--table-bg));\n    border-block-end-width: var(--border-width);\n    box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--border-width) * 2) solid currentcolor;\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    padding: 0.25rem 0.25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) 5%, transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) 5%, transparent);\n  }\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) 10%, transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --table-color-state: var(--theme-text, var(--table-hover-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) 7.5%, transparent);\n  }\n  .table-responsive {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  @media (width < 576px) {\n    .table-responsive-sm {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 768px) {\n    .table-responsive-md {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1024px) {\n    .table-responsive-lg {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1280px) {\n    .table-responsive-xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1536px) {\n    .table-responsive-2xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    padding: 0.25rem;\n    background-color: var(--bg-body);\n    border: var(--border-width) solid var(--border-color);\n    border-radius: var(--border-radius);\n    box-shadow: var(--box-shadow-sm);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    display: inline-block;\n  }\n  .figure-img {\n    margin-bottom: 0.5rem;\n    line-height: 1;\n  }\n  .figure-caption {\n    font-size: 0.875em;\n    color: var(--secondary-color);\n  }\n}\n@layer content {\n  .prose {\n    --content-font-size: var(--font-size-sm);\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n  }\n  .prose p,\n  .prose ul,\n  .prose ol,\n  .prose dl,\n  .prose pre,\n  .prose table,\n  .prose blockquote {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]) li:not(:last-child) {\n    margin-bottom: calc(var(--content-gap) / 4);\n  }\n  .prose li ul,\n  .prose li ol {\n    margin-top: calc(var(--content-gap) / 4);\n  }\n  .prose hr {\n    margin: calc(var(--content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  .prose h1:not([class]),\n  .prose h2:not([class]),\n  .prose h3:not([class]),\n  .prose h4:not([class]),\n  .prose h5:not([class]),\n  .prose h6:not([class]) {\n    margin-top: 0;\n    margin-bottom: calc(var(--content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose h1:not([class]) code,\n  .prose h2:not([class]) code,\n  .prose h3:not([class]) code,\n  .prose h4:not([class]) code,\n  .prose h5:not([class]) code,\n  .prose h6:not([class]) code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose h1:not(:first-child),\n  .prose h2:not(:first-child) {\n    margin-top: calc(var(--content-gap) * 1.5);\n  }\n  .prose h3:not(:first-child),\n  .prose h4:not(:first-child),\n  .prose h5:not(:first-child),\n  .prose h6:not(:first-child) {\n    margin-top: calc(var(--content-gap) * 1.25);\n  }\n  .prose h1 {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose h2 {\n    font-size: 1.75em;\n  }\n  .prose h3 {\n    font-size: 1.5em;\n  }\n  .prose h4 {\n    font-size: 1.25em;\n  }\n  .prose h5 {\n    font-size: 1.125em;\n  }\n  .prose h6 {\n    font-size: 1em;\n  }\n  .prose a:not([class]) {\n    color: var(--link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose a:not([class]) {\n      transition: none;\n    }\n  }\n  .prose a:not([class]):hover {\n    text-decoration-color: var(--link-hover-color);\n  }\n  .prose img {\n    max-width: 100%;\n  }\n  .prose blockquote {\n    padding-inline-start: calc(var(--content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--border-color);\n  }\n  .prose table {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])) td,\n  .prose :where(table:not([class])) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--border-color);\n  }\n  .prose dt {\n    font-weight: 500;\n  }\n  .prose video,\n  .prose img {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer forms {\n  .form-label {\n    margin-bottom: 0.5rem;\n  }\n  .col-form-label {\n    padding-top: add(0.375rem, var(--border-width));\n    padding-bottom: add(0.375rem, var(--border-width));\n    margin-bottom: 0;\n    font-size: inherit;\n    line-height: 1.5;\n  }\n  .col-form-label-lg {\n    padding-top: add(0.5rem, var(--border-width));\n    padding-bottom: add(0.5rem, var(--border-width));\n    font-size: 17.5px;\n  }\n  .col-form-label-sm {\n    padding-top: add(0.25rem, var(--border-width));\n    padding-bottom: add(0.25rem, var(--border-width));\n    font-size: 12.25px;\n  }\n}\n@layer forms {\n  .form-text {\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--secondary-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --control-min-height: 2.5rem;\n    --control-padding-y: 0.375rem;\n    --control-padding-x: 0.75rem;\n    --control-font-size: 14px;\n    --control-line-height: 1.5;\n    --control-color: var(--fg-body);\n    --control-bg: var(--bg-body);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --control-select-bg-color: var(--gray-600);\n    --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --control-select-bg-position: right 0.75rem center;\n    --control-select-bg-size: 16px 12px;\n    display: block;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control:focus-visible {\n    --focus-ring-offset: -1px;\n    color: var(--fg-body);\n    background-color: var(--bg-body);\n    border-color: var(--primary-border);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-control::-webkit-date-and-time-value {\n    min-width: 85px;\n    height: 1.5em;\n    margin: 0;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    padding: 0;\n  }\n  .form-control::placeholder {\n    color: var(--secondary-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    background-color: var(--secondary-bg);\n    opacity: 1;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n    margin-inline-end: var(--control-padding-x);\n    color: var(--fg-body);\n    background-color: var(--tertiary-bg);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--control-border-width);\n    border-radius: 0;\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--secondary-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: 0.375rem 0;\n    margin-bottom: 0;\n    line-height: 1.5;\n    color: var(--fg-body);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--control-padding-x);\n    background-image: none;\n  }\n  select.form-control [data-bs-theme=dark] {\n    --control-select-indicator: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n  }\n  .form-control-sm {\n    --control-min-height: 2rem;\n    --control-padding-y: 0.25rem;\n    --control-padding-x: 0.5rem;\n    --control-font-size: 12.25px;\n    --control-line-height: 1.25;\n    --control-border-radius: var(--border-radius-sm);\n  }\n  .form-control-lg {\n    --control-min-height: 3rem;\n    --control-padding-y: 0.5rem;\n    --control-padding-x: 1rem;\n    --control-font-size: 17.5px;\n    --control-line-height: 2;\n    --control-border-radius: var(--border-radius-lg);\n  }\n  .form-control-color {\n    width: 3rem;\n    height: 2.5rem;\n    padding: 0.375rem;\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius);\n  }\n  .form-control-color.form-control-sm {\n    height: 2rem;\n  }\n  .form-control-color.form-control-lg {\n    height: 3rem;\n  }\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n  }\n  .form-ghost:focus {\n    outline: 0;\n  }\n  .form-ghost::placeholder {\n    color: var(--fg-3);\n    opacity: 1;\n  }\n  .form-ghost:disabled {\n    color: var(--fg-4);\n    cursor: not-allowed;\n  }\n}\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  b-checkgroup .description {\n    color: var(--secondary-text);\n  }\n  .check {\n    --check-bg: transparent;\n    --check-border-color: var(--border-color);\n    --check-checked-bg: var(--primary-base);\n    --check-checked-border-color: var(--primary-base);\n    --check-indeterminate-bg: var(--primary-base);\n    --check-indeterminate-border-color: var(--primary-base);\n    --check-disabled-bg: var(--bg-3);\n    --check-disabled-opacity: 0.65;\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: 0.125rem;\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: 1rem;\n    height: 1rem;\n  }\n  .check :where(input) {\n    appearance: none;\n    background-color: var(--theme-bg, var(--check-bg));\n    border: 1px solid var(--theme-bg, var(--check-border-color));\n    border-radius: 0.25em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--theme-bg, var(--check-checked-bg));\n    border-color: var(--theme-bg, var(--check-checked-border-color));\n  }\n  .check :where(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--primary-contrast);\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --check-bg: var(--check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n}\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  b-radiogroup .description {\n    color: var(--secondary-text);\n  }\n  .radio {\n    --radio-bg: transparent;\n    --radio-border-color: var(--border-color);\n    --radio-checked-bg: var(--primary-base);\n    --radio-checked-border-color: var(--primary-base);\n    --radio-disabled-bg: var(--bg-3);\n    --radio-disabled-opacity: 0.65;\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: 0.125rem;\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--theme-contrast, var(--primary-contrast));\n    background-color: var(--theme-bg, var(--radio-checked-bg));\n    border-color: var(--theme-bg, var(--radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --radio-bg: var(--radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .radio:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n@layer forms {\n  .switch {\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: .0625rem;\n    --switch-bg: var(--secondary-bg);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--primary-base);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--secondary-bg);\n    --switch-disabled-indicator-bg: var(--secondary-text);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--switch-indicator-bg);\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    appearance: none;\n    background-color: transparent;\n    outline: 0;\n  }\n  .switch:focus-within {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n    background-color: var(--theme-bg, var(--switch-checked-bg));\n    border-color: var(--theme-bg, var(--switch-checked-border-color));\n  }\n  .switch:has(input:disabled) {\n    --switch-bg: var(--switch-disabled-bg);\n    --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --switch-height: 1em;\n  }\n  .switch-lg {\n    --switch-height: 2em;\n  }\n}\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: calc(1rem + var(--focus-ring-width) * 2);\n    padding: 0;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:focus {\n    outline: 0;\n  }\n  .form-range:focus::-webkit-slider-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range:focus::-moz-range-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: -0.25rem;\n    appearance: none;\n    background-color: var(--primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: tint-color(var(--primary-bg), 70%);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--box-shadow-inset);\n  }\n  .form-range::-moz-range-thumb {\n    width: 1rem;\n    height: 1rem;\n    appearance: none;\n    background-color: var(--primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: tint-color(var(--primary-bg), 70%);\n  }\n  .form-range::-moz-range-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--box-shadow-inset);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--secondary-color);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--secondary-color);\n  }\n}\n@layer forms {\n  .form-floating {\n    position: relative;\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext,\n  .form-floating > .form-select {\n    height: calc(3.5rem + calc(var(--border-width) * 2));\n    min-height: calc(3.5rem + calc(var(--border-width) * 2));\n    line-height: 1.25;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    max-width: 100%;\n    height: 100%;\n    padding: 1rem 0.75rem;\n    overflow: hidden;\n    color: color-mix(in oklch, var(--body-color) 65%, transparent);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    padding: 1rem 0.75rem;\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-select {\n    padding-inline-start: 0.75rem;\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label,\n  .form-floating > .form-select ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: 1rem 0.375rem;\n    z-index: -1;\n    height: 1.5em;\n    content: \"\";\n    background-color: var(--bg-body);\n    border-radius: var(--border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--secondary-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--gray-600);\n  }\n}\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-select,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-select:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group .btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group .btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: 0.375rem 0.75rem;\n    font-size: 14px;\n    line-height: 1.5;\n    color: var(--fg-body);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--tertiary-bg);\n    border: var(--border-width) solid var(--border-color);\n    border-radius: var(--border-radius);\n  }\n  .input-group-lg > .form-control,\n  .input-group-lg > .form-select,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    padding: 0.5rem 1rem;\n    font-size: 17.5px;\n    border-radius: var(--border-radius-lg);\n  }\n  .input-group-sm > .form-control,\n  .input-group-sm > .form-select,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    padding: 0.25rem 0.5rem;\n    font-size: 12.25px;\n    border-radius: var(--border-radius-sm);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.dropdown-menu) {\n    margin-inline-start: calc(-1 * var(--border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer forms {\n  .strength {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-bg: var(--bg-2);\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-color: var(--bg-2);\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: 0.25rem;\n  }\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-segment {\n      transition: none;\n    }\n  }\n  .strength-segment.active {\n    background-color: var(--strength-color);\n  }\n  .strength[data-bs-strength=weak] {\n    --strength-color: var(--danger-bg);\n  }\n  .strength[data-bs-strength=fair] {\n    --strength-color: var(--warning-bg);\n  }\n  .strength[data-bs-strength=good] {\n    --strength-color: var(--info-bg);\n  }\n  .strength[data-bs-strength=strong] {\n    --strength-color: var(--success-bg);\n  }\n  .strength-text {\n    display: block;\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--strength-color, var(--secondary-color));\n    transition: color 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-text {\n      transition: none;\n    }\n  }\n  .strength-text:empty {\n    display: none;\n  }\n  .strength-bar {\n    --strength-height: 0.375rem;\n    --strength-bg: var(--bg-2);\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-color: transparent;\n    --strength-width: 0%;\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: 0.25rem;\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n  }\n  .strength-bar::after {\n    display: block;\n    width: var(--strength-width);\n    height: 100%;\n    content: \"\";\n    background-color: var(--strength-color);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-bar::after {\n      transition: none;\n    }\n  }\n  .strength-bar[data-bs-strength=weak] {\n    --strength-color: var(--danger-bg);\n    --strength-width: 25%;\n  }\n  .strength-bar[data-bs-strength=fair] {\n    --strength-color: var(--warning-bg);\n    --strength-width: 50%;\n  }\n  .strength-bar[data-bs-strength=good] {\n    --strength-color: var(--info-bg);\n    --strength-width: 75%;\n  }\n  .strength-bar[data-bs-strength=strong] {\n    --strength-color: var(--success-bg);\n    --strength-width: 100%;\n  }\n}\n@layer forms {\n  .otp {\n    --otp-size: 3rem;\n    --otp-font-size: 17.5px;\n    --otp-gap: 0.5rem;\n    display: inline-flex;\n    gap: var(--otp-gap);\n  }\n  .otp .form-control {\n    width: var(--otp-size);\n    min-height: var(--otp-size);\n    padding: 0;\n    font-size: var(--otp-font-size);\n    font-weight: 500;\n    line-height: 1;\n    text-align: center;\n  }\n  .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n    margin: 0;\n    appearance: none;\n  }\n  .otp .form-control[type=number] {\n    appearance: textfield;\n  }\n  .otp .form-control:focus, .otp .form-control:focus-visible {\n    z-index: 1;\n  }\n  .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n    --focus-ring-color: rgba(var(--success-rgb), .25);\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n    --focus-ring-color: rgba(var(--danger-rgb), .25);\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.input-group {\n    gap: 0;\n    width: auto;\n  }\n  .otp.input-group .form-control {\n    flex: 0 0 auto;\n  }\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n  .otp-sm {\n    --otp-size: 2.25rem;\n    --otp-font-size: 14px;\n  }\n  .otp-lg {\n    --otp-size: 3.5rem;\n    --otp-font-size: 21.875px;\n  }\n}\n@layer forms {\n  .form-adorn {\n    --control-min-height: 2.5rem;\n    --control-padding-y: 0.375rem;\n    --control-padding-x: 0.75rem;\n    --control-font-size: 14px;\n    --control-line-height: 1.5;\n    --control-color: var(--fg-body);\n    --control-bg: var(--bg-body);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --form-adorn-gap: 0.375rem;\n    --form-adorn-icon-size: 1rem;\n    --form-adorn-icon-color: var(--fg-2);\n    display: flex;\n    gap: var(--form-adorn-gap);\n    align-items: center;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-adorn {\n      transition: none;\n    }\n  }\n  .form-adorn:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--primary-border);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-adorn > .form-ghost {\n    flex: 1;\n    min-width: 0;\n  }\n  .form-adorn.form-adorn-end > .form-ghost {\n    order: -1;\n  }\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n  }\n  .form-adorn-icon > svg {\n    width: var(--form-adorn-icon-size);\n    height: var(--form-adorn-icon-size);\n  }\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n  .form-adorn-sm {\n    --control-min-height: 2rem;\n    --control-padding-y: 0.25rem;\n    --control-padding-x: 0.5rem;\n    --control-font-size: 12.25px;\n    --control-line-height: 1.25;\n    --control-border-radius: var(--border-radius-sm);\n  }\n  .form-adorn-lg {\n    --control-min-height: 3rem;\n    --control-padding-y: 0.5rem;\n    --control-padding-x: 1rem;\n    --control-font-size: 17.5px;\n    --control-line-height: 2;\n    --control-border-radius: var(--border-radius-lg);\n  }\n}\n@layer forms {\n  .chip-input {\n    --chip-input-padding-y: 0.75rem;\n    --chip-input-padding-x: 0.75rem;\n    --control-padding-x: 0.75rem;\n    --control-color: var(--fg-body);\n    --control-bg: var(--bg-body);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --chip-input-gap: 0.375rem;\n    --chip-input-ghost-min-width: 5rem;\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n  }\n  .chip-input:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--primary-border);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .chip-input > .form-ghost {\n    flex: 1 1 0;\n    min-width: var(--chip-input-ghost-min-width);\n    min-height: 1.75rem;\n  }\n  .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n    background-color: var(--secondary-bg);\n    opacity: 1;\n  }\n  .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n    opacity: 0.65;\n  }\n  .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n    pointer-events: none;\n  }\n  .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n    cursor: not-allowed;\n  }\n}\n@layer components {\n  .tooltip {\n    --tooltip-zindex: 1080;\n    --tooltip-max-width: 200px;\n    --tooltip-padding-x: 0.75rem;\n    --tooltip-padding-y: 0.375rem;\n    --tooltip-font-size: var(--font-size-sm);\n    --tooltip-color: var(--bg-body);\n    --tooltip-bg: var(--fg-body);\n    --tooltip-border-radius: var(--border-radius);\n    --tooltip-opacity: 0.95;\n    --tooltip-arrow-width: 0.8rem;\n    --tooltip-arrow-height: 0.4rem;\n    z-index: var(--tooltip-zindex);\n    display: block;\n    font-family: var(--font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--tooltip-arrow-width);\n    height: var(--tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-block-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-inline-start-color: var(--tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n}\n@layer forms {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--font-size-sm);\n    color: #fff;\n    background-color: var(--success);\n    border-radius: var(--border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--form-valid-border-color);\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='var%28--success%29' d='M2.3 6.73.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.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n    border-color: var(--form-valid-border-color);\n    box-shadow: var(--box-shadow-inset);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:valid, .form-control-color.is-valid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--form-valid-border-color);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--form-valid-color);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: 0.375rem 0.75rem;\n    margin-top: 0.1rem;\n    font-size: var(--font-size-sm);\n    color: #fff;\n    background-color: var(--danger);\n    border-radius: var(--border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--form-invalid-border-color);\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--danger%29' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n    border-color: var(--form-invalid-border-color);\n    box-shadow: var(--box-shadow-inset);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--form-invalid-border-color);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn,\n  .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --btn-min-height: 2.25rem;\n    --btn-padding-x: 0.75rem;\n    --btn-padding-y: 0.375rem;\n    --btn-font-size: var(--font-size-base);\n    --btn-font-weight: var(--font-weight-normal);\n    --btn-line-height: var(--line-height-base);\n    --btn-color: var(--fg-body);\n    --btn-border-width: var(--border-width);\n    --btn-border-color: transparent;\n    --btn-border-radius: var(--border-radius);\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: 0.65;\n    display: inline-flex;\n    gap: var(--btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    vertical-align: middle;\n    cursor: pointer;\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    border-radius: var(--btn-border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn,\n    .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover,\n  .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--btn-hover-color);\n    background-color: var(--btn-hover-bg, var(--bg-3));\n    border-color: var(--btn-hover-border-color);\n  }\n  .btn:focus-visible,\n  .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show,\n  .btn-solid.active,\n  .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible,\n  .btn-solid.active:focus-visible,\n  .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn,\n  .btn-solid:disabled,\n  .btn-solid.disabled,\n  fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n  }\n  .btn-solid {\n    --btn-bg: var(--theme-bg);\n    --btn-color: var(--theme-contrast);\n    --btn-border-color: var(--theme-bg);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-solid:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-outline {\n    --btn-bg: transparent;\n    --btn-color: var(--theme-text);\n    --btn-border-color: var(--theme-border);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-outline:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-subtle {\n    --btn-bg: var(--theme-bg-subtle);\n    --btn-color: var(--theme-text);\n    --btn-border-color: transparent;\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n    --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --btn-color: var(--theme-text);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --btn-font-weight: 400;\n    --btn-color: var(--link-color);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: var(--link-hover-color);\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: var(--link-hover-color);\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: var(--fg-3);\n    --btn-disabled-border-color: transparent;\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n  }\n  .btn-link:focus-visible {\n    color: var(--theme-text, var(--btn-color));\n  }\n  .btn-link:hover {\n    color: var(--theme-text-emphasis, var(--btn-hover-color));\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --btn-min-height: 1.5rem;\n    --btn-padding-y: 0.125rem;\n    --btn-padding-x: 0.375rem;\n    --btn-font-size: var(--font-size-xs);\n    --btn-line-height: 1.125rem;\n    --btn-border-radius: var(--border-radius-sm);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --btn-min-height: 2rem;\n    --btn-padding-y: 0.25rem;\n    --btn-padding-x: 0.5rem;\n    --btn-font-size: var(--font-size-sm);\n    --btn-line-height: 1.125rem;\n    --btn-border-radius: var(--border-radius-sm);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --btn-min-height: 2.75rem;\n    --btn-padding-y: 0.5rem;\n    --btn-padding-x: 1rem;\n    --btn-font-size: var(--font-size-md);\n    --btn-line-height: 1.25rem;\n    --btn-border-radius: var(--border-radius-lg);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:hover {\n    z-index: 1;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 2;\n  }\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:focus,\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:focus {\n    z-index: 3;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .dropdown-toggle-split {\n    padding-inline: 0.5625rem;\n  }\n  .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n    margin-inline-start: 0;\n  }\n  .dropstart .dropdown-toggle-split::before {\n    margin-inline-end: 0;\n  }\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: 0.375rem;\n  }\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: 0.75rem;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --btn-close-size: 1.25rem;\n    --btn-close-color: var(--fg-body);\n    --btn-close-opacity: 0.5;\n    --btn-close-hover-opacity: 0.75;\n    --btn-close-focus-opacity: 0.85;\n    --btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--border-radius-sm);\n    opacity: var(--btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--btn-close-color);\n    text-decoration: none;\n    opacity: var(--btn-close-hover-opacity);\n  }\n  .btn-close:focus {\n    outline: var(--focus-ring);\n    opacity: var(--btn-close-focus-opacity);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    user-select: none;\n    opacity: var(--btn-close-disabled-opacity);\n  }\n}\n@layer components {\n  .accordion {\n    --accordion-color: var(--fg-body);\n    --accordion-bg: var(--bg-body);\n    --accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-radius 0.15s ease;\n    --accordion-border-color: var(--border-color);\n    --accordion-border-width: var(--border-width);\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    --accordion-btn-padding-x: 1.25rem;\n    --accordion-btn-padding-y: 1rem;\n    --accordion-btn-color: var(--fg-2);\n    --accordion-btn-bg: var(--accordion-bg);\n    --accordion-btn-icon-width: 1rem;\n    --accordion-btn-icon-transform: rotate(-180deg);\n    --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --accordion-body-padding-x: 1.25rem;\n    --accordion-body-padding-y: 1rem;\n    --accordion-active-color: var(--fg);\n    --accordion-active-bg: var(--bg-2);\n  }\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);\n    font-size: 14px;\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none;\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    transition: var(--accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header {\n      transition: none;\n    }\n  }\n  .accordion-header .accordion-icon {\n    flex-shrink: 0;\n    width: var(--accordion-btn-icon-width);\n    height: var(--accordion-btn-icon-width);\n    margin-inline-start: auto;\n    color: currentcolor;\n    transition: var(--accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header .accordion-icon {\n      transition: none;\n    }\n  }\n  .accordion-header:hover {\n    z-index: 2;\n  }\n  .accordion-header:focus-visible {\n    position: relative;\n    z-index: 3;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    outline-offset: -1px;\n  }\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--accordion-border-radius);\n    border-start-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header {\n    border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header {\n    border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:last-of-type > .accordion-body {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item[open] {\n    border-color: var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header {\n    color: var(--theme-text, var(--accordion-active-color));\n    background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n    box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header .accordion-icon {\n    transform: var(--accordion-btn-icon-transform);\n  }\n  .accordion-item[open]:last-of-type > .accordion-header {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .accordion-body {\n    padding: var(--accordion-body-padding-y) var(--accordion-body-padding-x);\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-header,\n  .accordion-flush > .accordion-item > .accordion-body {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --alert-gap: 0.75rem;\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: 1rem;\n    --alert-padding-y: 1rem;\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: var(--border-width) solid var(--alert-border-color);\n    --alert-border-radius: var(--border-radius);\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    border-radius: var(--alert-border-radius);\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: 600;\n    color: var(--alert-link-color);\n  }\n}\n@layer components {\n  .avatar {\n    --avatar-border-radius: 50%;\n    --avatar-border-width: 2px;\n    --avatar-border-color: var(--bg-body);\n    --avatar-bg: var(--bg-2);\n    --avatar-color: var(--fg-body);\n    --avatar-status-size: 0.75rem;\n    --avatar-status-border-width: 2px;\n    --avatar-status-border-color: var(--bg-body);\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size, 2.5rem);\n    height: var(--avatar-size, 2.5rem);\n    font-size: calc(var(--avatar-size) * 0.4);\n    font-weight: 500;\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    border-radius: var(--avatar-border-radius);\n  }\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: inherit;\n  }\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    border-radius: 50%;\n  }\n  .avatar-status.status-online {\n    background-color: var(--green-500);\n  }\n  .avatar-status.status-offline {\n    background-color: var(--gray-400);\n    border-radius: 20%;\n  }\n  .avatar-status.status-busy {\n    background-color: var(--red-500);\n    border-radius: 20%;\n  }\n  .avatar-status.status-away {\n    background-color: var(--yellow-500);\n  }\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n  }\n  .avatar-stack .avatar {\n    margin-left: calc(var(--avatar-size, 2.5rem) * -0.3);\n    border: var(--avatar-border-width) solid var(--avatar-border-color);\n    mask-image: none;\n  }\n  .avatar-stack .avatar:last-child {\n    margin-left: 0;\n  }\n  .avatar-stack .avatar:hover {\n    z-index: 1;\n    transform: translateY(-2px);\n  }\n  .avatar-xs,\n  .avatar-stack-xs {\n    --avatar-size: 1.5rem;\n    --avatar-status-size: .625rem;\n  }\n  .avatar-sm,\n  .avatar-stack-sm {\n    --avatar-size: 2rem;\n  }\n  .avatar-lg,\n  .avatar-stack-lg {\n    --avatar-size: 3rem;\n    --avatar-status-size: 1rem;\n  }\n  .avatar-xl,\n  .avatar-stack-xl {\n    --avatar-size: 4rem;\n    --avatar-status-size: 1.25rem;\n  }\n}\n@layer components {\n  .badge {\n    --badge-padding-x: 0.625em;\n    --badge-padding-y: 0.25em;\n    --badge-font-size: clamp(12px, 0.75em, 0.75em);\n    --badge-font-weight: 600;\n    --badge-color: inherit;\n    --badge-bg: var(--bg-2);\n    --badge-border-width: 1px;\n    --badge-border-color: transparent;\n    --badge-border-radius: var(--border-radius-lg);\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    border-radius: var(--badge-border-radius);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --badge-color: var(--theme-text);\n    --badge-bg: var(--theme-bg-subtle);\n    --badge-border-color: transparent;\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n  .badge-outline {\n    --badge-color: var(--theme-text);\n    --badge-bg: transparent;\n    --badge-border-color: var(--theme-border);\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --breadcrumb-padding-x: 0;\n    --breadcrumb-padding-y: 0;\n    --breadcrumb-margin-bottom: 1rem;\n    --breadcrumb-font-size: ;\n    --breadcrumb-bg: ;\n    --breadcrumb-border-radius: var(--border-radius);\n    --breadcrumb-divider-color: var(--fg-4);\n    --breadcrumb-link-padding-x: 0.75rem;\n    --breadcrumb-link-padding-y: 0.25rem;\n    --breadcrumb-link-color: var(--fg-3);\n    --breadcrumb-link-hover-color: var(--fg-2);\n    --breadcrumb-link-hover-bg: var(--bg-1);\n    --breadcrumb-link-active-color: var(--fg-1);\n    --breadcrumb-link-border-radius: var(--border-radius-lg);\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    border-radius: var(--breadcrumb-border-radius);\n  }\n  .breadcrumb-item {\n    display: flex;\n  }\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    border-radius: var(--breadcrumb-link-border-radius);\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .breadcrumb-link {\n      transition: none;\n    }\n  }\n  .breadcrumb-link:hover {\n    z-index: 2;\n    color: var(--breadcrumb-link-hover-color);\n    background-color: var(--breadcrumb-link-hover-bg);\n  }\n  .breadcrumb-link.active {\n    color: var(--breadcrumb-link-active-color);\n  }\n}\n@layer components {\n  .chip {\n    --chip-height: 1.75rem;\n    --chip-padding-x: 0.625rem;\n    --chip-gap: 0.3125rem;\n    --chip-border-radius: var(--border-radius-pill);\n    --chip-img-size: 1.25rem;\n    --chip-icon-size: 1rem;\n    --chip-dismiss-size: 1rem;\n    --chip-dismiss-opacity: 0.65;\n    --chip-dismiss-hover-opacity: 1;\n    --chip-color: var(--theme-text, var(--fg-body));\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n    --chip-border-color: transparent;\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    border-radius: var(--chip-border-radius);\n  }\n  .chip:hover {\n    --chip-bg: var(--theme-bg-muted, var(--bg-3));\n  }\n  .chip:focus-visible {\n    outline: 0;\n  }\n  .chip.active {\n    --chip-color: var(--chip-selected-color);\n    --chip-bg: var(--chip-selected-bg);\n    --chip-border-color: var(--chip-selected-border-color);\n  }\n  .chip.active:hover {\n    --chip-bg: var(--chip-selected-bg);\n    opacity: 0.9;\n  }\n  .chip.disabled, .chip:disabled {\n    pointer-events: none;\n    opacity: 0.65;\n  }\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    border-radius: 50%;\n  }\n  .chip-img:first-child {\n    margin-inline-start: -0.375rem;\n  }\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -0.25);\n  }\n  .chip-icon > svg {\n    display: block;\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n  }\n  .chip-icon > img {\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n    object-fit: cover;\n    border-radius: 50%;\n  }\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n  }\n  .chip-dismiss:hover {\n    opacity: var(--chip-dismiss-hover-opacity);\n  }\n  .chip-dismiss:focus-visible {\n    outline: 0;\n    opacity: 1;\n    outline: var(--focus-ring);\n  }\n  .chip-dismiss > svg {\n    display: block;\n    width: var(--chip-dismiss-size);\n    height: var(--chip-dismiss-size);\n  }\n}\n@layer components {\n  .card {\n    --card-spacer-y: 1rem;\n    --card-spacer-x: 1rem;\n    --card-subtitle-color: ;\n    --card-border-width: var(--border-width);\n    --card-border-color: var(--border-color-translucent);\n    --card-border-radius: var(--border-radius-lg);\n    --card-box-shadow: ;\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --card-cap-padding-y: 0.75rem;\n    --card-cap-padding-x: 1rem;\n    --card-cap-bg: var(--bg-1);\n    --card-cap-color: ;\n    --card-height: ;\n    --card-color: ;\n    --card-bg: var(--bg-body);\n    --card-img-overlay-padding: 1rem;\n    --card-group-margin: 0.75rem;\n    --card-body-gap: 0.5rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    box-shadow: var(--card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card-body {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body > * {\n    margin-block: 0;\n  }\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body:first-child,\n  .card-list:first-child {\n    border-start-start-radius: var(--card-border-radius);\n    border-start-end-radius: var(--card-border-radius);\n    border-top-width: var(--card-border-width);\n  }\n  .card-body:last-child,\n  .card-list:last-child {\n    border-end-start-radius: var(--card-border-radius);\n    border-end-end-radius: var(--card-border-radius);\n    border-bottom-width: var(--card-border-width);\n  }\n  .card-body:not(:first-child):not(:last-child),\n  .card-list:not(:first-child):not(:last-child) {\n    border-block-end-width: var(--card-border-width);\n  }\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -0.5);\n  }\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-header:first-child {\n    border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n  }\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-header {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-footer {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-body,\n  .card-subtle .card-list {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .nav.card-header-tabs {\n    margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .nav.card-header-tabs .nav-link.active {\n    background-color: var(--card-bg);\n    border-block-end-color: var(--card-bg);\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    border-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-start-end-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-row {\n    flex-direction: row;\n  }\n  .card-row .card-body,\n  .card-row .card-list {\n    border-width: var(--card-border-width) 0;\n    border-radius: 0;\n  }\n  .card-row .card-body:first-child,\n  .card-row .card-list:first-child {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-inline-start-width: var(--card-border-width);\n  }\n  .card-row .card-body:last-child,\n  .card-row .card-list:last-child {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-row .card-body:not(:first-child):not(:last-child),\n  .card-row .card-list:not(:first-child):not(:last-child) {\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-img-start {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n  }\n  .card-img-end {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: transform 0.6s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s 0.6s;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 15%;\n    padding: 0;\n    color: #fff;\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: 0.5;\n    transition: opacity 0.15s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: #fff;\n    text-decoration: none;\n    outline: 0;\n    opacity: 0.9;\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: 2rem;\n    height: 2rem;\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n  .carousel-control-prev-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"));\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#fff'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"));\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: 15%;\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: 30px;\n    height: 3px;\n    padding: 0;\n    margin-inline: 3px;\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: 10px solid transparent;\n    opacity: 0.5;\n    transition: opacity 0.6s ease;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: 1;\n  }\n  .carousel-caption {\n    position: absolute;\n    right: 15%;\n    bottom: 1.25rem;\n    left: 15%;\n    padding-top: 1.25rem;\n    padding-bottom: 1.25rem;\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  :root,\n  [data-bs-theme=light] {\n    --carousel-indicator-active-bg: #fff;\n    --carousel-caption-color: #fff;\n    --carousel-control-icon-filter: ;\n  }\n  [data-bs-theme=dark] {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n}\n@layer components {\n  [data-vc=calendar] {\n    --datepicker-padding: 1rem;\n    --datepicker-bg: var(--bg-body);\n    --datepicker-color: var(--fg-body);\n    --datepicker-border-color: var(--border-color-translucent);\n    --datepicker-border-width: var(--border-width);\n    --datepicker-border-radius: var(--border-radius-lg);\n    --datepicker-box-shadow: var(--box-shadow);\n    --datepicker-font-size: var(--font-size-sm);\n    --datepicker-min-width: 280px;\n    --datepicker-zindex: 1000;\n    --datepicker-header-font-weight: 600;\n    --datepicker-weekday-color: var(--fg-3);\n    --datepicker-day-hover-bg: var(--bg-1);\n    --datepicker-day-selected-bg: var(--primary-bg);\n    --datepicker-day-selected-color: var(--primary-contrast);\n    --datepicker-day-today-bg: var(--bg-2);\n    --datepicker-day-today-color: var(--fg-1);\n    --datepicker-day-disabled-color: var(--fg-4);\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    border-radius: var(--datepicker-border-radius);\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n  }\n  [data-vc=calendar][data-bs-theme=light] {\n    color-scheme: light;\n  }\n  [data-vc=calendar][data-bs-theme=dark] {\n    color-scheme: dark;\n  }\n  [data-vc=calendar] button:focus-visible {\n    position: relative;\n    z-index: 1;\n    outline: var(--focus-ring);\n  }\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n  [data-vc=calendar]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n  [data-vc-position=bottom] {\n    margin-block-start: 0.25rem;\n  }\n  [data-vc-position=top] {\n    margin-block-end: -0.25rem;\n  }\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-arrow]::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n    background-repeat: no-repeat;\n    background-position: center;\n  }\n  [data-vc-arrow]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-arrow=prev]::before {\n    transform: rotate(90deg);\n  }\n  [data-vc-arrow=next]::before {\n    transform: rotate(-90deg);\n  }\n  [data-vc=controls] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n  [data-vc=grid] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n  [data-vc=column] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n  [data-vc=header] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: 0.75rem;\n  }\n  [data-vc-header=content] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n  [data-vc=month],\n  [data-vc=year] {\n    padding: 0.25rem 0.5rem;\n    margin-inline: -0.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc=month]:disabled,\n  [data-vc=year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc=month]:hover:not(:disabled),\n  [data-vc=year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc=content] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n  [data-vc=months],\n  [data-vc=years] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: 0.25rem;\n    align-items: center;\n  }\n  [data-vc=years] {\n    --vc-columns: 5;\n  }\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-months-month]:disabled,\n  [data-vc-years-year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc-months-month]:hover:not(:disabled),\n  [data-vc-years-year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n  [data-vc-years-year][data-vc-months-month-selected],\n  [data-vc-years-year][data-vc-years-year-selected] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n  [data-vc-years-year][data-vc-months-month-selected]:hover,\n  [data-vc-years-year][data-vc-years-year-selected]:hover {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc=week] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: 0.5rem;\n  }\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n  [data-vc=dates] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    pointer-events: none;\n  }\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: 0.125rem;\n    padding-bottom: 0.125rem;\n    pointer-events: auto;\n  }\n  [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n    pointer-events: none;\n  }\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: 0.75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-date-btn]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n  [data-vc-date-month=next] [data-vc-date-btn],\n  [data-vc-date-month=prev] [data-vc-date-btn] {\n    opacity: 0.5;\n  }\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n  [data-vc-date-hover=first] [data-vc-date-btn] {\n    border-start-start-radius: 0.5rem;\n    border-end-start-radius: 0.5rem;\n  }\n  [data-vc-date-hover=last] [data-vc-date-btn] {\n    border-start-end-radius: 0.5rem;\n    border-end-end-radius: 0.5rem;\n  }\n  [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n    border-radius: 0.5rem;\n  }\n  [data-vc-date-selected=middle] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: 0.8;\n  }\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-date-selected=first] [data-vc-date-btn] {\n    border-top-left-radius: 0.5rem;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: 0.5rem;\n  }\n  [data-vc-date-selected=last] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: 0.5rem;\n    border-bottom-right-radius: 0.5rem;\n    border-bottom-left-radius: 0;\n  }\n  [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n    border-radius: 0.5rem;\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --dialog-padding: 1rem;\n    --dialog-width: 500px;\n    --dialog-margin: 1.75rem;\n    --dialog-color: var(--fg-body);\n    --dialog-bg: var(--bg-body);\n    --dialog-border-color: var(--border-color-translucent);\n    --dialog-border-width: var(--border-width);\n    --dialog-border-radius: var(--border-radius-lg);\n    --dialog-box-shadow: var(--box-shadow-lg);\n    --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --dialog-header-padding: 1rem;\n    --dialog-header-border-color: var(--border-color);\n    --dialog-header-border-width: var(--border-width);\n    --dialog-footer-padding: 1rem;\n    --dialog-footer-border-color: var(--border-color);\n    --dialog-footer-border-width: var(--border-width);\n    --dialog-footer-gap: 0.5rem;\n    max-width: var(--dialog-width);\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog::backdrop {\n    background-color: var(--dialog-backdrop-bg);\n  }\n  .dialog.fade {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade {\n      transition: none;\n    }\n  }\n  .dialog.fade::backdrop {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade::backdrop {\n      transition: none;\n    }\n  }\n  .dialog.fade[open] {\n    opacity: 1;\n  }\n  .dialog.fade[open]::backdrop {\n    opacity: 1;\n  }\n  .dialog.dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--dialog-width);\n    margin-block-end: var(--dialog-margin);\n    margin-inline: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    display: flex;\n    flex-direction: column;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  .dialog-sm {\n    --dialog-width: 280px;\n  }\n  .dialog-lg {\n    --dialog-width: 800px;\n  }\n  .dialog-xl {\n    --dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .dialog-fullscreen-sm-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .dialog-fullscreen-md-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .dialog-fullscreen-lg-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .dialog-fullscreen-xl-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .dialog-fullscreen-2xl-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n    overflow-y: auto;\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n@layer components {\n  .dropdown {\n    position: relative;\n  }\n  .dropdown-menu {\n    --dropdown-zindex: 1000;\n    --dropdown-gap: 0.125rem;\n    --dropdown-min-width: 10rem;\n    --dropdown-padding-x: 0.25rem;\n    --dropdown-padding-y: 0.25rem;\n    --dropdown-spacer: 0.125rem;\n    --dropdown-font-size: 14px;\n    --dropdown-color: var(--fg-body);\n    --dropdown-bg: var(--bg-body);\n    --dropdown-border-color: var(--border-color-translucent);\n    --dropdown-border-radius: var(--border-radius-lg);\n    --dropdown-border-width: var(--border-width);\n    --dropdown-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --dropdown-divider-bg: var(--border-color-translucent);\n    --dropdown-divider-margin-y: 0.125rem;\n    --dropdown-divider-margin-x: 0.25rem;\n    --dropdown-box-shadow: var(--box-shadow);\n    --dropdown-link-color: var(--fg-body);\n    --dropdown-link-hover-color: var(--fg-body);\n    --dropdown-link-hover-bg: var(--bg-1);\n    --dropdown-link-active-color: var(--primary-contrast);\n    --dropdown-link-active-bg: var(--primary-bg);\n    --dropdown-link-disabled-color: var(--fg-3);\n    --dropdown-item-gap: 0.5rem;\n    --dropdown-item-padding-x: 0.75rem;\n    --dropdown-item-padding-y: 0.25rem;\n    --dropdown-item-border-radius: var(--border-radius);\n    --dropdown-header-color: var(--gray-600);\n    --dropdown-header-padding-x: 0.75rem;\n    --dropdown-header-padding-y: 0.25rem;\n    position: absolute;\n    z-index: var(--dropdown-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--dropdown-gap);\n    min-width: var(--dropdown-min-width);\n    padding: var(--dropdown-padding-y) var(--dropdown-padding-x);\n    margin: 0;\n    font-size: var(--dropdown-font-size);\n    color: var(--dropdown-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--dropdown-bg);\n    background-clip: padding-box;\n    border: var(--dropdown-border-width) solid var(--dropdown-border-color);\n    border-radius: var(--dropdown-border-radius);\n    box-shadow: var(--dropdown-box-shadow);\n  }\n  .dropdown-menu.show {\n    display: flex;\n  }\n  .dropdown-divider {\n    height: 0;\n    margin: var(--dropdown-divider-margin-y) var(--dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--dropdown-divider-bg);\n    opacity: 1;\n  }\n  .dropdown-item {\n    display: flex;\n    gap: var(--dropdown-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    font-weight: 400;\n    color: var(--dropdown-link-color);\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--dropdown-item-border-radius, 0);\n  }\n  .dropdown-item:hover, .dropdown-item:focus {\n    color: var(--dropdown-link-hover-color);\n    background-color: var(--dropdown-link-hover-bg);\n  }\n  .dropdown-item.active, .dropdown-item:active {\n    color: var(--dropdown-link-active-color);\n    background-color: var(--dropdown-link-active-bg);\n  }\n  .dropdown-item.disabled, .dropdown-item:disabled {\n    color: var(--dropdown-link-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n  }\n  .dropdown-header {\n    display: block;\n    padding: var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);\n    margin-bottom: 0;\n    font-size: 12.25px;\n    color: var(--dropdown-header-color);\n    white-space: nowrap;\n  }\n  .dropdown-item-text {\n    display: block;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    color: var(--fg-2);\n  }\n  .dropdown-menu-dark {\n    --dropdown-color: var(--gray-300);\n    --dropdown-bg: var(--gray-900);\n    --dropdown-border-color: var(--border-color-translucent);\n    --dropdown-box-shadow: ;\n    --dropdown-link-color: var(--gray-300);\n    --dropdown-link-hover-color: #fff;\n    --dropdown-divider-bg: var(--border-color-translucent);\n    --dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n    --dropdown-link-active-color: var(--primary-contrast);\n    --dropdown-link-active-bg: var(--primary-bg);\n    --dropdown-link-disabled-color: var(--gray-500);\n    --dropdown-header-color: var(--gray-500);\n  }\n  .dropdown-submenu {\n    position: relative;\n  }\n  .dropdown-submenu > .dropdown-item {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .dropdown-submenu > .dropdown-item::after {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 0.375em;\n    height: 0.375em;\n    margin-inline-start: auto;\n    content: \"\";\n    border-color: currentcolor;\n    border-style: solid;\n    border-width: 0 0.125em 0.125em 0;\n    transform: rotate(-45deg);\n  }\n  [dir=rtl] .dropdown-submenu > .dropdown-item::after {\n    transform: rotate(135deg);\n  }\n  .dropdown-submenu > .dropdown-menu {\n    top: 0;\n    margin-top: calc(-1 * var(--dropdown-padding-y));\n  }\n  .dropdown-submenu:hover > .dropdown-item, .dropdown-submenu:focus-within > .dropdown-item {\n    color: var(--dropdown-link-hover-color);\n    background-color: var(--dropdown-link-hover-bg);\n  }\n  .dropdown-submenu.show > .dropdown-item {\n    color: var(--dropdown-link-hover-color);\n    background-color: var(--dropdown-link-hover-bg);\n  }\n}\n@layer components {\n  .list-group {\n    --list-group-color: var(--fg-body);\n    --list-group-bg: var(--bg-body);\n    --list-group-border-color: var(--border-color);\n    --list-group-border-width: var(--border-width);\n    --list-group-border-radius: var(--border-radius);\n    --list-group-item-padding-x: 1rem;\n    --list-group-item-padding-y: 0.5rem;\n    --list-group-action-color: var(--secondary-color);\n    --list-group-action-hover-color: var(--fg-color);\n    --list-group-action-hover-bg: var(--tertiary-bg);\n    --list-group-action-active-color: var(--fg-body);\n    --list-group-action-active-bg: var(--secondary-bg);\n    --list-group-disabled-color: var(--secondary-color);\n    --list-group-disabled-bg: var(--bg-body);\n    --list-group-active-color: var(--primary-contrast);\n    --list-group-active-bg: var(--primary-bg);\n    --list-group-active-border-color: var(--primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--list-group-active-color);\n    background-color: var(--list-group-active-bg);\n    border-color: var(--list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--list-group-border-width));\n    border-block-start-width: var(--list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n    background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--list-group-border-width));\n    border-inline-start-width: var(--list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .list-group-horizontal-sm {\n      flex-direction: row;\n    }\n    .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .list-group-horizontal-md {\n      flex-direction: row;\n    }\n    .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .list-group-horizontal-lg {\n      flex-direction: row;\n    }\n    .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .list-group-horizontal-xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .list-group-horizontal-2xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-2xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --nav-gap: 0.125rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-align: center;\n    --nav-link-justify: center;\n    --nav-link-padding-x: 1rem;\n    --nav-link-padding-y: 0.5rem;\n    --nav-link-color: var(--fg-2);\n    --nav-link-hover-color: var(--fg-1);\n    --nav-link-hover-bg: var(--bg-1);\n    --nav-link-active-color: var(--fg-body);\n    --nav-link-active-bg: var(--bg-2);\n    --nav-link-disabled-color: var(--fg-4);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    border-radius: var(--border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--nav-link-hover-color);\n    background-color: var(--nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    --focus-ring-offset: 1px;\n    color: var(--nav-link-hover-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--nav-link-active-color);\n    background-color: var(--nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --nav-tabs-border-width: var(--border-width);\n    --nav-tabs-border-color: var(--border-color);\n    --nav-tabs-border-radius: var(--border-radius);\n    --nav-tabs-link-hover-border-color: var(--border-subtle);\n    --nav-tabs-link-active-color: var(--fg-color);\n    --nav-tabs-link-active-bg: var(--bg-body);\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n    border-block-end: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    margin-bottom: calc(-1 * var(--nav-tabs-border-width));\n    border: var(--nav-tabs-border-width) solid transparent;\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--nav-tabs-link-active-color);\n    background-color: var(--nav-tabs-link-active-bg);\n    border-color: var(--nav-tabs-link-active-border-color);\n    border-bottom-color: var(--nav-tabs-link-active-bg);\n  }\n  .nav-tabs .dropdown-menu {\n    margin-top: calc(-1 * var(--nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --nav-pills-link-active-color: var(--primary-contrast);\n    --nav-pills-link-active-bg: var(--primary-bg);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--nav-pills-link-active-color);\n    background-color: var(--nav-pills-link-active-bg);\n  }\n  .nav-underline {\n    --nav-gap: 1rem;\n    --nav-link-active-bg: transparent;\n    --nav-underline-border-width: 0.125rem;\n    --nav-underline-link-active-color: var(--fg-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border-block-end: var(--nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .navbar {\n    --navbar-padding-x: 0;\n    --navbar-padding-y: 0.5rem;\n    --navbar-color: var(--fg-2);\n    --navbar-hover-color: var(--fg-1);\n    --navbar-disabled-color: var(--fg-3);\n    --navbar-active-color: var(--fg);\n    --navbar-brand-padding-y: 0.75rem;\n    --navbar-brand-margin-end: 1rem;\n    --navbar-brand-font-size: 17.5px;\n    --navbar-brand-color: var(--fg);\n    --navbar-brand-hover-color: var(--fg);\n    --navbar-nav-link-padding-x: 0.75rem;\n    --navbar-toggler-padding-y: 0.25rem;\n    --navbar-toggler-padding-x: 0.75rem;\n    --navbar-toggler-font-size: 17.5px;\n    --navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='color-mix(in oklch, var(--body-color) 75%, transparent)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n    --navbar-toggler-border-radius: var(--border-radius);\n    --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n  }\n  .navbar > .container-2xl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --nav-link-color: var(--navbar-color);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--navbar-active-color);\n  }\n  .navbar-text {\n    color: var(--navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--navbar-active-color);\n  }\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    align-items: center;\n  }\n  .navbar-toggler {\n    padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);\n    font-size: var(--navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--navbar-color);\n    background-color: transparent;\n    border: var(--border-width) solid var(--navbar-toggler-border-color);\n    border-radius: var(--navbar-toggler-border-radius);\n    transition: var(--navbar-toggler-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .navbar-toggler {\n      transition: none;\n    }\n  }\n  .navbar-toggler:hover {\n    text-decoration: none;\n  }\n  .navbar-toggler:focus-visible {\n    text-decoration: none;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n  .navbar-nav-scroll {\n    max-height: var(--scroll-height, 75vh);\n    overflow-y: auto;\n  }\n  @media (width >= 576px) {\n    .navbar-expand-sm {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-sm .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-sm .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-sm .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-sm .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-sm .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .navbar-expand-md {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-md .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-md .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-md .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-md .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-md .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .navbar-expand-lg {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-lg .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-lg .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-lg .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-lg .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-lg .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .navbar-expand-xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-xl .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .navbar-expand-2xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-2xl .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-2xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-2xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-2xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-2xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand .offcanvas {\n    position: static;\n    z-index: auto;\n    flex-grow: 1;\n    width: auto !important;\n    height: auto !important;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-header {\n    display: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-body {\n    display: flex;\n    flex-grow: 0;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-dark,\n  .navbar[data-bs-theme=dark] {\n    --navbar-color: rgba(255, 255, 255, 0.55);\n    --navbar-hover-color: rgba(255, 255, 255, 0.75);\n    --navbar-disabled-color: rgba(255, 255, 255, 0.25);\n    --navbar-active-color: #fff;\n    --navbar-brand-color: #fff;\n    --navbar-brand-hover-color: #fff;\n    --navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n    --navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n  [data-bs-theme=dark] .navbar-toggler-icon {\n    --navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n}\n.offcanvas, .offcanvas-2xl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n  --offcanvas-zindex: 1045;\n  --offcanvas-width: 400px;\n  --offcanvas-height: 30vh;\n  --offcanvas-padding-x: 1rem;\n  --offcanvas-padding-y: 1rem;\n  --offcanvas-color: var(--fg-body);\n  --offcanvas-bg: var(--bg-body);\n  --offcanvas-border-width: var(--border-width);\n  --offcanvas-border-color: var(--border-color-translucent);\n  --offcanvas-box-shadow: var(--box-shadow-sm);\n  --offcanvas-transition: transform 0.3s ease-in-out;\n  --offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .offcanvas-sm {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-sm {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .offcanvas-sm.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-sm.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-sm.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-sm.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 576px) {\n    .offcanvas-sm {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-sm .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-sm .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-md {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-md.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-md.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-md.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .offcanvas-md {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-md .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-md .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-lg {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-lg.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-lg.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-lg.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .offcanvas-lg {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-lg .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-lg .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-xl {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .offcanvas-xl {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-2xl {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-2xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-2xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-2xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.hiding, .offcanvas-2xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .offcanvas-2xl {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-2xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-2xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .offcanvas {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--offcanvas-color);\n    visibility: hidden;\n    background-color: var(--offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    box-shadow: var(--offcanvas-box-shadow);\n    transition: var(--offcanvas-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .offcanvas {\n      transition: none;\n    }\n  }\n  .offcanvas.offcanvas-start {\n    inset-block: 0;\n    inset-inline-start: 0;\n    width: var(--offcanvas-width);\n    border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-start {\n    transform: translateX(100%);\n  }\n  .offcanvas.offcanvas-end {\n    inset-block: 0;\n    inset-inline-end: 0;\n    width: var(--offcanvas-width);\n    border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-end {\n    transform: translateX(-100%);\n  }\n  .offcanvas.offcanvas-top {\n    inset: 0 0 auto;\n    height: var(--offcanvas-height);\n    max-height: 100%;\n    border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas.offcanvas-bottom {\n    inset: auto 0 0;\n    height: var(--offcanvas-height);\n    max-height: 100%;\n    border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateY(100%);\n  }\n  .offcanvas.showing, .offcanvas.show:not(.hiding) {\n    transform: none;\n  }\n  .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n    visibility: visible;\n  }\n  .offcanvas-backdrop {\n    position: fixed;\n    inset: 0;\n    z-index: 1040;\n    background-color: #000;\n  }\n  .offcanvas-backdrop.fade {\n    opacity: 0;\n  }\n  .offcanvas-backdrop.show {\n    opacity: 0.5;\n  }\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n  }\n  .offcanvas-header .btn-close {\n    padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--offcanvas-padding-x));\n    margin-top: calc(-0.5 * var(--offcanvas-padding-y));\n    margin-bottom: calc(-0.5 * var(--offcanvas-padding-y));\n  }\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --pagination-padding-x: 0.75rem;\n    --pagination-padding-y: 0.375rem;\n    --pagination-font-size: 14px;\n    --pagination-color: var(--link-color);\n    --pagination-bg: var(--bg-body);\n    --pagination-border-width: var(--border-width);\n    --pagination-border-color: var(--border-color);\n    --pagination-border-radius: var(--border-radius);\n    --pagination-hover-color: var(--link-hover-color);\n    --pagination-hover-bg: var(--tertiary-bg);\n    --pagination-hover-border-color: var(--border-color);\n    --pagination-focus-color: var(--link-hover-color);\n    --pagination-focus-bg: var(--secondary-bg);\n    --pagination-active-color: var(--primary-contrast);\n    --pagination-active-bg: var(--primary-bg);\n    --pagination-active-border-color: var(--primary-bg);\n    --pagination-disabled-color: var(--secondary-color);\n    --pagination-disabled-bg: var(--secondary-bg);\n    --pagination-disabled-border-color: var(--border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--pagination-hover-color);\n    background-color: var(--pagination-hover-bg);\n    border-color: var(--pagination-hover-border-color);\n  }\n  .page-link:focus-visible {\n    z-index: 3;\n    color: var(--pagination-focus-color);\n    background-color: var(--pagination-focus-bg);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--pagination-active-color);\n    background-color: var(--pagination-active-bg);\n    border-color: var(--pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--pagination-disabled-bg);\n    border-color: var(--pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--pagination-border-radius);\n    border-end-start-radius: var(--pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--pagination-border-radius);\n    border-end-end-radius: var(--pagination-border-radius);\n  }\n  .pagination-lg {\n    --pagination-padding-x: 1.5rem;\n    --pagination-padding-y: 0.75rem;\n    --pagination-font-size: 17.5px;\n    --pagination-border-radius: var(--border-radius-lg);\n  }\n  .pagination-sm {\n    --pagination-padding-x: 0.5rem;\n    --pagination-padding-y: 0.25rem;\n    --pagination-font-size: 12.25px;\n    --pagination-border-radius: var(--border-radius-sm);\n  }\n}\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: 0.5;\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: 0.2;\n    }\n  }\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --popover-zindex: 1070;\n    --popover-max-width: 280px;\n    --popover-font-size: var(--font-size-sm);\n    --popover-bg: var(--bg-body);\n    --popover-border-width: var(--border-width);\n    --popover-border-color: var(--border-color-translucent);\n    --popover-border-radius: var(--border-radius-lg);\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --popover-box-shadow: var(--box-shadow);\n    --popover-header-padding-x: 1rem;\n    --popover-header-padding-y: 0.75rem;\n    --popover-header-font-size: 14px;\n    --popover-header-color: inherit;\n    --popover-header-bg: var(--bg-1);\n    --popover-body-padding-x: 1rem;\n    --popover-body-padding-y: 0.75rem;\n    --popover-body-color: var(--fg-body);\n    --popover-arrow-width: 1rem;\n    --popover-arrow-height: 0.5rem;\n    --popover-arrow-border: var(--popover-border-color);\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    font-family: var(--font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    border-radius: var(--popover-border-radius);\n    box-shadow: var(--popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--popover-arrow-width);\n    height: var(--popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--popover-border-width);\n    border-block-start-color: var(--popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--popover-border-width);\n    border-inline-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--popover-border-width);\n    border-block-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--popover-border-width);\n    border-inline-start-color: var(--popover-bg);\n  }\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    border-start-start-radius: var(--popover-inner-border-radius);\n    border-start-end-radius: var(--popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --progress-height: 1rem;\n    --progress-font-size: 10.5px;\n    --progress-bg: var(--secondary-bg);\n    --progress-border-radius: var(--border-radius);\n    --progress-box-shadow: var(--box-shadow-inset);\n    --progress-bar-color: #fff;\n    --progress-bar-bg: var(--primary-bg);\n    --progress-bar-transition: width 0.6s ease;\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    border-radius: var(--progress-border-radius);\n    box-shadow: var(--progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    transition: var(--progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--progress-height) var(--progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: 1s linear infinite progress-bar-stripes;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-border-width: 0.25em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-border;\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: 0.2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --spinner-animation-speed: 1.5s;\n    }\n  }\n}\n.stepper {\n  --stepper-size: 2rem;\n  --stepper-gap: 1rem;\n  --stepper-bg: var(--bg-2);\n  --stepper-track-size: 0.25rem;\n  --stepper-active-color: var(--primary-contrast);\n  --stepper-active-bg: var(--primary-bg);\n  display: grid;\n  grid-auto-rows: 1fr;\n  grid-auto-flow: row;\n  gap: var(--stepper-gap);\n  padding-left: 0;\n  list-style: none;\n  counter-reset: stepper;\n}\n\n.stepper-item {\n  position: relative;\n  display: grid;\n  grid-template-rows: auto;\n  grid-template-columns: var(--stepper-size) auto;\n  gap: 0.5rem;\n  place-items: center;\n  justify-items: start;\n  text-align: center;\n  text-decoration: none;\n}\n.stepper-item::before {\n  position: relative;\n  z-index: 1;\n  display: flex;\n  flex-shrink: 0;\n  align-items: center;\n  justify-content: center;\n  width: var(--stepper-size);\n  height: var(--stepper-size);\n  padding: 0.5rem;\n  font-weight: 600;\n  line-height: 1;\n  text-align: center;\n  content: counter(stepper);\n  counter-increment: stepper;\n  background-color: var(--stepper-bg);\n  border-radius: 50%;\n}\n.stepper-item::after {\n  position: absolute;\n  top: calc(var(--stepper-gap) * -1);\n  bottom: 100%;\n  left: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n  width: var(--stepper-track-size);\n  content: \"\";\n  background-color: var(--stepper-bg);\n}\n.stepper-item:first-child::after {\n  display: none;\n}\n.stepper-item.active::before, .stepper-item.active::after {\n  color: var(--theme-contrast, var(--stepper-active-color));\n  background-color: var(--theme-bg, var(--stepper-active-bg));\n}\n\n.stepper-horizontal {\n  display: inline-grid;\n  grid-auto-columns: 1fr;\n  grid-auto-flow: column;\n}\n.stepper-horizontal .stepper-item {\n  grid-template-rows: repeat(2, var(--stepper-size));\n  grid-template-columns: auto;\n  justify-items: center;\n}\n.stepper-horizontal .stepper-item::after {\n  top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n  right: 0;\n  bottom: auto;\n  left: calc(-50% - var(--stepper-gap));\n  width: auto;\n  height: var(--stepper-track-size);\n}\n.stepper-horizontal .stepper-item:last-child::after {\n  right: 50%;\n}\n\n@media (width >= 576px) {\n  .stepper-horizontal-sm {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-sm .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-sm .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-sm .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n@media (width >= 768px) {\n  .stepper-horizontal-md {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-md .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-md .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-md .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n@media (width >= 1024px) {\n  .stepper-horizontal-lg {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-lg .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-lg .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-lg .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n@media (width >= 1280px) {\n  .stepper-horizontal-xl {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-xl .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-xl .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-xl .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n@media (width >= 1536px) {\n  .stepper-horizontal-2xl {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-2xl .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-2xl .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-2xl .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n.stepper-overflow {\n  container-type: inline-size;\n  overflow-x: auto;\n  overscroll-behavior-x: contain;\n  -webkit-overflow-scrolling: touch;\n}\n.stepper-overflow > .stepper {\n  width: max-content;\n  min-width: 100%;\n}\n\n@layer components {\n  .toast {\n    --toast-zindex: 1090;\n    --toast-padding-x: 0.75rem;\n    --toast-padding-y: 0.5rem;\n    --toast-spacing: 1.5rem;\n    --toast-max-width: 350px;\n    --toast-font-size: 0.875rem;\n    --toast-color: ;\n    --toast-bg: rgba(var(--body-bg-rgb), 0.85);\n    --toast-border-width: var(--border-width);\n    --toast-border-color: var(--border-color-translucent);\n    --toast-border-radius: var(--border-radius);\n    --toast-box-shadow: var(--box-shadow);\n    --toast-header-color: var(--secondary-color);\n    --toast-header-bg: rgba(var(--body-bg-rgb), 0.85);\n    --toast-header-border-color: var(--border-color-translucent);\n    width: var(--toast-max-width);\n    max-width: 100%;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color);\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--toast-border-color);\n    box-shadow: var(--toast-box-shadow);\n    border-radius: var(--toast-border-radius);\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--toast-header-color);\n    background-color: var(--toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n    border-start-start-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n    border-start-end-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: var(--toast-padding-x);\n    margin-inline-end: calc(-0.5 * var(--toast-padding-x));\n  }\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--border-width);\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-success {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-info {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --columns: 3;\n  }\n  .grid-cols-4 {\n    --columns: 4;\n  }\n  .grid-cols-6 {\n    --columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-monospace);\n  }\n  .font-body {\n    font-family: var(--font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--font-size-xs);\n    line-height: var(--line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--font-size-sm);\n    line-height: var(--line-height-sm);\n  }\n  .text-md {\n    font-size: var(--font-size-md);\n    line-height: var(--line-height-md);\n  }\n  .text-lg {\n    font-size: var(--font-size-lg);\n    line-height: var(--line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--font-size-xl);\n    line-height: var(--line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--font-size-2xl);\n    line-height: var(--line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--font-size-3xl);\n    line-height: var(--line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--font-size-4xl);\n    line-height: var(--line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--font-size-5xl);\n    line-height: var(--line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--font-size-6xl);\n    line-height: var(--line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --columns: 3;\n    }\n    .grid-cols-md-4 {\n      --columns: 4;\n    }\n    .grid-cols-md-6 {\n      --columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2025 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@include generate-theme-classes();\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n:root {\n  // scss-docs-start root-theme-variables\n  --black: #{$black};\n  --white: #{$white};\n\n  // Generate semantic theme colors\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  @each $color, $value in $theme-bgs {\n    --bg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-fgs {\n    --fg-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-borders {\n    --border-#{$color}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Fonts\n\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --font-monospace: #{meta.inspect($font-family-monospace)};\n  --gradient: #{$gradient};\n  --body-font-family: #{meta.inspect($font-family-base)};\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base}; // 14px\n\n  --font-size-xs: .75rem;\n  --font-size-sm: .875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: calc(2.5 / 1.75);\n  --line-height-2xl: calc(3 / 2.25);\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base};\n  --body-font-weight: #{$font-weight-base};\n  --body-line-height: #{$line-height-base};\n\n  --heading-color: #{$headings-color};\n\n  --hr-border-color: var(--border-color);\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: #{$link-decoration};\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  --code-color: #{$code-color};\n  --highlight-color: #{$mark-color};\n  --highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width};\n  --border-style: #{$border-style};\n  --border-color: #{$border-color};\n  --border-color-translucent: #{$border-color-translucent};\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius};\n  --border-radius-sm: #{$border-radius-sm};\n  --border-radius-lg: #{$border-radius-lg};\n  --border-radius-xl: #{$border-radius-xl};\n  --border-radius-2xl: #{$border-radius-2xl};\n  --border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow};\n  --box-shadow-sm: #{$box-shadow-sm};\n  --box-shadow-lg: #{$box-shadow-lg};\n  --box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color};\n  --form-valid-border-color: #{$form-valid-border-color};\n  --form-invalid-color: #{$form-invalid-color};\n  --form-invalid-border-color: #{$form-invalid-border-color};\n  color-scheme: light;\n  // scss-docs-end root-form-validation-variables\n\n  // Root and body\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n\n    // scss-docs-start root-dark-mode-vars\n    --heading-color: #{$headings-color-dark};\n\n    --border-color: #{$border-color-dark};\n\n    --form-valid-color: #{$form-valid-color-dark};\n    --form-valid-border-color: #{$form-valid-border-color-dark};\n    --form-invalid-color: #{$form-invalid-color-dark};\n    --form-invalid-border-color: #{$form-invalid-border-color-dark};\n    color-scheme: dark;\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--root-font-size);\n      // @include font-size(var(--root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n\n    accent-color: var(--primary-base);\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: $hr-margin-y 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    font-size: $kbd-font-size;\n    color: $kbd-color;\n    background-color: $kbd-bg;\n    @include border-radius($border-radius-sm);\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--gray-100) !default;\n// $dark:          var(--gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\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\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// :                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n$border-color-translucent:    color-mix(in oklch, var(--fg-body) 15%, transparent) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--primary-contrast) !default;\n$component-active-bg:         var(--primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, 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// stylelint-enable value-keyword-case\n$font-family-base:            var(--font-sans-serif) !default;\n$font-family-code:            var(--font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--font-size-3xl) !default;\n$h2-font-size: var(--font-size-2xl) !default;\n$h3-font-size: var(--font-size-xl) !default;\n$h4-font-size: var(--font-size-lg) !default;\n$h5-font-size: var(--font-size-md) !default;\n$h6-font-size: var(--font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--font-size-xs),\n    \"line-height\": var(--line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--font-size-sm),\n    \"line-height\": var(--line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--font-size-md),\n    \"line-height\": var(--line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--font-size-lg),\n    \"line-height\": var(--line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--font-size-xl),\n    \"line-height\": var(--line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--font-size-2xl),\n    \"line-height\": var(--line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--font-size-3xl),\n    \"line-height\": var(--line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--font-size-4xl),\n    \"line-height\": var(--line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--font-size-5xl),\n    \"line-height\": var(--line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--font-size-6xl),\n    \"line-height\": var(--line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  var(--fg-body) !default;\n$mark-bg:                     light-dark(var(--yellow-100), var(--yellow-900)) !default;\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--border-color-translucent) !default;\n$offcanvas-border-width:            var(--border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--bg-body) !default;\n$offcanvas-color:                   var(--fg-body) !default;\n$offcanvas-box-shadow:              var(--box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--bg-body) !default;\n$kbd-bg:                            var(--fg-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--gray-200) !default;\n// $body-bg-dark:                      var(--gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;\n$border-color-dark:                 var(--gray-700) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--green-300) !default;\n$form-valid-border-color-dark:      var(--green-300) !default;\n$form-invalid-color-dark:           var(--red-300) !default;\n$form-invalid-border-color-dark:    var(--red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\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 meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\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: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/lists\" as *;\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: $list-inline-padding;\n    }\n  }\n\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: $initialism-font-size;\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    margin-bottom: $blockquote-margin-y;\n    font-size: $blockquote-font-size;\n\n    > :last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  .blockquote-footer {\n    margin-top: -$blockquote-margin-y;\n    margin-bottom: $blockquote-margin-y;\n    font-size: $blockquote-footer-font-size;\n    color: $blockquote-footer-color;\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n$enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n$color-mode-type:             data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !default;\n\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","@use \"sass:color\";\n@use \"sass:map\";\n@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// scss-docs-start table-variables\n$table-cell-padding-y:        .5rem !default;\n$table-cell-padding-x:        .5rem !default;\n$table-cell-padding-y-sm:     .25rem !default;\n$table-cell-padding-x-sm:     .25rem !default;\n\n$table-cell-vertical-align:   top !default;\n\n$table-color:                 var(--fg-body) !default;\n$table-bg:                    var(--bg-body) !default;\n$table-accent-bg:             transparent !default;\n\n// $table-th-font-weight:        null !default;\n\n$table-striped-color:         $table-color !default;\n$table-striped-bg-factor:     .05 !default;\n$table-striped-bg:            color-mix(in srgb, var(--table-color) #{math.percentage($table-striped-bg-factor)}, transparent) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             color-mix(in srgb, var(--table-color) #{math.percentage($table-active-bg-factor)}, transparent) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              color-mix(in srgb, var(--table-color) #{math.percentage($table-hover-bg-factor)}, transparent) !default;\n\n$table-border-width:          var(--border-width) !default;\n$table-border-color:          var(--border-color) !default;\n\n$table-striped-order:         odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n// $table-caption-color:         var(--secondary-color) !default;\n\n// scss-docs-end table-variables\n\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    // Reset needed for nesting tables\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    // End of reset\n\n    // scss-docs-start table-css-variables\n    --table-color: #{$table-color};\n    --table-bg: #{$table-bg};\n    --table-border-color: #{$table-border-color};\n    --table-accent-bg: #{$table-accent-bg};\n    --table-striped-color: #{$table-striped-color};\n    --table-striped-bg: #{$table-striped-bg};\n    --table-active-color: #{$table-active-color};\n    --table-active-bg: #{$table-active-bg};\n    --table-hover-color: #{$table-hover-color};\n    --table-hover-bg: #{$table-hover-bg};\n    // scss-docs-end table-css-variables\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: $table-cell-vertical-align;\n    border-color: var(--theme-border, var(--table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y $table-cell-padding-x;\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n      background-color: var(--theme-bg-subtle, var(--table-bg));\n      border-block-end-width: $table-border-width;\n      box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(#{$table-border-width} * 2) solid $table-group-separator-color;\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n    }\n  }\n\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: $table-border-width 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 $table-border-width;\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-active-bg-factor)}, transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --table-color-state: var(--theme-text, var(--table-hover-color));\n      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-hover-bg-factor)}, transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate series of `.table-responsive-*` classes for configuring the screen\n  // size of where your table will overflow.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @include media-breakpoint-down($breakpoint) {\n      .table-responsive#{$infix} {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (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  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (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($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--bg-body) !default;\n$thumbnail-border-width:            var(--border-width) !default;\n$thumbnail-border-color:            var(--border-color) !default;\n$thumbnail-border-radius:           var(--border-radius) !default;\n$thumbnail-box-shadow:              var(--box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--secondary-color) !default;\n// scss-docs-end figure-variables\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n\n  // Image thumbnails\n  .img-thumbnail {\n    padding: $thumbnail-padding;\n    background-color: $thumbnail-bg;\n    border: $thumbnail-border-width solid $thumbnail-border-color;\n    @include border-radius($thumbnail-border-radius);\n    @include box-shadow($thumbnail-box-shadow);\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  //\n  // Figures\n  //\n\n  .figure {\n    // Ensures the caption's text aligns with the image.\n    display: inline-block;\n  }\n\n  .figure-img {\n    margin-bottom: $spacer * .5;\n    line-height: 1;\n  }\n\n  .figure-caption {\n    font-size: $figure-caption-font-size;\n    color: $figure-caption-color;\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: list.append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (list.length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer content {\n  .prose {\n    --content-font-size: var(--font-size-sm);\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n\n    p,\n    ul,\n    ol,\n    dl,\n    pre,\n    table,\n    blockquote {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]) li:not(:last-child) {\n      margin-bottom: calc(var(--content-gap) / 4);\n    }\n\n    li ul,\n    li ol {\n      margin-top: calc(var(--content-gap) / 4);\n    }\n\n    hr {\n      margin: calc(var(--content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: var(--border-width) solid var(--hr-border-color);\n    }\n\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not([class]) {\n        margin-top: 0;\n        margin-bottom: calc(var(--content-gap) / -2);\n        font-weight: 500;\n        line-height: 1.25;\n\n        code {\n          font-weight: 600;\n          color: inherit;\n        }\n      }\n    }\n\n    h1,\n    h2 {\n      &:not(:first-child) {\n        margin-top: calc(var(--content-gap) * 1.5);\n      }\n    }\n\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not(:first-child) {\n        margin-top: calc(var(--content-gap) * 1.25);\n      }\n    }\n\n    h1 {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    h2 {\n      font-size: 1.75em;\n    }\n    h3 {\n      font-size: 1.5em;\n    }\n    h4 {\n      font-size: 1.25em;\n    }\n    h5 {\n      font-size: 1.125em;\n    }\n    h6 {\n      font-size: 1em;\n    }\n\n    a:not([class]) {\n      color: var(--link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n    }\n\n    a:not([class]):hover {\n      text-decoration-color: var(--link-hover-color);\n    }\n\n    img {\n      max-width: 100%;\n    }\n\n    blockquote {\n      padding-inline-start: calc(var(--content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--border-color);\n    }\n\n    table {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--border-color);\n      }\n    }\n\n    dt {\n      font-weight: 500;\n    }\n\n    video,\n    img {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.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 list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size:     null !default;\n$form-label-font-style:    null !default;\n$form-label-font-weight:   null !default;\n$form-label-color:         null !default;\n// scss-docs-end form-label-variables\n\n\n@layer forms {\n  .form-label {\n    margin-bottom: $form-label-margin-bottom;\n    font-size: $form-label-font-size;\n    font-style: $form-label-font-style;\n    font-weight: $form-label-font-weight;\n    color: $form-label-color;\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 `<legend>` default\n    font-size: inherit; // Override the `<legend>` default\n    font-style: $form-label-font-style;\n    font-weight: $form-label-font-weight;\n    line-height: $input-line-height;\n    color: $form-label-color;\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    font-size: $input-font-size-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    font-size: $input-font-size-sm;\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-text-variables\n$form-text-margin-top:  .25rem !default;\n$form-text-font-size:   $small-font-size !default;\n$form-text-font-style:  null !default;\n$form-text-font-weight: null !default;\n$form-text-color:       var(--secondary-color) !default;\n// scss-docs-end form-text-variables\n\n@layer forms {\n  .form-text {\n    margin-top: $form-text-margin-top;\n    font-size: $form-text-font-size;\n    font-style: $form-text-font-style;\n    font-weight: $form-text-font-weight;\n    color: $form-text-color;\n  }\n}\n","@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n@use \"../buttons/button-variables\" as *; // mdo-do: remove?\n\n@layer forms {\n  .form-control {\n    --control-min-height: #{$control-min-height};\n    --control-padding-y: #{$control-padding-y};\n    --control-padding-x: #{$control-padding-x};\n    --control-font-size: #{$control-font-size};\n    --control-line-height: #{$control-line-height};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n    --control-select-bg-color: #{$control-select-indicator-color};\n    --control-select-bg: #{escape-svg($control-select-indicator)};\n    --control-select-bg-position: #{$control-select-bg-position};\n    --control-select-bg-size: #{$control-select-bg-size};\n\n    display: block;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      --focus-ring-offset: -1px;\n      color: $input-focus-color;\n      background-color: $input-focus-bg;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    &::-webkit-date-and-time-value {\n      // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      //\n      // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n      // Tested under iOS 16.2 / Safari 16.2\n      min-width: 85px; // Seems to be a good minimum safe width\n\n      // Add some height to date inputs on iOS\n      // https://github.com/twbs/bootstrap/issues/23307\n      // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n      // Multiply line-height by 1em if it has no unit\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      height: if(sass(math.unit($input-line-height) == \"\"): $input-line-height * 1em; else: $input-line-height);\n\n      // Android Chrome type=\"date\" is taller than the other inputs\n      // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      margin: 0;\n    }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n    &::-webkit-datetime-edit {\n      display: block;\n      padding: 0;\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: $input-placeholder-color;\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled 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      color: $input-disabled-color;\n      background-color: $input-disabled-bg;\n      border-color: $input-disabled-border-color;\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // File input buttons theming\n    &::file-selector-button {\n      min-height: var(--control-min-height);\n      padding: var(--control-padding-y) var(--control-padding-x);\n      margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n      margin-inline-end: var(--control-padding-x);\n      color: $form-file-button-color;\n      @include gradient-bg($form-file-button-bg);\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition($btn-transition);\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: $form-file-button-hover-bg;\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    line-height: $input-line-height;\n    color: $input-plaintext-color;\n    background-color: transparent;\n    border: solid transparent;\n    border-width: $input-border-width 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--control-padding-x);\n      background-image: none;\n    }\n\n    @if $enable-dark-mode {\n      @include color-mode(dark) {\n        --control-select-indicator: #{escape-svg($control-select-indicator-dark)};\n      }\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\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    --control-min-height: #{$control-min-height-sm};\n    --control-padding-y: #{$control-padding-y-sm};\n    --control-padding-x: #{$control-padding-x-sm};\n    --control-font-size: #{$control-font-size-sm};\n    --control-line-height: #{$control-line-height-sm};\n    --control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-control-lg {\n    --control-min-height: #{$control-min-height-lg};\n    --control-padding-y: #{$control-padding-y-lg};\n    --control-padding-x: #{$control-padding-x-lg};\n    --control-font-size: #{$control-font-size-lg};\n    --control-line-height: #{$control-line-height-lg};\n    --control-border-radius: #{$control-border-radius-lg};\n  }\n\n  // // Make sure textareas don't shrink too much when resized\n  // // https://github.com/twbs/bootstrap/pull/29124\n  // // stylelint-disable selector-no-qualifying-type\n  // textarea {\n  //   &.form-control {\n  //     min-height: $input-height;\n  //   }\n\n  //   &.form-control-sm {\n  //     min-height: $input-height-sm;\n  //   }\n\n  //   &.form-control-lg {\n  //     min-height: $input-height-lg;\n  //   }\n  // }\n  // // stylelint-enable selector-no-qualifying-type\n\n  .form-control-color {\n    width: $form-color-width;\n    height: $input-height;\n    padding: $input-padding-y;\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &.form-control-sm { height: $input-height-sm; }\n    &.form-control-lg { height: $input-height-lg; }\n  }\n\n  // Ghost input - removes all visual styling\n  // Used inside custom wrappers that handle their own styling\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &::placeholder {\n      color: var(--fg-3);\n      opacity: 1;\n    }\n\n    &:disabled {\n      color: var(--fg-4);\n      cursor: not-allowed;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n\n$control-min-height: 2.5rem !default;\n$control-min-height-sm: 2rem !default;\n$control-min-height-lg: 3rem !default;\n$control-padding-y: .375rem !default;\n$control-padding-x: .75rem !default;\n$control-font-size: $font-size-base !default;\n$control-line-height: $line-height-base !default;\n$control-color: var(--fg-body) !default;\n$control-bg: var(--bg-body) !default;\n$control-border-width: var(--border-width) !default;\n$control-border-color: var(--border-color) !default;\n$control-border-radius: var(--border-radius) !default;\n\n$control-padding-y-sm: .25rem !default;\n$control-padding-x-sm: .5rem !default;\n$control-font-size-sm: $font-size-sm !default;\n$control-line-height-sm: $line-height-sm !default;\n$control-border-radius-sm: var(--border-radius-sm) !default;\n\n$control-padding-y-lg: .5rem !default;\n$control-padding-x-lg: 1rem !default;\n$control-font-size-lg: $font-size-lg !default;\n$control-line-height-lg: $line-height-lg !default;\n$control-border-radius-lg: var(--border-radius-lg) !default;\n\n$control-select-indicator-color:       var(--gray-600) !default;\n$control-select-indicator:             url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n$control-select-bg-position:           right $control-padding-x center !default;\n$control-select-bg-size:               16px 12px !default;\n\n$control-select-indicator-color-dark:  #fff !default;\n$control-select-indicator-dark:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n\n// scss-docs-start input-btn-variables\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:         $focus-ring-width !default;\n// $input-btn-focus-color-opacity: $focus-ring-opacity !default;\n// $input-btn-focus-color:         $focus-ring-color !default;\n// $input-btn-focus-blur:          $focus-ring-blur !default;\n// $input-btn-focus-box-shadow:    $focus-ring-box-shadow !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\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\n// $input-btn-border-width:      var(--border-width) !default;\n// scss-docs-end input-btn-variables\n\n// scss-docs-start form-input-variables\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\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\n$input-bg:                              var(--bg-body) !default;\n$input-disabled-color:                  null !default;\n$input-disabled-bg:                     var(--secondary-bg) !default;\n$input-disabled-border-color:           null !default;\n\n$input-color:                           var(--fg-body) !default;\n$input-border-color:                    var(--border-color) !default;\n$input-border-width:                    var(--border-width) !default;\n$input-box-shadow:                      var(--box-shadow-inset) !default;\n\n$input-border-radius:                   var(--border-radius) !default;\n$input-border-radius-sm:                var(--border-radius-sm) !default;\n$input-border-radius-lg:                var(--border-radius-lg) !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              var(--primary-border) !default;\n$input-focus-color:                     $input-color !default;\n\n$input-placeholder-color:               var(--secondary-color) !default;\n$input-plaintext-color:                 var(--fg-body) !default;\n\n$input-height-border:                   calc(#{$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 * .5) !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 * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n// $input-height-lg:                       add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n$input-height:                          2.5rem !default;\n$input-height-sm:                       2rem !default;\n$input-height-lg:                       3rem !default;\n\n$input-transition:                      border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width:                      3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color:          $input-color !default;\n$form-file-button-bg:             var(--tertiary-bg) !default;\n$form-file-button-hover-bg:       var(--secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          .5rem !default;\n$form-feedback-font-size:           $font-size-sm !default;\n$form-feedback-font-style:          null !default;\n$form-feedback-valid-color:         var(--success) !default;\n$form-feedback-invalid-color:       var(--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' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.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.1'/></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' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><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// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color:                  $form-feedback-valid-color !default;\n$form-valid-border-color:           $form-feedback-valid-color !default;\n$form-invalid-color:                $form-feedback-invalid-color !default;\n$form-invalid-border-color:         $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n  \"valid\": (\n    \"color\": var(--form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--success),\n    // \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--success-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--form-valid-border-color),\n  ),\n  \"invalid\": (\n    \"color\": var(--form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--danger),\n    // \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--danger-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--form-invalid-border-color),\n  )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n\n@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\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: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\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: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\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}\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}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\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// scss-docs-end gradient-mixins\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start check-variables\n$check-border-color: var(--border-color) !default;\n$check-checked-bg: var(--primary-base) !default;\n$check-checked-border-color: $check-checked-bg !default;\n$check-indeterminate-bg: var(--primary-base) !default;\n$check-indeterminate-border-color: $check-indeterminate-bg !default;\n$check-disabled-bg: var(--bg-3) !default;\n$check-disabled-opacity: .65 !default;\n// scss-docs-end check-variables\n\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--secondary-text);\n    }\n  }\n\n  .check {\n    // scss-docs-start check-css-variables\n    --check-bg: transparent;\n    --check-border-color: #{$check-border-color};\n    --check-checked-bg: #{$check-checked-bg};\n    --check-checked-border-color: #{$check-checked-border-color};\n    --check-indeterminate-bg: #{$check-indeterminate-bg};\n    --check-indeterminate-border-color: #{$check-indeterminate-border-color};\n    --check-disabled-bg: #{$check-disabled-bg};\n    --check-disabled-opacity: #{$check-disabled-opacity};\n    // scss-docs-end check-css-variables\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: .125rem;\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: 1rem;\n      height: 1rem;\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--theme-bg, var(--check-bg));\n      border: 1px solid var(--theme-bg, var(--check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .25em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--theme-bg, var(--check-checked-bg));\n      border-color: var(--theme-bg, var(--check-checked-border-color));\n    }\n\n    :where(input:focus-visible) {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--primary-contrast);\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --check-bg: var(--check-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n    &:has(input:disabled:checked) {\n      opacity: var(--check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start radio-variables\n$radio-border-color: var(--border-color) !default;\n$radio-checked-bg: var(--primary-base) !default;\n$radio-checked-border-color: $radio-checked-bg !default;\n$radio-disabled-bg: var(--bg-3) !default;\n$radio-disabled-opacity: .65 !default;\n// scss-docs-end radio-variables\n\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--secondary-text);\n    }\n  }\n\n  .radio {\n    // scss-docs-start radio-css-variables\n    --radio-bg: transparent;\n    --radio-border-color: #{$radio-border-color};\n    --radio-checked-bg: #{$radio-checked-bg};\n    --radio-checked-border-color: #{$radio-checked-border-color};\n    --radio-disabled-bg: #{$radio-disabled-bg};\n    --radio-disabled-opacity: #{$radio-disabled-opacity};\n    // scss-docs-end radio-css-variables\n\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: .125rem;\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--theme-contrast, var(--primary-contrast));\n      background-color: var(--theme-bg, var(--radio-checked-bg));\n      border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --radio-bg: var(--radio-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n    }\n\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n@layer forms {\n  .switch {\n    // scss-docs-start switch-css-variables\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: .0625rem;\n    --switch-bg: var(--secondary-bg);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--primary-base);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--secondary-bg);\n    --switch-disabled-indicator-bg: var(--secondary-text);\n    // scss-docs-end switch-css-variables\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      content: \"\";\n      background-color: var(--switch-indicator-bg);\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n      outline: 0;\n    }\n\n    &:focus-within {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n      background-color: var(--theme-bg, var(--switch-checked-bg));\n      border-color: var(--theme-bg, var(--switch-checked-border-color));\n    }\n\n    &:has(input:disabled) {\n      --switch-bg: var(--switch-disabled-bg);\n      --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --switch-height: 1em;\n  }\n  .switch-lg {\n    --switch-height: 2em;\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-range-variables\n$form-range-track-width:          100% !default;\n$form-range-track-height:         .5rem !default;\n$form-range-track-cursor:         pointer !default;\n$form-range-track-bg:             var(--secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--box-shadow-inset) !default;\n\n$form-range-thumb-width:                   1rem !default;\n$form-range-thumb-height:                  $form-range-thumb-width !default;\n$form-range-thumb-bg:                      $component-active-bg !default;\n$form-range-thumb-border:                  0 !default;\n$form-range-thumb-border-radius:           1rem !default;\n$form-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--secondary-color) !default;\n$form-range-thumb-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: calc(#{$form-range-thumb-height} + (var(--focus-ring-width) * 2));\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:focus {\n      outline: 0;\n\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      &::-webkit-slider-thumb {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-webkit-slider-runnable-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent; // Why?\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent;\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &::-moz-range-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-moz-range-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent;\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent; // Firefox specific?\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n\n      &::-moz-range-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n    }\n  }\n}\n","@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  calc(3.5rem + #{$input-height-border}) !default;\n$form-floating-line-height:             1.25 !default;\n$form-floating-padding-x:               $input-padding-x !default;\n$form-floating-padding-y:               1rem !default;\n$form-floating-input-padding-t:         1.625rem !default;\n$form-floating-input-padding-b:         .625rem !default;\n$form-floating-label-height:            1.5em !default;\n$form-floating-label-opacity:           .65 !default;\n$form-floating-label-transform:         scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color:    var(--gray-600) !default;\n$form-floating-transition:              opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n@layer forms {\n  .form-floating {\n    position: relative;\n\n    > .form-control,\n    > .form-control-plaintext,\n    > .form-select {\n      height: $form-floating-height;\n      min-height: $form-floating-height;\n      line-height: $form-floating-line-height;\n    }\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: $form-floating-padding-y $form-floating-padding-x;\n      overflow: hidden;\n      color: color-mix(in oklch, var(--body-color) #{math.percentage($form-floating-label-opacity)}, transparent);\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition($form-floating-transition);\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      padding: $form-floating-padding-y $form-floating-padding-x;\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n    }\n\n    > .form-select {\n      padding-inline-start: $form-floating-padding-x;\n      padding-top: $form-floating-input-padding-t;\n      padding-bottom: $form-floating-input-padding-b;\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext,\n    > .form-select {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: $form-floating-padding-y ($form-floating-padding-x * .5);\n        z-index: -1;\n        height: $form-floating-label-height;\n        content: \"\";\n        background-color: $input-bg;\n        @include border-radius($input-border-radius);\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: $input-disabled-bg;\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: $input-border-width 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: $form-floating-label-disabled-color;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y:           $input-padding-y !default;\n$input-group-addon-padding-x:           $input-padding-x !default;\n// $input-group-addon-font-weight:         $input-font-weight !default;\n$input-group-addon-color:               $input-color !default;\n$input-group-addon-bg:                  var(--tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-select,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-select:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    .btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n    font-size: $input-font-size; // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: $input-line-height;\n    color: $input-group-addon-color;\n    text-align: center;\n    white-space: nowrap;\n    background-color: $input-group-addon-bg;\n    border: $input-border-width solid $input-group-addon-border-color;\n    @include border-radius($input-border-radius);\n  }\n\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  .input-group-lg > .form-control,\n  .input-group-lg > .form-select,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    padding: $input-padding-y-lg $input-padding-x-lg;\n    font-size: $input-font-size-lg;\n    @include border-radius($input-border-radius-lg);\n  }\n\n  .input-group-sm > .form-control,\n  .input-group-sm > .form-select,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    padding: $input-padding-y-sm $input-padding-x-sm;\n    font-size: $input-font-size-sm;\n    @include border-radius($input-border-radius-sm);\n  }\n\n  .input-group-lg > .form-select,\n  .input-group-sm > .form-select {\n    // mdo-do: need to revisit this\n    // padding-right: $form-select-padding-x + $form-select-indicator-padding;\n  }\n\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n\n    $validation-messages: \"\";\n    &:not(.has-validation) {\n      > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * #{$input-border-width});\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start strength-variables\n$strength-height:          .375rem !default;\n$strength-gap:             .25rem !default;\n$strength-margin-top:      .25rem !default;\n$strength-border-radius:   var(--border-radius-pill) !default;\n$strength-bg:              var(--bg-2) !default;\n$strength-transition:      background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n$strength-weak-color:      var(--danger-bg) !default;\n$strength-fair-color:      var(--warning-bg) !default;\n$strength-good-color:      var(--info-bg) !default;\n$strength-strong-color:    var(--success-bg) !default;\n// scss-docs-end strength-variables\n\n@layer forms {\n  // Strength meter container\n  .strength {\n    --strength-height: #{$strength-height};\n    --strength-gap: #{$strength-gap};\n    --strength-bg: #{$strength-bg};\n    --strength-border-radius: #{$strength-border-radius};\n    --strength-color: #{$strength-bg};\n\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: $strength-margin-top;\n  }\n\n  // Individual strength segments\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n    @include transition($strength-transition);\n\n    // Filled state\n    &.active {\n      background-color: var(--strength-color);\n    }\n  }\n\n  // Strength levels - set the color variable\n  .strength[data-bs-strength=\"weak\"] {\n    --strength-color: #{$strength-weak-color};\n  }\n\n  .strength[data-bs-strength=\"fair\"] {\n    --strength-color: #{$strength-fair-color};\n  }\n\n  .strength[data-bs-strength=\"good\"] {\n    --strength-color: #{$strength-good-color};\n  }\n\n  .strength[data-bs-strength=\"strong\"] {\n    --strength-color: #{$strength-strong-color};\n  }\n\n  // Optional text feedback\n  .strength-text {\n    display: block;\n    margin-top: $strength-margin-top;\n    font-size: $small-font-size;\n    color: var(--strength-color, var(--secondary-color));\n    @include transition(color .2s ease-in-out);\n\n    // Hide when empty\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Alternative: Single bar variant (like a progress bar)\n  .strength-bar {\n    --strength-height: #{$strength-height};\n    --strength-bg: #{$strength-bg};\n    --strength-border-radius: #{$strength-border-radius};\n    --strength-color: transparent;\n    --strength-width: 0%;\n\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: $strength-margin-top;\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n\n    &::after {\n      display: block;\n      width: var(--strength-width);\n      height: 100%;\n      content: \"\";\n      background-color: var(--strength-color);\n      @include border-radius(var(--strength-border-radius));\n      @include transition($strength-transition);\n    }\n\n    &[data-bs-strength=\"weak\"] {\n      --strength-color: #{$strength-weak-color};\n      --strength-width: 25%;\n    }\n\n    &[data-bs-strength=\"fair\"] {\n      --strength-color: #{$strength-fair-color};\n      --strength-width: 50%;\n    }\n\n    &[data-bs-strength=\"good\"] {\n      --strength-color: #{$strength-good-color};\n      --strength-width: 75%;\n    }\n\n    &[data-bs-strength=\"strong\"] {\n      --strength-color: #{$strength-strong-color};\n      --strength-width: 100%;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start otp-input-variables\n$otp-input-size:              3rem !default;\n$otp-input-size-sm:           2.25rem !default;\n$otp-input-size-lg:           3.5rem !default;\n$otp-input-font-size:         $font-size-lg !default;\n$otp-input-font-size-sm:      $font-size-base !default;\n$otp-input-font-size-lg:      $font-size-lg * 1.25 !default;\n$otp-input-gap:               .5rem !default;\n// scss-docs-end otp-input-variables\n\n@layer forms {\n  .otp {\n    --otp-size: #{$otp-input-size};\n    --otp-font-size: #{$otp-input-font-size};\n    --otp-gap: #{$otp-input-gap};\n\n    display: inline-flex;\n    gap: var(--otp-gap);\n\n    .form-control {\n      width: var(--otp-size);\n      min-height: var(--otp-size);\n      padding: 0;\n      font-size: var(--otp-font-size);\n      font-weight: 500;\n      line-height: 1;\n      text-align: center;\n\n      // Remove default number spinners\n      &::-webkit-outer-spin-button,\n      &::-webkit-inner-spin-button {\n        margin: 0;\n        appearance: none;\n      }\n\n      &[type=\"number\"] {\n        appearance: textfield;\n      }\n\n      &:focus,\n      &:focus-visible {\n        z-index: 1;\n      }\n    }\n\n    &.is-valid .form-control,\n    .was-validated &:valid .form-control {\n      border-color: var(--form-valid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--success-rgb), .25);\n        border-color: var(--form-valid-border-color);\n      }\n    }\n\n    &.is-invalid .form-control,\n    .was-validated &:invalid .form-control {\n      border-color: var(--form-invalid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--danger-rgb), .25);\n        border-color: var(--form-invalid-border-color);\n      }\n    }\n  }\n\n  // When used with .input-group, disable the gap and prevent inputs from stretching\n  .otp.input-group {\n    gap: 0;\n    width: auto; // Override input-group's width: 100%\n\n    .form-control {\n      flex: 0 0 auto; // Don't grow or shrink, use fixed width\n    }\n  }\n\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n\n  .otp-sm {\n    --otp-size: #{$otp-input-size-sm};\n    --otp-font-size: #{$otp-input-font-size-sm};\n  }\n\n  .otp-lg {\n    --otp-size: #{$otp-input-size-lg};\n    --otp-font-size: #{$otp-input-font-size-lg};\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-adorn-variables\n$form-adorn-gap:           .375rem !default;\n$form-adorn-icon-size:     1rem !default;\n$form-adorn-icon-color:    var(--fg-2) !default;\n// scss-docs-end form-adorn-variables\n\n@layer forms {\n  .form-adorn {\n    // Inherit form-control CSS variables for sizing\n    --control-min-height: #{$control-min-height};\n    --control-padding-y: #{$control-padding-y};\n    --control-padding-x: #{$control-padding-x};\n    --control-font-size: #{$control-font-size};\n    --control-line-height: #{$control-line-height};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n\n    // Adorn-specific variables\n    --form-adorn-gap: #{$form-adorn-gap};\n    --form-adorn-icon-size: #{$form-adorn-icon-size};\n    --form-adorn-icon-color: #{$form-adorn-icon-color};\n\n    // Flexbox layout\n    display: flex;\n    gap: var(--form-adorn-gap);\n    align-items: center;\n\n    // Replicate .form-control styles on the wrapper\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1;\n      min-width: 0; // Prevent text overflow\n    }\n\n\n    // Adornment at end (right in LTR) - input comes first visually\n    &.form-adorn-end > .form-ghost {\n      order: -1;\n    }\n  }\n\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n\n    > svg {\n      width: var(--form-adorn-icon-size);\n      height: var(--form-adorn-icon-size);\n    }\n  }\n\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n\n  // Sizing variants\n  .form-adorn-sm {\n    --control-min-height: #{$control-min-height-sm};\n    --control-padding-y: #{$control-padding-y-sm};\n    --control-padding-x: #{$control-padding-x-sm};\n    --control-font-size: #{$control-font-size-sm};\n    --control-line-height: #{$control-line-height-sm};\n    --control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-adorn-lg {\n    --control-min-height: #{$control-min-height-lg};\n    --control-padding-y: #{$control-padding-y-lg};\n    --control-padding-x: #{$control-padding-x-lg};\n    --control-font-size: #{$control-font-size-lg};\n    --control-line-height: #{$control-line-height-lg};\n    --control-border-radius: #{$control-border-radius-lg};\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../theme\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start chip-input-variables\n$chip-input-gap:                    .375rem !default;\n$chip-input-padding-y:              .75rem !default;\n$chip-input-padding-x:              .75rem !default;\n$chip-input-chip-padding-y:         .75rem !default;\n$chip-input-chip-padding-x:         .5rem !default;\n$chip-input-ghost-min-width:        5rem !default;\n// scss-docs-end chip-input-variables\n\n@layer forms {\n  .chip-input {\n    // Inherit form-control CSS variables for sizing\n    // --control-min-height: #{$control-min-height};\n    --chip-input-padding-y: #{$chip-input-padding-y};\n    --chip-input-padding-x: #{$chip-input-padding-x};\n    --control-padding-x: #{$control-padding-x};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n\n    // Chip input specific\n    --chip-input-gap: #{$chip-input-gap};\n    // --chip-input-chip-padding-y: #{$chip-input-chip-padding-y};\n    // --chip-input-chip-padding-x: #{$chip-input-chip-padding-x};\n    // --chip-input-chip-font-size: #{$chip-input-chip-font-size};\n    --chip-input-ghost-min-width: #{$chip-input-ghost-min-width};\n\n    // Flexbox wrapping layout\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1 1 0;\n      min-width: var(--chip-input-ghost-min-width);\n      min-height: 1.75rem;\n    }\n\n    // Disabled state\n    &.disabled,\n    &:has(.form-ghost:disabled) {\n      background-color: $input-disabled-bg;\n      opacity: 1;\n\n      > .chip {\n        opacity: .65;\n\n        .chip-dismiss {\n          pointer-events: none;\n        }\n      }\n\n      > .form-ghost {\n        cursor: not-allowed;\n      }\n    }\n  }\n\n  // Theme cascade: .chip-input.theme-* passes theme to child chips\n  // Chips inherit theme variables from parent\n  // @each $color-name, $theme-props in $theme-map {\n  //   .chip-input.theme-#{$color-name} > .chip {\n  //     // Subtle default state\n  //     --chip-color: var(--theme-text);\n  //     --chip-bg: var(--theme-bg-subtle);\n\n  //     // Selected/active solid state\n  //     --chip-selected-color: var(--theme-contrast);\n  //     --chip-selected-bg: var(--theme-bg);\n  //     --chip-selected-border-color: var(--theme-bg);\n  //   }\n  // }\n\n  // // Sizing variants\n  // .chip-input-sm {\n  //   --control-min-height: #{$control-min-height-sm};\n  //   --control-padding-y: #{$control-padding-y-sm};\n  //   --control-padding-x: #{$control-padding-x-sm};\n  //   --control-font-size: #{$control-font-size-sm};\n  //   --control-line-height: #{$control-line-height-sm};\n  //   --control-border-radius: #{$control-border-radius-sm};\n  //   --chip-input-gap: .25rem;\n  //   --chip-input-chip-font-size: .8125em;\n  // }\n\n  // .chip-input-lg {\n  //   --control-min-height: #{$control-min-height-lg};\n  //   --control-padding-y: #{$control-padding-y-lg};\n  //   --control-padding-x: #{$control-padding-x-lg};\n  //   --control-font-size: #{$control-font-size-lg};\n  //   --control-line-height: #{$control-line-height-lg};\n  //   --control-border-radius: #{$control-border-radius-lg};\n  //   --chip-input-gap: .5rem;\n  //   --chip-input-chip-font-size: .9375em;\n  // }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 var(--font-size-sm) !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--bg-body) !default;\n$tooltip-bg:                        var(--fg-body) !default;\n$tooltip-border-radius:             var(--border-radius) !default;\n$tooltip-opacity:                   .95 !default;\n$tooltip-padding-y:                 $spacer * .375 !default;\n$tooltip-padding-x:                 $spacer * .75 !default;\n\n$tooltip-arrow-width:               .8rem !default;\n$tooltip-arrow-height:              .4rem !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\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:   null !default;\n$form-feedback-tooltip-opacity:       $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n@layer components {\n  .tooltip {\n    // scss-docs-start tooltip-css-vars\n    --tooltip-zindex: #{$zindex-tooltip};\n    --tooltip-max-width: #{$tooltip-max-width};\n    --tooltip-padding-x: #{$tooltip-padding-x};\n    --tooltip-padding-y: #{$tooltip-padding-y};\n    --tooltip-font-size: #{$tooltip-font-size};\n    --tooltip-color: #{$tooltip-color};\n    --tooltip-bg: #{$tooltip-bg};\n    --tooltip-border-radius: #{$tooltip-border-radius};\n    --tooltip-opacity: #{$tooltip-opacity};\n    --tooltip-arrow-width: #{$tooltip-arrow-width};\n    --tooltip-arrow-height: #{$tooltip-arrow-height};\n    // scss-docs-end tooltip-css-vars\n\n    z-index: var(--tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--tooltip-arrow-width);\n      height: var(--tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-block-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-inline-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    @include border-radius(var(--tooltip-border-radius));\n  }\n}\n","@use \"../variables\" as *;\n\n@mixin reset-text {\n  font-family: $font-family-base;\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: $font-weight-normal;\n  line-height: $line-height-base;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\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// 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\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-box-shadow: null, // mdo-do: fix\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\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    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\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: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right $input-height-inner-quarter center;\n        background-size: $input-height-inner-half $input-height-inner-half;\n      }\n\n      &:focus {\n        border-color: $border-color;\n        @if $enable-shadows {\n          @include box-shadow($input-box-shadow, $focus-box-shadow);\n        } @else {\n          // Avoid using mixin so we can pass custom focus shadow properly\n          box-shadow: $focus-box-shadow;\n        }\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        padding-inline-end: $input-height-inner;\n        background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  // .form-select {\n  //   @include form-validation-state-selector($state) {\n  //     border-color: $border-color;\n\n  //     @if $enable-validation-icons {\n  //       &:not([multiple]):not([size]),\n  //       &:not([multiple])[size=\"1\"] {\n  //         --form-select-bg-icon: #{escape-svg($icon)};\n  //         padding-right: $form-select-feedback-icon-padding-end;\n  //         background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n  //         background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n  //       }\n  //     }\n\n  //     &:focus {\n  //       border-color: $border-color;\n  //       @if $enable-shadows {\n  //         @include box-shadow($form-select-box-shadow, $focus-box-shadow);\n  //       } @else {\n  //         // Avoid using mixin so we can pass custom focus shadow properly\n  //         box-shadow: $focus-box-shadow;\n  //       }\n  //     }\n  //   }\n  // }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        width: add($form-color-width, $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer forms {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"button-variables\" as *;\n\n// scss-docs-start btn-variants\n$button-variants: (\n  \"solid\": (\n    \"base\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    )\n  ),\n  \"outline\": (\n    \"base\": (\n      \"bg\": \"transparent\",\n      \"color\": \"text\",\n      \"border-color\": \"border\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    )\n  ),\n  \"subtle\": (\n    \"base\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"bg\": (\"bg-muted\", \"bg-subtle\"),\n      \"color\": \"text-emphasis\"\n    ),\n    \"active\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text-emphasis\"\n    )\n  ),\n  \"text\": (\n    \"base\": (\n      \"color\": \"text\",\n      \"bg\": \"transparent\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    ),\n    \"active\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    )\n  )\n) !default;\n// scss-docs-end btn-variants\n\n// scss-docs-start btn-sizes\n$button-sizes: (\n  \"xs\": (\n    \"padding-y\": $btn-padding-y-xs,\n    \"padding-x\": $btn-padding-x-xs,\n    \"font-size\": $btn-font-size-xs,\n    \"line-height\": $btn-line-height-xs,\n    \"border-radius\": $btn-border-radius-xs,\n    \"min-height\": 1.5rem\n  ),\n  \"sm\": (\n    \"padding-y\": $btn-padding-y-sm,\n    \"padding-x\": $btn-padding-x-sm,\n    \"font-size\": $btn-font-size-sm,\n    \"line-height\": $btn-line-height-sm,\n    \"border-radius\": $btn-border-radius-sm,\n    \"min-height\": 2rem\n  ),\n  \"lg\": (\n    \"padding-y\": $btn-padding-y-lg,\n    \"padding-x\": $btn-padding-x-lg,\n    \"font-size\": $btn-font-size-lg,\n    \"line-height\": $btn-line-height-lg,\n    \"border-radius\": $btn-border-radius-lg,\n    \"min-height\": 2.75rem\n  ),\n  // Commented out by default on purpose\n  // \"xl\": (\n  //   \"padding-y\": $btn-padding-y-xl,\n  //   \"padding-x\": $btn-padding-x-xl,\n  //   \"font-size\": $btn-font-size-xl,\n  //   \"line-height\": $btn-line-height-xl,\n  //   \"border-radius\": $btn-border-radius-xl,\n  //   \"min-height\": 3.25rem\n  // ),\n) !default;\n// scss-docs-end btn-sizes\n\n//\n// Base styles\n//\n\n$btn-variant-selectors: () !default;\n@each $variant in map.keys($button-variants) {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n\n@layer components {\n  .btn,\n  #{$btn-variant-selectors} {\n    // scss-docs-start btn-css-vars\n    --btn-min-height: 2.25rem;\n    --btn-padding-x: #{$btn-padding-x};\n    --btn-padding-y: #{$btn-padding-y};\n    // --btn-font-family: #{$btn-font-family};\n    --btn-font-size: #{$btn-font-size};\n    --btn-font-weight: #{$btn-font-weight};\n    --btn-line-height: #{$btn-line-height};\n    --btn-color: #{$btn-color};\n    --btn-border-width: #{$btn-border-width};\n    --btn-border-color: transparent;\n    --btn-border-radius: #{$btn-border-radius};\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: #{$btn-disabled-opacity};\n    // scss-docs-end btn-css-vars\n\n    display: inline-flex;\n    gap: var(--btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    // font-family: var(--btn-font-family);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: $btn-white-space;\n    vertical-align: middle;\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    cursor: if(sass($enable-button-pointers): pointer; else: null);\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    @include border-radius(var(--btn-border-radius));\n    @include transition($btn-transition);\n\n    &:hover {\n      color: var(--btn-hover-color);\n      background-color: var(--btn-hover-bg, var(--bg-3));\n      border-color: var(--btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      border-color: var(--btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n    }\n  }\n\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $_ in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-#{$property}: transparent;\n        } @else {\n          --btn-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --btn-active-#{$property}: var(--theme-#{$value});\n        } @else {\n          --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-disabled-#{$property}: transparent;\n        } @else {\n          --btn-disabled-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --btn-hover-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --btn-active-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --btn-disabled-#{$property}: transparent;\n          } @else {\n            --btn-disabled-#{$property}: var(--theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    --btn-font-weight: #{$font-weight-normal};\n    --btn-color: #{$btn-link-color};\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: #{$btn-link-hover-color};\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: #{$btn-link-hover-color};\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: #{$btn-link-disabled-color};\n    --btn-disabled-border-color: transparent;\n\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--theme-text, var(--btn-color));\n    }\n\n    &:hover {\n      color: var(--theme-text-emphasis, var(--btn-hover-color));\n    }\n\n    // No need for an active state here\n  }\n\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n  @each $size, $properties in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --btn-min-height: #{map.get($properties, \"min-height\")};\n      --btn-padding-y: #{map.get($properties, \"padding-y\")};\n      --btn-padding-x: #{map.get($properties, \"padding-x\")};\n      --btn-font-size: #{map.get($properties, \"font-size\")};\n      --btn-line-height: #{map.get($properties, \"line-height\")};\n      --btn-border-radius: #{map.get($properties, \"border-radius\")};\n    }\n  }\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-active-border-color);\n      @include box-shadow(var(--btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    --btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--btn-gradient-start),\n        var(--btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--btn-gradient-start),\n          var(--btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n      box-shadow: var(--btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"button-variables\" as *;\n\n@layer components {\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    > [class*=\"btn-\"] {\n      position: relative;\n      flex: 1 1 auto;\n\n      &:hover {\n        z-index: 1;\n      }\n    }\n\n    > .btn-check:has(input:checked),\n    > [class*=\"btn-\"]:active,\n    > [class*=\"btn-\"].active {\n      z-index: 2;\n    }\n\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:focus {\n      z-index: 3;\n    }\n  }\n\n  // Optional: Group multiple button groups together for a toolbar\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius($btn-border-radius);\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  // Sizing\n  //\n  // Remix the default button sizing classes into new ones for easier manipulation.\n\n  // .btn-group-sm > [class*=\"btn-\"] { @extend .btn-sm; }\n  // .btn-group-lg > [class*=\"btn-\"] { @extend .btn-lg; }\n\n\n  //\n  // Split button dropdowns\n  //\n\n  .dropdown-toggle-split {\n    padding-inline: $btn-padding-x * .75;\n\n    &::after,\n    .dropup &::after,\n    .dropend &::after {\n      margin-inline-start: 0;\n    }\n\n    .dropstart &::before {\n      margin-inline-end: 0;\n    }\n  }\n\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-sm * .75;\n  }\n\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-lg * .75;\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    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n\n// scss-docs-start close-variables\n$btn-close-size:             1.25rem !default;\n$btn-close-color:            var(--fg-body) !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    .85 !default;\n$btn-close-disabled-opacity: .25 !default;\n// scss-docs-end close-variables\n\n// Transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    // scss-docs-start close-css-vars\n    --btn-close-size: #{$btn-close-size};\n    --btn-close-color: #{$btn-close-color};\n    --btn-close-opacity: #{$btn-close-opacity};\n    --btn-close-hover-opacity: #{$btn-close-hover-opacity};\n    --btn-close-focus-opacity: #{$btn-close-focus-opacity};\n    --btn-close-disabled-opacity: #{$btn-close-disabled-opacity};\n    // scss-docs-end close-css-vars\n\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0; // for button elements\n    @include border-radius(var(--border-radius-sm));\n    opacity: var(--btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--btn-close-color);\n      text-decoration: none;\n      opacity: var(--btn-close-hover-opacity);\n    }\n\n    &:focus {\n      @include focus-ring();\n      opacity: var(--btn-close-focus-opacity);\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// scss-docs-start accordion-variables\n$accordion-padding-y:                     1rem !default;\n$accordion-padding-x:                     1.25rem !default;\n$accordion-color:                         var(--fg-body) !default;\n$accordion-bg:                            var(--bg-body) !default;\n$accordion-border-width:                  var(--border-width) !default;\n$accordion-border-color:                  var(--border-color) !default;\n$accordion-border-radius:                 var(--border-radius-lg) !default;\n$accordion-inner-border-radius:           calc(#{$accordion-border-radius} - #{$accordion-border-width}) !default;\n\n$accordion-body-padding-y:                $accordion-padding-y !default;\n$accordion-body-padding-x:                $accordion-padding-x !default;\n\n$accordion-button-padding-y:              $accordion-padding-y !default;\n$accordion-button-padding-x:              $accordion-padding-x !default;\n$accordion-button-color:                  var(--fg-2) !default;\n$accordion-button-bg:                     var(--accordion-bg) !default;\n$accordion-transition:                    color .15s ease-in-out, background-color .15s ease-in-out, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--bg-2) !default;\n$accordion-button-active-color:           var(--fg) !default;\n\n$accordion-icon-width:                    1rem !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n// scss-docs-end accordion-variables\n\n@layer components {\n  .accordion {\n    // scss-docs-start accordion-css-vars\n    --accordion-color: #{$accordion-color};\n    --accordion-bg: #{$accordion-bg};\n    --accordion-transition: #{$accordion-transition};\n    --accordion-border-color: #{$accordion-border-color};\n    --accordion-border-width: #{$accordion-border-width};\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    // --accordion-border-radius: #{$accordion-border-radius};\n    // --accordion-inner-border-radius: #{$accordion-inner-border-radius};\n    --accordion-btn-padding-x: #{$accordion-button-padding-x};\n    --accordion-btn-padding-y: #{$accordion-button-padding-y};\n    --accordion-btn-color: #{$accordion-button-color};\n    --accordion-btn-bg: #{$accordion-button-bg};\n    --accordion-btn-icon-width: #{$accordion-icon-width};\n    --accordion-btn-icon-transform: #{$accordion-icon-transform};\n    --accordion-btn-icon-transition: #{$accordion-icon-transition};\n    --accordion-body-padding-x: #{$accordion-body-padding-x};\n    --accordion-body-padding-y: #{$accordion-body-padding-y};\n    --accordion-active-color: #{$accordion-button-active-color};\n    --accordion-active-bg: #{$accordion-button-active-bg};\n    // scss-docs-end accordion-css-vars\n  }\n\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);\n    font-size: $font-size-base;\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none; // Remove default marker\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    // @include border-radius(var(--accordion-border-radius));\n    @include transition(var(--accordion-transition));\n\n    // Hide the default marker in webkit browsers\n    // &::-webkit-details-marker {\n    //   display: none;\n    // }\n\n    // Icon styles\n    .accordion-icon {\n      flex-shrink: 0;\n      width: var(--accordion-btn-icon-width);\n      height: var(--accordion-btn-icon-width);\n      margin-inline-start: auto;\n      color: currentcolor;\n      @include transition(var(--accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus-visible {\n      position: relative;\n      z-index: 3;\n      @include focus-ring(true);\n      outline-offset: -1px;\n    }\n  }\n\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n\n      > .accordion-body {\n        @include border-bottom-radius(var(--accordion-border-radius));\n      }\n    }\n\n    // Open state - details[open] applies these styles\n    &[open] {\n      border-color: var(--theme-border, var(--accordion-border-color));\n\n      > .accordion-header {\n        color: var(--theme-text, var(--accordion-active-color));\n        background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n        box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n        .accordion-icon {\n          transform: var(--accordion-btn-icon-transform);\n        }\n      }\n\n      // Remove bottom radius from header when open (even on last item)\n      &:last-of-type > .accordion-header {\n        @include border-bottom-radius(0);\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--accordion-body-padding-y) var(--accordion-body-padding-x);\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child {\n        border-block-start: 0;\n      }\n\n      &:last-child {\n        border-block-end: 0;\n      }\n\n      > .accordion-header,\n      > .accordion-body {\n        @include border-radius(0);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"theme\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start alert-variables\n$alert-gap:                     $spacer * .75 !default;\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-border-radius:           var(--border-radius) !default;\n$alert-link-font-weight:        $font-weight-semibold !default;\n$alert-border-width:            var(--border-width) !default;\n// scss-docs-end alert-variables\n\n@layer components {\n  .alert {\n    // scss-docs-start alert-css-vars\n    --alert-gap: #{$alert-gap};\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: #{$alert-padding-x};\n    --alert-padding-y: #{$alert-padding-y};\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: #{$alert-border-width} solid var(--alert-border-color);\n    --alert-border-radius: #{$alert-border-radius};\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    // scss-docs-end alert-css-vars\n\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    @include border-radius(var(--alert-border-radius));\n  }\n\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: $alert-link-font-weight;\n    color: var(--alert-link-color);\n  }\n}\n","@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start avatar-variables\n$avatar-size:                 2.5rem !default;\n$avatar-size-xs:              1.5rem !default;\n$avatar-size-sm:              2rem !default;\n$avatar-size-lg:              3rem !default;\n$avatar-size-xl:              4rem !default;\n$avatar-border-radius:        50% !default;\n$avatar-border-width:         2px !default;\n$avatar-border-color:         var(--bg-body) !default;\n$avatar-bg:                   var(--bg-2) !default;\n$avatar-color:                var(--fg-body) !default;\n\n$avatar-status-size:          .75rem !default;\n$avatar-status-border-width:  2px !default;\n$avatar-status-border-color:  var(--bg-body) !default;\n\n$avatar-stack-spacing:        -.3 !default; // Percentage of avatar size (negative for overlap)\n// scss-docs-end avatar-variables\n\n@layer components {\n  .avatar {\n    // scss-docs-start avatar-css-vars\n    --avatar-border-radius: #{$avatar-border-radius};\n    --avatar-border-width: #{$avatar-border-width};\n    --avatar-border-color: #{$avatar-border-color};\n    --avatar-bg: #{$avatar-bg};\n    --avatar-color: #{$avatar-color};\n    --avatar-status-size: #{$avatar-status-size};\n    --avatar-status-border-width: #{$avatar-status-border-width};\n    --avatar-status-border-color: #{$avatar-status-border-color};\n    // scss-docs-end avatar-css-vars\n\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size, #{$avatar-size});\n    height: var(--avatar-size, #{$avatar-size});\n    font-size: calc(var(--avatar-size) * .4);\n    font-weight: $font-weight-medium;\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    @include border-radius(var(--avatar-border-radius));\n  }\n\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    @include border-radius(inherit);\n  }\n\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    @include border-radius(50%);\n\n    &.status-online {\n      background-color: var(--green-500);\n    }\n\n    &.status-offline {\n      background-color: var(--gray-400);\n      @include border-radius(20%);\n    }\n\n    &.status-busy {\n      background-color: var(--red-500);\n      @include border-radius(20%);\n    }\n\n    &.status-away {\n      background-color: var(--yellow-500);\n    }\n  }\n\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n\n    .avatar {\n      // Stack spacing is calculated as a percentage of avatar size\n      margin-left: calc(var(--avatar-size, #{$avatar-size}) * #{$avatar-stack-spacing});\n      border: var(--avatar-border-width) solid var(--avatar-border-color);\n      mask-image: none;\n\n      &:last-child {\n        margin-left: 0;\n      }\n\n      &:hover {\n        z-index: 1;\n        transform: translateY(-2px);\n      }\n    }\n  }\n\n  .avatar-xs,\n  .avatar-stack-xs {\n    --avatar-size: #{$avatar-size-xs};\n    --avatar-status-size: .625rem;\n  }\n\n  .avatar-sm,\n  .avatar-stack-sm {\n    --avatar-size: #{$avatar-size-sm};\n  }\n\n  .avatar-lg,\n  .avatar-stack-lg {\n    --avatar-size: #{$avatar-size-lg};\n    --avatar-status-size: 1rem;\n  }\n\n  .avatar-xl,\n  .avatar-stack-xl {\n    --avatar-size: #{$avatar-size-xl};\n    --avatar-status-size: 1.25rem;\n  }\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start badge-variables\n$badge-font-size:                   clamp(12px, .75em, .75em) !default;\n$badge-font-weight:                 $font-weight-semibold !default;\n$badge-color:                       inherit !default;\n$badge-padding-y:                   .25em !default;\n$badge-padding-x:                   .625em !default;\n$badge-border-radius:               var(--border-radius-lg) !default;\n// scss-docs-end badge-variables\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    // scss-docs-start badge-css-vars\n    --badge-padding-x: #{$badge-padding-x};\n    --badge-padding-y: #{$badge-padding-y};\n    --badge-font-size: #{$badge-font-size};\n    --badge-font-weight: #{$badge-font-weight};\n    --badge-color: #{$badge-color};\n    --badge-bg: var(--bg-2);\n    --badge-border-width: #{$border-width};\n    --badge-border-color: transparent;\n    --badge-border-radius: #{$badge-border-radius};\n    // scss-docs-end badge-css-vars\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    @include border-radius(var(--badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --badge-#{$property}: transparent;\n        } @else {\n          --badge-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      color: var(--badge-color);\n      background-color: var(--badge-bg);\n      border-color: var(--badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"sass:string\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size:              null !default;\n$breadcrumb-padding-y:              0 !default;\n$breadcrumb-padding-x:              0 !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--fg-4) !default;\n$breadcrumb-border-radius:          var(--border-radius) !default;\n\n$breadcrumb-link-padding-x:         .75rem !default;\n$breadcrumb-link-padding-y:         .25rem !default;\n$breadcrumb-link-color:             var(--fg-3) !default;\n$breadcrumb-link-hover-color:       var(--fg-2) !default;\n$breadcrumb-link-hover-bg:          var(--bg-1) !default;\n$breadcrumb-link-active-color:      var(--fg-1) !default;\n$breadcrumb-link-border-radius:     var(--border-radius-lg) !default;\n// scss-docs-end breadcrumb-variables\n\n@layer components {\n  .breadcrumb {\n    // scss-docs-start breadcrumb-css-vars\n    --breadcrumb-padding-x: #{$breadcrumb-padding-x};\n    --breadcrumb-padding-y: #{$breadcrumb-padding-y};\n    --breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};\n    --breadcrumb-font-size: #{$breadcrumb-font-size};\n    --breadcrumb-bg: #{$breadcrumb-bg};\n    --breadcrumb-border-radius: #{$breadcrumb-border-radius};\n    --breadcrumb-divider-color: #{$breadcrumb-divider-color};\n    --breadcrumb-link-padding-x: #{$breadcrumb-link-padding-x};\n    --breadcrumb-link-padding-y: #{$breadcrumb-link-padding-y};\n    --breadcrumb-link-color: #{$breadcrumb-link-color};\n    --breadcrumb-link-hover-color: #{$breadcrumb-link-hover-color};\n    --breadcrumb-link-hover-bg: #{$breadcrumb-link-hover-bg};\n    --breadcrumb-link-active-color: #{$breadcrumb-link-active-color};\n    --breadcrumb-link-border-radius: #{$breadcrumb-link-border-radius};\n    // scss-docs-end breadcrumb-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    @include border-radius(var(--breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    display: flex;\n  }\n\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    @include border-radius(var(--breadcrumb-link-border-radius));\n    @include transition(.1s text-decoration-color ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--breadcrumb-link-hover-color);\n      background-color: var(--breadcrumb-link-hover-bg);\n    }\n\n    &.active {\n      color: var(--breadcrumb-link-active-color);\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// scss-docs-start chip-variables\n// $chip-font-size:                    .875em !default;\n// $chip-font-weight:                  $font-weight-normal !default;\n// $chip-padding-y:                    .25rem !default;\n$chip-height:                       1.75rem !default;\n$chip-padding-x:                    .625rem !default;\n$chip-gap:                          .3125rem !default;\n$chip-border-radius:                var(--border-radius-pill) !default;\n$chip-icon-size:                    1rem !default;\n$chip-img-size:                     1.25rem !default;\n$chip-dismiss-size:                 1rem !default;\n$chip-dismiss-opacity:              .65 !default;\n$chip-dismiss-hover-opacity:        1 !default;\n// scss-docs-end chip-variables\n\n@layer components {\n  .chip {\n    // scss-docs-start chip-css-vars\n    // --chip-padding-y: #{$chip-padding-y};\n    --chip-height: #{$chip-height};\n    --chip-padding-x: #{$chip-padding-x};\n    --chip-gap: #{$chip-gap};\n    // --chip-font-size: #{$chip-font-size};\n    // --chip-font-weight: #{$chip-font-weight};\n    --chip-border-radius: #{$chip-border-radius};\n    --chip-img-size: #{$chip-img-size};\n    --chip-icon-size: #{$chip-icon-size};\n    --chip-dismiss-size: #{$chip-dismiss-size};\n    --chip-dismiss-opacity: #{$chip-dismiss-opacity};\n    --chip-dismiss-hover-opacity: #{$chip-dismiss-hover-opacity};\n\n    // Default (subtle) appearance - uses theme when available\n    --chip-color: var(--theme-text, var(--fg-body));\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n    --chip-border-color: transparent;\n\n    // Selected/active state colors (solid appearance)\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n    // scss-docs-end chip-css-vars\n\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    // font-size: var(--chip-font-size);\n    // font-weight: var(--chip-font-weight);\n    // line-height: 1.25;\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    @include border-radius(var(--chip-border-radius));\n\n    &:hover {\n      --chip-bg: var(--theme-bg-muted, var(--bg-3));\n    }\n\n    &:focus-visible {\n      outline: 0;\n      // @include focus-ring();\n    }\n\n    // Active/selected state - solid appearance\n    &.active {\n      --chip-color: var(--chip-selected-color);\n      --chip-bg: var(--chip-selected-bg);\n      --chip-border-color: var(--chip-selected-border-color);\n\n      &:hover {\n        --chip-bg: var(--chip-selected-bg);\n        opacity: .9;\n      }\n    }\n\n    // Disabled state\n    &.disabled,\n    &:disabled {\n      pointer-events: none;\n      opacity: .65;\n    }\n  }\n\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    @include border-radius(50%);\n\n    &:first-child {\n      margin-inline-start: -.375rem;\n    }\n  }\n\n  // Chip icon (left side)\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -.25);\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n    }\n\n    > img {\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n      object-fit: cover;\n      @include border-radius(50%);\n    }\n  }\n\n  // Dismiss button (right side)\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n    margin-inline-end: calc(var(--chip-padding-x) * -.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n    // @include transition(opacity .15s ease-in-out);\n\n    &:hover {\n      opacity: var(--chip-dismiss-hover-opacity);\n    }\n\n    &:focus-visible {\n      outline: 0;\n      opacity: 1;\n      @include focus-ring();\n    }\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-dismiss-size);\n      height: var(--chip-dismiss-size);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start card-variables\n$card-spacer-y:                     $spacer !default;\n$card-spacer-x:                     $spacer !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--border-width) !default;\n$card-border-color:                 var(--border-color-translucent) !default;\n$card-border-radius:                var(--border-radius-lg) !default;\n$card-box-shadow:                   null !default;\n$card-inner-border-radius:          calc(#{$card-border-radius} - #{$card-border-width}) !default;\n$card-cap-padding-y:                $card-spacer-y * .75 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       var(--bg-1) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--bg-body) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n\n$card-body-gap:                     $card-spacer-y * .5 !default;\n// scss-docs-end card-variables\n\n@layer components {\n  .card {\n    // scss-docs-start card-css-vars\n    --card-spacer-y: #{$card-spacer-y};\n    --card-spacer-x: #{$card-spacer-x};\n    --card-subtitle-color: #{$card-subtitle-color};\n    --card-border-width: #{$card-border-width};\n    --card-border-color: #{$card-border-color};\n    --card-border-radius: #{$card-border-radius};\n    --card-box-shadow: #{$card-box-shadow};\n    --card-inner-border-radius: #{$card-inner-border-radius};\n    --card-cap-padding-y: #{$card-cap-padding-y};\n    --card-cap-padding-x: #{$card-cap-padding-x};\n    --card-cap-bg: #{$card-cap-bg};\n    --card-cap-color: #{$card-cap-color};\n    --card-height: #{$card-height};\n    --card-color: #{$card-color};\n    --card-bg: #{$card-bg};\n    --card-img-overlay-padding: #{$card-img-overlay-padding};\n    --card-group-margin: #{$card-group-margin};\n    --card-body-gap: #{$card-body-gap};\n    // scss-docs-end card-css-vars\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    // border: var(--card-border-width) solid var(--card-border-color);\n    // @include border-radius(var(--card-border-radius));\n    @include box-shadow(var(--card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n  }\n\n  .card-body {\n    display: flex;\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    &:first-child {\n      @include border-top-radius(var(--card-border-radius));\n      border-top-width: var(--card-border-width);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(var(--card-border-radius));\n      border-bottom-width: var(--card-border-width);\n    }\n\n    &:not(:first-child):not(:last-child) {\n      border-block-end-width: var(--card-border-width);\n    }\n  }\n\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -.5);\n  }\n\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:first-child {\n      @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:last-child {\n      @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n    }\n  }\n\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n\n    .card-header {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-footer {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-body,\n    .card-list {\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n  }\n\n  //\n  // Header navs\n  //\n\n  // Combined selector because of specificity match with `.nav` base class\n  .nav.card-header-tabs {\n    margin-inline: calc(-.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--card-bg);\n      border-block-end-color: var(--card-bg);\n    }\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    @include border-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--card-inner-border-radius));\n  }\n\n\n  .card-row {\n    flex-direction: row;\n\n    .card-body,\n    .card-list {\n      border-width: var(--card-border-width) 0;\n      @include border-radius(0);\n\n      &:first-child {\n        @include border-start-radius(var(--card-inner-border-radius));\n        border-inline-start-width: var(--card-border-width);\n      }\n\n      &:last-child {\n        @include border-end-radius(var(--card-inner-border-radius));\n        border-inline-end-width: var(--card-border-width);\n      }\n\n      &:not(:first-child):not(:last-child) {\n        border-inline-end-width: var(--card-border-width);\n      }\n    }\n  }\n\n  .card-img-start {\n    @include border-start-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img-end {\n    @include border-end-radius(var(--card-inner-border-radius));\n  }\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/color-mode\" as *;\n\n// scss-docs-start carousel-variables\n$carousel-control-color:             $white !default;\n$carousel-control-width:             15% !default;\n$carousel-control-opacity:           .5 !default;\n$carousel-control-hover-opacity:     .9 !default;\n$carousel-control-transition:        opacity .15s ease !default;\n$carousel-control-icon-filter:       null !default;\n\n$carousel-indicator-width:           30px !default;\n$carousel-indicator-height:          3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer:          3px !default;\n$carousel-indicator-opacity:         .5 !default;\n$carousel-indicator-active-bg:       $white !default;\n$carousel-indicator-active-opacity:  1 !default;\n$carousel-indicator-transition:      opacity .6s ease !default;\n\n$carousel-caption-width:             70% !default;\n$carousel-caption-color:             $white !default;\n$carousel-caption-padding-y:         1.25rem !default;\n$carousel-caption-spacer:            1.25rem !default;\n\n$carousel-control-icon-width:        2rem !default;\n\n$carousel-control-prev-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\") !default;\n$carousel-control-next-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\") !default;\n\n$carousel-transition-duration:       .6s !default;\n$carousel-transition:                transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n// scss-docs-end carousel-variables\n\n// scss-docs-start carousel-dark-variables\n$carousel-indicator-active-bg-dark:   $black !default;\n$carousel-caption-color-dark:         $black !default;\n$carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;\n// scss-docs-end carousel-dark-variables\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition($carousel-transition);\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s $carousel-transition-duration);\n    }\n  }\n\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: $carousel-control-width;\n    padding: 0;\n    color: $carousel-control-color;\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: $carousel-control-opacity;\n    @include transition($carousel-control-transition);\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: $carousel-control-color;\n      text-decoration: none;\n      outline: 0;\n      opacity: $carousel-control-hover-opacity;\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: $carousel-control-icon-width;\n    height: $carousel-control-icon-width;\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: $carousel-control-width;\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: $carousel-indicator-width;\n      height: $carousel-indicator-height;\n      padding: 0;\n      margin-inline: $carousel-indicator-spacer;\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: $carousel-indicator-hit-area-height solid transparent;\n      opacity: $carousel-indicator-opacity;\n      @include transition($carousel-indicator-transition);\n    }\n\n    .active {\n      opacity: $carousel-indicator-active-opacity;\n    }\n  }\n\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: (100% - $carousel-caption-width) * .5;\n    bottom: $carousel-caption-spacer;\n    left: (100% - $carousel-caption-width) * .5;\n    padding-top: $carousel-caption-padding-y;\n    padding-bottom: $carousel-caption-padding-y;\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    --carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark};\n    --carousel-caption-color: #{$carousel-caption-color-dark};\n    --carousel-control-icon-filter: #{$carousel-control-icon-filter-dark};\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  :root,\n  [data-bs-theme=\"light\"] {\n    --carousel-indicator-active-bg: #{$carousel-indicator-active-bg};\n    --carousel-caption-color: #{$carousel-caption-color};\n    --carousel-control-icon-filter: #{$carousel-control-icon-filter};\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// scss-docs-start datepicker-variables\n$datepicker-padding:                1rem !default;\n$datepicker-bg:                     var(--bg-body) !default;\n$datepicker-color:                  var(--fg-body) !default;\n$datepicker-border-color:           var(--border-color-translucent) !default;\n$datepicker-border-width:           var(--border-width) !default;\n$datepicker-border-radius:          var(--border-radius-lg) !default;\n$datepicker-box-shadow:             var(--box-shadow) !default;\n$datepicker-font-size:              var(--font-size-sm) !default;\n$datepicker-min-width:              280px !default;\n\n$datepicker-header-font-weight:     600 !default;\n$datepicker-weekday-color:          var(--fg-3) !default;\n$datepicker-day-hover-bg:           var(--bg-1) !default;\n$datepicker-day-selected-bg:        var(--primary-bg) !default;\n$datepicker-day-selected-color:     var(--primary-contrast) !default;\n$datepicker-day-today-bg:           var(--bg-2) !default;\n$datepicker-day-today-color:        var(--fg-1) !default;\n$datepicker-day-disabled-color:     var(--fg-4) !default;\n// scss-docs-end datepicker-variables\n\n@layer components {\n  [data-vc=\"calendar\"] {\n    // scss-docs-start datepicker-css-vars\n    --datepicker-padding: #{$datepicker-padding};\n    --datepicker-bg: #{$datepicker-bg};\n    --datepicker-color: #{$datepicker-color};\n    --datepicker-border-color: #{$datepicker-border-color};\n    --datepicker-border-width: #{$datepicker-border-width};\n    --datepicker-border-radius: #{$datepicker-border-radius};\n    --datepicker-box-shadow: #{$datepicker-box-shadow};\n    --datepicker-font-size: #{$datepicker-font-size};\n    --datepicker-min-width: #{$datepicker-min-width};\n    --datepicker-zindex: #{$zindex-dropdown};\n\n    --datepicker-header-font-weight: #{$datepicker-header-font-weight};\n    --datepicker-weekday-color: #{$datepicker-weekday-color};\n    --datepicker-day-hover-bg: #{$datepicker-day-hover-bg};\n    --datepicker-day-selected-bg: #{$datepicker-day-selected-bg};\n    --datepicker-day-selected-color: #{$datepicker-day-selected-color};\n    --datepicker-day-today-bg: #{$datepicker-day-today-bg};\n    --datepicker-day-today-color: #{$datepicker-day-today-color};\n    --datepicker-day-disabled-color: #{$datepicker-day-disabled-color};\n    // scss-docs-end datepicker-css-vars\n\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    @include border-radius(var(--datepicker-border-radius));\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n\n    // Respond to Bootstrap's color mode system\n    &[data-bs-theme=\"light\"] {\n      color-scheme: light;\n    }\n\n    &[data-bs-theme=\"dark\"] {\n      color-scheme: dark;\n    }\n\n    // Catch-all for focus styles\n    button:focus-visible {\n      position: relative;\n      z-index: 1;\n      @include focus-ring();\n    }\n  }\n\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  // Inline calendars\n  //\n  // Remove popover styling for more neutral styling\n  [data-vc=\"calendar\"]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n\n  [data-vc-position=\"bottom\"] {\n    margin-block-start: .25rem;\n  }\n\n  [data-vc-position=\"top\"] {\n    margin-block-end: -.25rem;\n  }\n\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &::before {\n      position: absolute;\n      inset: .25rem;\n      content: \"\";\n      background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n      background-repeat: no-repeat;\n      background-position: center;\n    }\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc-arrow=\"prev\"]::before {\n    transform: rotate(90deg);\n  }\n\n  [data-vc-arrow=\"next\"]::before {\n    transform: rotate(-90deg);\n  }\n\n  // Grid layout\n  [data-vc=\"controls\"] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n\n  [data-vc=\"grid\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n\n  [data-vc=\"column\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n\n  //\n  // Header\n  //\n\n  [data-vc=\"header\"] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: .75rem;\n  }\n\n  // Month and year\n  [data-vc-header=\"content\"] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n\n  [data-vc=\"month\"],\n  [data-vc=\"year\"] {\n    padding: .25rem .5rem;\n    margin-inline: -.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    // cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n\n  [data-vc=\"content\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n\n  // Month/Year grids\n  [data-vc=\"months\"],\n  [data-vc=\"years\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: .25rem;\n    align-items: center;\n  }\n\n  [data-vc=\"years\"] {\n    --vc-columns: 5;\n  }\n\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: .25rem;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n\n    &[data-vc-months-month-selected],\n    &[data-vc-years-year-selected] {\n      color: var(--datepicker-day-selected-color);\n      background-color: var(--datepicker-day-selected-bg);\n\n      &:hover {\n        color: var(--datepicker-day-selected-color);\n        background-color: var(--datepicker-day-selected-bg);\n      }\n    }\n  }\n\n  // Week days header\n  [data-vc=\"week\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: .5rem;\n  }\n\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n\n  // Dates grid\n  [data-vc=\"dates\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    pointer-events: none;\n  }\n\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: .125rem;\n    padding-bottom: .125rem;\n    pointer-events: auto;\n\n    &:not(:has([data-vc-date-btn])),\n    &[data-vc-date-disabled],\n    &[data-vc-date-disabled] [data-vc-date-btn] {\n      pointer-events: none;\n    }\n  }\n\n  // Date button\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: .75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: $border-radius;\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  // Today\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n\n\n  // Outside month\n  [data-vc-date-month=\"next\"] [data-vc-date-btn],\n  [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n    opacity: .5;\n  }\n\n  // Disabled\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n\n  // Range selection styles\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n\n  [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n    border-start-start-radius: $border-radius;\n    border-end-start-radius: $border-radius;\n  }\n\n  [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n    border-start-end-radius: $border-radius;\n    border-end-end-radius: $border-radius;\n  }\n\n  [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: $border-radius;\n  }\n\n  [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: .8;\n  }\n\n  // Selected\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n\n  }\n\n  [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n    border-top-left-radius: $border-radius;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: $border-radius;\n  }\n\n  [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: $border-radius;\n    border-bottom-right-radius: $border-radius;\n    border-bottom-left-radius: 0;\n  }\n\n  [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: $border-radius;\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// scss-docs-start dialog-css-vars\n$dialog-padding:                1rem !default;\n$dialog-width:                  500px !default;\n$dialog-width-sm:               280px !default;\n$dialog-width-lg:               800px !default;\n$dialog-width-xl:               1140px !default;\n$dialog-margin:                 1.75rem !default;\n$dialog-color:                  var(--fg-body) !default;\n$dialog-bg:                     var(--bg-body) !default;\n$dialog-border-color:           var(--border-color-translucent) !default;\n$dialog-border-width:           var(--border-width) !default;\n$dialog-border-radius:          var(--border-radius-lg) !default;\n$dialog-box-shadow:             var(--box-shadow-lg) !default;\n$dialog-backdrop-bg:            rgba(0, 0, 0, .5) !default;\n$dialog-header-padding:         1rem !default;\n$dialog-header-border-color:    var(--border-color) !default;\n$dialog-header-border-width:    var(--border-width) !default;\n$dialog-footer-padding:         1rem !default;\n$dialog-footer-border-color:    var(--border-color) !default;\n$dialog-footer-border-width:    var(--border-width) !default;\n$dialog-footer-gap:             .5rem !default;\n// scss-docs-end dialog-css-vars\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    --dialog-padding: #{$dialog-padding};\n    --dialog-width: #{$dialog-width};\n    --dialog-margin: #{$dialog-margin};\n    --dialog-color: #{$dialog-color};\n    --dialog-bg: #{$dialog-bg};\n    --dialog-border-color: #{$dialog-border-color};\n    --dialog-border-width: #{$dialog-border-width};\n    --dialog-border-radius: #{$dialog-border-radius};\n    --dialog-box-shadow: #{$dialog-box-shadow};\n    --dialog-backdrop-bg: #{$dialog-backdrop-bg};\n    --dialog-header-padding: #{$dialog-header-padding};\n    --dialog-header-border-color: #{$dialog-header-border-color};\n    --dialog-header-border-width: #{$dialog-header-border-width};\n    --dialog-footer-padding: #{$dialog-footer-padding};\n    --dialog-footer-border-color: #{$dialog-footer-border-color};\n    --dialog-footer-border-width: #{$dialog-footer-border-width};\n    --dialog-footer-gap: #{$dialog-footer-gap};\n\n    // Reset native dialog styles\n    max-width: var(--dialog-width);\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    @include border-radius(var(--dialog-border-radius));\n    @include box-shadow(var(--dialog-box-shadow));\n\n    // Native backdrop styling via ::backdrop pseudo-element\n    &::backdrop {\n      background-color: var(--dialog-backdrop-bg);\n    }\n\n    // Animation support using native [open] attribute\n    &.fade {\n      opacity: 0;\n      @include transition(opacity .15s linear);\n\n      &::backdrop {\n        opacity: 0;\n        @include transition(opacity .15s linear);\n      }\n\n      &[open] {\n        opacity: 1;\n\n        &::backdrop {\n          opacity: 1;\n        }\n      }\n    }\n\n    // Static backdrop \"bounce\" animation (modal dialogs only)\n    &.dialog-static {\n      transform: scale(1.02);\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--dialog-width);\n        margin-block-end: var(--dialog-margin);\n        margin-inline: auto;\n        color: var(--dialog-color);\n        background-color: var(--dialog-bg);\n        background-clip: padding-box;\n        border: var(--dialog-border-width) solid var(--dialog-border-color);\n        @include border-radius(var(--dialog-border-radius));\n        @include box-shadow(var(--dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      display: flex;\n      flex-direction: column;\n      max-height: calc(100% - var(--dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Dialog sizes\n  .dialog-sm { --dialog-width: #{$dialog-width-sm}; }\n  .dialog-lg { --dialog-width: #{$dialog-width-lg}; }\n  .dialog-xl { --dialog-width: #{$dialog-width-xl}; }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $postfix: if(sass($infix != \"\"): #{$infix}-down; else: \"\");\n\n    @if $postfix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .dialog-fullscreen#{$postfix} {\n          --dialog-width: 100vw;\n          --dialog-margin: 0;\n          --dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n    overflow-y: auto;\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start dropdown-variables\n$dropdown-gap:                      $spacer * .125 !default;\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                .25rem !default;\n$dropdown-padding-y:                .25rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--fg-body) !default;\n$dropdown-bg:                       var(--bg-body) !default;\n$dropdown-border-color:             var(--border-color-translucent) !default;\n$dropdown-border-radius:            var(--border-radius-lg) !default;\n$dropdown-border-width:             var(--border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-box-shadow:               var(--box-shadow) !default;\n\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .125 !default;\n$dropdown-divider-margin-x:         $spacer * .25 !default;\n\n$dropdown-link-color:               var(--fg-body) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--bg-1) !default;\n\n$dropdown-link-active-color:        $component-active-color !default;\n$dropdown-link-active-bg:           $component-active-bg !default;\n\n$dropdown-link-disabled-color:      var(--fg-3) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer * .75 !default;\n$dropdown-item-border-radius:       var(--border-radius) !default;\n$dropdown-item-gap:                 $spacer * .5 !default;\n\n$dropdown-header-color:             var(--gray-600) !default;\n$dropdown-header-padding-x:         $dropdown-item-padding-x !default;\n$dropdown-header-padding-y:         $dropdown-padding-y !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color:               var(--gray-300) !default;\n$dropdown-dark-bg:                  var(--gray-900) !default;\n$dropdown-dark-border-color:        $dropdown-border-color !default;\n$dropdown-dark-divider-bg:          $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow:          null !default;\n$dropdown-dark-link-color:          $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color:    $white !default;\n$dropdown-dark-link-hover-bg:       rgba($white, .15) !default;\n$dropdown-dark-link-active-color:   $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg:      $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: var(--gray-500) !default;\n$dropdown-dark-header-color:        var(--gray-500) !default;\n// scss-docs-end dropdown-dark-variables\n\n@layer components {\n  // The dropdown wrapper (`<div>`)\n  .dropdown {\n    position: relative;\n  }\n\n  // The dropdown menu\n  .dropdown-menu {\n    // scss-docs-start dropdown-css-vars\n    --dropdown-zindex: #{$zindex-dropdown};\n    --dropdown-gap: #{$dropdown-gap};\n    --dropdown-min-width: #{$dropdown-min-width};\n    --dropdown-padding-x: #{$dropdown-padding-x};\n    --dropdown-padding-y: #{$dropdown-padding-y};\n    --dropdown-spacer: #{$dropdown-spacer};\n    --dropdown-font-size: #{$dropdown-font-size};\n    --dropdown-color: #{$dropdown-color};\n    --dropdown-bg: #{$dropdown-bg};\n    --dropdown-border-color: #{$dropdown-border-color};\n    --dropdown-border-radius: #{$dropdown-border-radius};\n    --dropdown-border-width: #{$dropdown-border-width};\n    --dropdown-inner-border-radius: #{$dropdown-inner-border-radius};\n    --dropdown-divider-bg: #{$dropdown-divider-bg};\n    --dropdown-divider-margin-y: #{$dropdown-divider-margin-y};\n    --dropdown-divider-margin-x: #{$dropdown-divider-margin-x};\n    --dropdown-box-shadow: #{$dropdown-box-shadow};\n    --dropdown-link-color: #{$dropdown-link-color};\n    --dropdown-link-hover-color: #{$dropdown-link-hover-color};\n    --dropdown-link-hover-bg: #{$dropdown-link-hover-bg};\n    --dropdown-link-active-color: #{$dropdown-link-active-color};\n    --dropdown-link-active-bg: #{$dropdown-link-active-bg};\n    --dropdown-link-disabled-color: #{$dropdown-link-disabled-color};\n    --dropdown-item-gap: #{$dropdown-item-gap};\n    --dropdown-item-padding-x: #{$dropdown-item-padding-x};\n    --dropdown-item-padding-y: #{$dropdown-item-padding-y};\n    --dropdown-item-border-radius: #{$dropdown-item-border-radius};\n    --dropdown-header-color: #{$dropdown-header-color};\n    --dropdown-header-padding-x: #{$dropdown-header-padding-x};\n    --dropdown-header-padding-y: #{$dropdown-header-padding-y};\n    // scss-docs-end dropdown-css-vars\n\n    position: absolute;\n    z-index: var(--dropdown-zindex);\n    display: none; // none by default, but flex on \"open\" of the menu\n    flex-direction: column;\n    gap: var(--dropdown-gap);\n    min-width: var(--dropdown-min-width);\n    padding: var(--dropdown-padding-y) var(--dropdown-padding-x);\n    margin: 0; // Override default margin of ul\n    font-size: var(--dropdown-font-size);\n    color: var(--dropdown-color);\n    text-align: start; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n    list-style: none;\n    background-color: var(--dropdown-bg);\n    background-clip: padding-box;\n    border: var(--dropdown-border-width) solid var(--dropdown-border-color);\n    @include border-radius(var(--dropdown-border-radius));\n    @include box-shadow(var(--dropdown-box-shadow));\n\n    @if $dropdown-padding-y == 0 {\n      > .dropdown-item:first-child,\n      > li:first-child .dropdown-item {\n        @include border-top-radius(var(--dropdown-inner-border-radius));\n      }\n      > .dropdown-item:last-child,\n      > li:last-child .dropdown-item {\n        @include border-bottom-radius(var(--dropdown-inner-border-radius));\n      }\n    }\n  }\n\n  .dropdown-menu.show {\n    display: flex;\n  }\n\n  // Dividers (basically an `<hr>`) within the dropdown\n  .dropdown-divider {\n    height: 0;\n    margin: var(--dropdown-divider-margin-y) var(--dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--dropdown-divider-bg);\n    opacity: 1;\n  }\n\n  // Links, buttons, and more within the dropdown menu\n  //\n  // `<button>`-specific styles are denoted with `// For <button>s`\n  .dropdown-item {\n    display: flex;\n    gap: var(--dropdown-item-gap);\n    align-items: center;\n    width: 100%; // For `<button>`s\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    font-weight: $font-weight-normal;\n    color: var(--dropdown-link-color);\n    text-align: inherit; // For `<button>`s\n    text-decoration: none;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n    background-color: transparent; // For `<button>`s\n    border: 0; // For `<button>`s\n    @include border-radius(var(--dropdown-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--dropdown-link-hover-color);\n      @include gradient-bg(var(--dropdown-link-hover-bg));\n    }\n\n    &.active,\n    &:active {\n      color: var(--dropdown-link-active-color);\n      @include gradient-bg(var(--dropdown-link-active-bg));\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--dropdown-link-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // Remove CSS gradients if they're enabled\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n    }\n  }\n\n  // Dropdown section headers\n  .dropdown-header {\n    display: block;\n    padding: var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);\n    margin-bottom: 0; // for use with heading elements\n    font-size: $font-size-sm;\n    color: var(--dropdown-header-color);\n    white-space: nowrap; // as with > li > a\n  }\n\n  // Dropdown text\n  .dropdown-item-text {\n    display: block;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    color: var(--fg-2);\n  }\n\n  // Dark dropdowns\n  .dropdown-menu-dark {\n    // scss-docs-start dropdown-dark-css-vars\n    --dropdown-color: #{$dropdown-dark-color};\n    --dropdown-bg: #{$dropdown-dark-bg};\n    --dropdown-border-color: #{$dropdown-dark-border-color};\n    --dropdown-box-shadow: #{$dropdown-dark-box-shadow};\n    --dropdown-link-color: #{$dropdown-dark-link-color};\n    --dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};\n    --dropdown-divider-bg: #{$dropdown-dark-divider-bg};\n    --dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};\n    --dropdown-link-active-color: #{$dropdown-dark-link-active-color};\n    --dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};\n    --dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};\n    --dropdown-header-color: #{$dropdown-dark-header-color};\n    // scss-docs-end dropdown-dark-css-vars\n  }\n\n  // scss-docs-start dropdown-submenu\n  // Submenus\n  //\n  // Nested dropdown menus with hover/click activation and keyboard support.\n\n  .dropdown-submenu {\n    position: relative;\n\n    // Submenu trigger styling\n    > .dropdown-item {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    // Submenu caret indicator\n    > .dropdown-item::after {\n      display: inline-block;\n      flex-shrink: 0;\n      width: .375em;\n      height: .375em;\n      margin-inline-start: auto;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0 .125em .125em 0;\n      transform: rotate(-45deg);\n\n      // RTL: flip the chevron direction\n      [dir=\"rtl\"] & {\n        transform: rotate(135deg);\n      }\n    }\n\n    // Submenu positioning (set by JS via Floating UI)\n    > .dropdown-menu {\n      top: 0;\n      // Offset to align with parent item\n      margin-top: calc(-1 * var(--dropdown-padding-y));\n    }\n\n    // Hover state for submenu trigger\n    &:hover > .dropdown-item,\n    &:focus-within > .dropdown-item {\n      color: var(--dropdown-link-hover-color);\n      background-color: var(--dropdown-link-hover-bg);\n    }\n\n    // Active/open state\n    &.show > .dropdown-item {\n      color: var(--dropdown-link-hover-color);\n      background-color: var(--dropdown-link-hover-bg);\n    }\n  }\n  // scss-docs-end dropdown-submenu\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"theme\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--fg-body) !default;\n$list-group-bg:                     var(--bg-body) !default;\n$list-group-border-color:           var(--border-color) !default;\n$list-group-border-width:           var(--border-width) !default;\n$list-group-border-radius:          var(--border-radius) !default;\n\n$list-group-item-padding-y:         $spacer * .5 !default;\n$list-group-item-padding-x:         $spacer !default;\n\n$list-group-hover-bg:               var(--tertiary-bg) !default;\n$list-group-active-color:           $component-active-color !default;\n$list-group-active-bg:              $component-active-bg !default;\n$list-group-active-border-color:    $list-group-active-bg !default;\n\n$list-group-disabled-color:         var(--secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--secondary-color) !default;\n$list-group-action-hover-color:     var(--fg-color) !default;\n\n$list-group-action-active-color:    var(--fg-body) !default;\n$list-group-action-active-bg:       var(--secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n@layer components {\n  .list-group {\n    // scss-docs-start list-group-css-vars\n    --list-group-color: #{$list-group-color};\n    --list-group-bg: #{$list-group-bg};\n    --list-group-border-color: #{$list-group-border-color};\n    --list-group-border-width: #{$list-group-border-width};\n    --list-group-border-radius: #{$list-group-border-radius};\n    --list-group-item-padding-x: #{$list-group-item-padding-x};\n    --list-group-item-padding-y: #{$list-group-item-padding-y};\n    --list-group-action-color: #{$list-group-action-color};\n    --list-group-action-hover-color: #{$list-group-action-hover-color};\n    --list-group-action-hover-bg: #{$list-group-hover-bg};\n    --list-group-action-active-color: #{$list-group-action-active-color};\n    --list-group-action-active-bg: #{$list-group-action-active-bg};\n    --list-group-disabled-color: #{$list-group-disabled-color};\n    --list-group-disabled-bg: #{$list-group-disabled-bg};\n    --list-group-active-color: #{$list-group-active-color};\n    --list-group-active-bg: #{$list-group-active-bg};\n    --list-group-active-border-color: #{$list-group-active-border-color};\n    // scss-docs-end list-group-css-vars\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    text-decoration: if(sass($link-decoration == none): null);\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--list-group-active-color);\n      background-color: var(--list-group-active-bg);\n      border-color: var(--list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--list-group-border-width));\n        border-block-start-width: var(--list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n        background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .list-group-horizontal#{$infix} {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--list-group-border-width));\n              border-inline-start-width: var(--list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start nav-variables\n$nav-gap:                           .125rem !default;\n$nav-link-gap:                      .5rem !default;\n$nav-link-align:                    center !default;\n$nav-link-justify:                  center !default;\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-color:                    var(--fg-2) !default;\n$nav-link-hover-color:              var(--fg-1) !default;\n$nav-link-hover-bg:                 var(--bg-1) !default;\n$nav-link-transition:               color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color:           var(--fg-4) !default;\n$nav-link-active-color:             var(--fg-body) !default;\n$nav-link-active-bg:                var(--bg-2) !default;\n\n$nav-tabs-border-color:             var(--border-color) !default;\n$nav-tabs-border-width:             var(--border-width) !default;\n$nav-tabs-border-radius:            var(--border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--border-subtle) !default;\n$nav-tabs-link-active-color:        var(--fg-color) !default;\n$nav-tabs-link-active-bg:           var(--bg-body) !default;\n$nav-tabs-link-active-border-color: var(--border-color) var(--border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-link-active-color:       $component-active-color !default;\n$nav-pills-link-active-bg:          $component-active-bg !default;\n\n$nav-underline-gap:                 1rem !default;\n$nav-underline-border-width:        .125rem !default;\n$nav-underline-link-active-color:   var(--fg-color) !default;\n// scss-docs-end nav-variables\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    // scss-docs-start nav-css-vars\n    --nav-gap: #{$nav-gap};\n    --nav-link-gap: #{$nav-link-gap};\n    --nav-link-align: #{$nav-link-align};\n    --nav-link-justify: #{$nav-link-justify};\n    --nav-link-padding-x: #{$nav-link-padding-x};\n    --nav-link-padding-y: #{$nav-link-padding-y};\n    --nav-link-color: #{$nav-link-color};\n    --nav-link-hover-color: #{$nav-link-hover-color};\n    --nav-link-hover-bg: #{$nav-link-hover-bg};\n    --nav-link-active-color: #{$nav-link-active-color};\n    --nav-link-active-bg: #{$nav-link-active-bg};\n    --nav-link-disabled-color: #{$nav-link-disabled-color};\n    // scss-docs-end nav-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    @include border-radius(var(--border-radius));\n    // @include font-size(var(--nav-link-font-size));\n    @include transition($nav-link-transition);\n\n    &:hover,\n    &:focus {\n      color: var(--nav-link-hover-color);\n      background-color: var(--nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      --focus-ring-offset: 1px;\n      color: var(--nav-link-hover-color);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    &:active {\n      color: var(--nav-link-active-color);\n      background-color: var(--nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    --nav-tabs-border-width: #{$nav-tabs-border-width};\n    --nav-tabs-border-color: #{$nav-tabs-border-color};\n    --nav-tabs-border-radius: #{$nav-tabs-border-radius};\n    --nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n    --nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n    --nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n    --nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n    // scss-docs-end nav-tabs-css-vars\n\n    border-block-end: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);\n\n    .nav-link {\n      margin-bottom: calc(-1 * var(--nav-tabs-border-width));\n      border: var(--nav-tabs-border-width) solid transparent;\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--nav-tabs-link-active-color);\n      background-color: var(--nav-tabs-link-active-bg);\n      border-color: var(--nav-tabs-link-active-border-color);\n      border-bottom-color: var(--nav-tabs-link-active-bg);\n    }\n\n    .dropdown-menu {\n      // Make dropdown border overlap tab border\n      margin-top: calc(-1 * var(--nav-tabs-border-width));\n      // Remove the top rounded corners here since there is a hard edge above the menu\n      @include border-top-radius(0);\n    }\n  }\n\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    // scss-docs-start nav-pills-css-vars\n    --nav-pills-link-active-color: #{$nav-pills-link-active-color};\n    --nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n    // scss-docs-end nav-pills-css-vars\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--nav-pills-link-active-color);\n      @include gradient-bg(var(--nav-pills-link-active-bg));\n    }\n  }\n\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    --nav-gap: #{$nav-underline-gap};\n    --nav-link-active-bg: transparent;\n    // --nav-underline-gap: #{$nav-underline-gap};\n    --nav-underline-border-width: #{$nav-underline-border-width};\n    --nav-underline-link-active-color: #{$nav-underline-link-active-color};\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border-block-end: var(--nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start navbar-variables\n$navbar-padding-y:                  $spacer * .5 !default;\n$navbar-padding-x:                  null !default;\n\n$navbar-nav-link-padding-x:         .75rem !default;\n\n$navbar-brand-font-size:            $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n// mdo-do: fix this\n// $nav-link-height:                   $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n// $navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-height:               1.5rem !default;\n// $navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-padding-y:            $navbar-brand-height * .5 !default;\n$navbar-brand-margin-end:           1rem !default;\n\n$navbar-toggler-padding-y:          .25rem !default;\n$navbar-toggler-padding-x:          .75rem !default;\n$navbar-toggler-font-size:          $font-size-lg !default;\n$navbar-toggler-border-radius:      var(--border-radius) !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                var(--fg-2) !default;\n$navbar-light-hover-color:          var(--fg-1) !default;\n$navbar-light-active-color:         var(--fg) !default;\n$navbar-light-disabled-color:       var(--fg-3) !default;\n$navbar-light-icon-color:           color-mix(in oklch, var(--body-color) 75%, transparent) !default;\n$navbar-light-toggler-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent) !default;\n$navbar-light-brand-color:          $navbar-light-active-color !default;\n$navbar-light-brand-hover-color:    $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color:                 rgba($white, .55) !default;\n$navbar-dark-hover-color:           rgba($white, .75) !default;\n$navbar-dark-active-color:          $white !default;\n$navbar-dark-disabled-color:        rgba($white, .25) !default;\n$navbar-dark-icon-color:            $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color:  rgba($white, .1) !default;\n$navbar-dark-brand-color:           $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color:     $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n@layer components {\n  .navbar {\n    // scss-docs-start navbar-css-vars\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    --navbar-padding-x: #{if(sass($navbar-padding-x == null): 0; else: $navbar-padding-x)};\n    --navbar-padding-y: #{$navbar-padding-y};\n    --navbar-color: #{$navbar-light-color};\n    --navbar-hover-color: #{$navbar-light-hover-color};\n    --navbar-disabled-color: #{$navbar-light-disabled-color};\n    --navbar-active-color: #{$navbar-light-active-color};\n    --navbar-brand-padding-y: #{$navbar-brand-padding-y};\n    --navbar-brand-margin-end: #{$navbar-brand-margin-end};\n    --navbar-brand-font-size: #{$navbar-brand-font-size};\n    --navbar-brand-color: #{$navbar-light-brand-color};\n    --navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n    --navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n    --navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n    --navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n    --navbar-toggler-font-size: #{$navbar-toggler-font-size};\n    --navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n    --navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n    --navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n    --navbar-toggler-transition: #{$navbar-toggler-transition};\n    // scss-docs-end navbar-css-vars\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // allow us to do the line break for collapsing content\n    align-items: center;\n    justify-content: space-between; // space out brand from logo\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    @include gradient-bg();\n\n    // Because flex properties aren't inherited, we need to redeclare these first\n    // few properties so that content nested within behave properly.\n    // The `flex-wrap` property is inherited to simplify the expanded navbars\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--navbar-brand-hover-color);\n    }\n  }\n\n\n  // Navbar nav\n  //\n  // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n  .navbar-nav {\n    // scss-docs-start navbar-nav-css-vars\n    // --nav-link-padding-x: 0;\n    // @mdo-do: fix this, navbar shouldn't need to reuse nav link variables mb? or we need to bring them in…\n    // --nav-link-padding-y: #{$nav-link-padding-y};\n    // @include rfs($nav-link-font-size, --nav-link-font-size);\n    // --nav-link-font-weight: #{$nav-link-font-weight};\n    --nav-link-color: var(--navbar-color);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    // scss-docs-end navbar-nav-css-vars\n\n    display: flex;\n    flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--navbar-active-color);\n      }\n    }\n\n    // .dropdown-menu {\n    //   position: static;\n    // }\n  }\n\n\n  // Navbar text\n  //\n  //\n\n  .navbar-text {\n    // @mdo-do: fix this too\n    // padding-top: $nav-link-padding-y;\n    // padding-bottom: $nav-link-padding-y;\n    color: var(--navbar-color);\n\n    a,\n    a:hover,\n    a:focus  {\n      color: var(--navbar-active-color);\n    }\n  }\n\n\n  // Responsive navbar\n  //\n  // Custom styles for responsive collapsing and toggling of navbar contents.\n  // Powered by the collapse Bootstrap JavaScript plugin.\n\n  // When collapsed, prevent the toggleable navbar contents from appearing in\n  // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n  // on the `.navbar` parent.\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    // For always expanded or extra full navbars, ensure content aligns itself\n    // properly vertically. Can be easily overridden with flex utilities.\n    align-items: center;\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);\n    font-size: var(--navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--navbar-color);\n    background-color: transparent; // remove default button style\n    border: var(--border-width) solid var(--navbar-toggler-border-color); // remove default button style\n    @include border-radius(var(--navbar-toggler-border-radius));\n    @include transition(var(--navbar-toggler-transition));\n\n    &:hover {\n      text-decoration: none;\n    }\n\n    &:focus-visible {\n      text-decoration: none;\n      @include focus-ring(true);\n    }\n  }\n\n  // Keep as a separate element so folks can easily override it with another icon\n  // or image file as needed.\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n\n  .navbar-nav-scroll {\n    max-height: var(--scroll-height, 75vh);\n    overflow-y: auto;\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of `.navbar-expand-*` responsive classes for configuring\n  // where your navbar collapses.\n  .navbar-expand {\n    @each $breakpoint in map.keys($grid-breakpoints) {\n      $next: breakpoint-next($breakpoint, $grid-breakpoints);\n      $infix: breakpoint-infix($next, $grid-breakpoints);\n\n      // stylelint-disable-next-line scss/selector-no-union-class-name\n      &#{$infix} {\n        @include media-breakpoint-up($next) {\n          flex-wrap: nowrap;\n          justify-content: flex-start;\n\n          .navbar-nav {\n            --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n            flex-direction: row;\n\n            // .dropdown-menu {\n            //   position: absolute;\n            // }\n\n            // .nav-link {\n            //   padding-inline: var(--navbar-nav-link-padding-x);\n            // }\n          }\n\n          .navbar-nav-scroll {\n            overflow: visible;\n          }\n\n          .navbar-collapse {\n            display: flex !important; // stylelint-disable-line declaration-no-important\n            flex-basis: auto;\n          }\n\n          .navbar-toggler {\n            display: none !important; // stylelint-disable-line declaration-no-important\n          }\n\n          .offcanvas {\n            // stylelint-disable declaration-no-important\n            position: static;\n            z-index: auto;\n            flex-grow: 1;\n            width: auto !important;\n            height: auto !important;\n            visibility: visible !important;\n            background-color: transparent !important;\n            border: 0 !important;\n            transform: none !important;\n            @include box-shadow(none);\n            @include transition(none);\n            // stylelint-enable declaration-no-important\n\n            .offcanvas-header {\n              display: none;\n            }\n\n            .offcanvas-body {\n              display: flex;\n              flex-grow: 0;\n              padding: 0;\n              overflow-y: visible;\n            }\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Navbar themes\n  //\n  // Styles for switching between navbars with light or dark background.\n\n  .navbar-dark,\n  .navbar[data-bs-theme=\"dark\"] {\n    // scss-docs-start navbar-dark-css-vars\n    --navbar-color: #{$navbar-dark-color};\n    --navbar-hover-color: #{$navbar-dark-hover-color};\n    --navbar-disabled-color: #{$navbar-dark-disabled-color};\n    --navbar-active-color: #{$navbar-dark-active-color};\n    --navbar-brand-color: #{$navbar-dark-brand-color};\n    --navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n    --navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n    --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n    // scss-docs-end navbar-dark-css-vars\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark) {\n      .navbar-toggler-icon {\n        --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n\n%offcanvas-css-vars {\n  // scss-docs-start offcanvas-css-vars\n  --offcanvas-zindex: #{$zindex-offcanvas};\n  --offcanvas-width: #{$offcanvas-horizontal-width};\n  --offcanvas-height: #{$offcanvas-vertical-height};\n  --offcanvas-padding-x: #{$offcanvas-padding-x};\n  --offcanvas-padding-y: #{$offcanvas-padding-y};\n  --offcanvas-color: #{$offcanvas-color};\n  --offcanvas-bg: #{$offcanvas-bg-color};\n  --offcanvas-border-width: #{$offcanvas-border-width};\n  --offcanvas-border-color: #{$offcanvas-border-color};\n  --offcanvas-box-shadow: #{$offcanvas-box-shadow};\n  --offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};\n  --offcanvas-title-line-height: #{$offcanvas-title-line-height};\n  // scss-docs-end offcanvas-css-vars\n}\n\n@layer components {\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @extend %offcanvas-css-vars;\n    }\n  }\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @include media-breakpoint-down($next) {\n        position: fixed;\n        bottom: 0;\n        z-index: var(--offcanvas-zindex);\n        display: flex;\n        flex-direction: column;\n        max-width: 100%;\n        color: var(--offcanvas-color);\n        visibility: hidden;\n        background-color: var(--offcanvas-bg);\n        background-clip: padding-box;\n        outline: 0;\n        @include box-shadow(var(--offcanvas-box-shadow));\n        @include transition(var(--offcanvas-transition));\n\n        &.offcanvas-start {\n          inset-block: 0;\n          inset-inline-start: 0;\n          width: var(--offcanvas-width);\n          border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateX(-100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(100%);\n          }\n        }\n\n        &.offcanvas-end {\n          inset-block: 0;\n          inset-inline-end: 0;\n          width: var(--offcanvas-width);\n          border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateX(100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(-100%);\n          }\n        }\n\n        &.offcanvas-top {\n          inset: 0 0 auto;\n          height: var(--offcanvas-height);\n          max-height: 100%;\n          border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateY(-100%);\n        }\n\n        &.offcanvas-bottom {\n          inset: auto 0 0;\n          height: var(--offcanvas-height);\n          max-height: 100%;\n          border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateY(100%);\n        }\n\n        &.showing,\n        &.show:not(.hiding) {\n          transform: none;\n        }\n\n        &.showing,\n        &.hiding,\n        &.show {\n          visibility: visible;\n        }\n      }\n\n      @if not ($infix == \"\") {\n        @include media-breakpoint-up($next) {\n          --offcanvas-height: auto;\n          --offcanvas-border-width: 0;\n          background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n          .offcanvas-header {\n            display: none;\n          }\n\n          .offcanvas-body {\n            display: flex;\n            flex-grow: 0;\n            padding: 0;\n            overflow-y: visible;\n            // Reset `background-color` in case `.bg-*` classes are used in offcanvas\n            background-color: transparent !important; // stylelint-disable-line declaration-no-important\n          }\n        }\n      }\n    }\n  }\n\n  .offcanvas-backdrop {\n    @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);\n  }\n\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n    .btn-close {\n      padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n      // Split properties to avoid invalid calc() function if value is 0\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n      margin-top: calc(-.5 * var(--offcanvas-padding-y));\n      margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n    }\n  }\n\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n  position: fixed;\n  inset: 0;\n  z-index: $zindex;\n  background-color: $backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $backdrop-opacity; }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start pagination-variables\n$pagination-padding-y:              .375rem !default;\n$pagination-padding-x:              .75rem !default;\n$pagination-padding-y-sm:           .25rem !default;\n$pagination-padding-x-sm:           .5rem !default;\n$pagination-padding-y-lg:           .75rem !default;\n$pagination-padding-x-lg:           1.5rem !default;\n\n$pagination-font-size:              $font-size-base !default;\n\n$pagination-color:                  var(--link-color) !default;\n$pagination-bg:                     var(--bg-body) !default;\n$pagination-border-radius:          var(--border-radius) !default;\n$pagination-border-width:           var(--border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default;\n$pagination-border-color:           var(--border-color) !default;\n\n$pagination-focus-color:            var(--link-hover-color) !default;\n$pagination-focus-bg:               var(--secondary-bg) !default;\n\n$pagination-hover-color:            var(--link-hover-color) !default;\n$pagination-hover-bg:               var(--tertiary-bg) !default;\n$pagination-hover-border-color:     var(--border-color) !default; // Todo in v6: remove this?\n\n$pagination-active-color:           $component-active-color !default;\n$pagination-active-bg:              $component-active-bg !default;\n$pagination-active-border-color:    $component-active-bg !default;\n\n$pagination-disabled-color:         var(--secondary-color) !default;\n$pagination-disabled-bg:            var(--secondary-bg) !default;\n$pagination-disabled-border-color:  var(--border-color) !default;\n\n$pagination-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\n$pagination-border-radius-sm:       var(--border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// scss-docs-start pagination-mixin\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n  --pagination-padding-x: #{$padding-x};\n  --pagination-padding-y: #{$padding-y};\n  --pagination-font-size: #{$font-size};\n  --pagination-border-radius: #{$border-radius};\n}\n// scss-docs-end pagination-mixin\n\n@layer components {\n  .pagination {\n    // scss-docs-start pagination-css-vars\n    --pagination-padding-x: #{$pagination-padding-x};\n    --pagination-padding-y: #{$pagination-padding-y};\n    --pagination-font-size: #{$pagination-font-size};\n    --pagination-color: #{$pagination-color};\n    --pagination-bg: #{$pagination-bg};\n    --pagination-border-width: #{$pagination-border-width};\n    --pagination-border-color: #{$pagination-border-color};\n    --pagination-border-radius: #{$pagination-border-radius};\n    --pagination-hover-color: #{$pagination-hover-color};\n    --pagination-hover-bg: #{$pagination-hover-bg};\n    --pagination-hover-border-color: #{$pagination-hover-border-color};\n    --pagination-focus-color: #{$pagination-focus-color};\n    --pagination-focus-bg: #{$pagination-focus-bg};\n    --pagination-active-color: #{$pagination-active-color};\n    --pagination-active-bg: #{$pagination-active-bg};\n    --pagination-active-border-color: #{$pagination-active-border-color};\n    --pagination-disabled-color: #{$pagination-disabled-color};\n    --pagination-disabled-bg: #{$pagination-disabled-bg};\n    --pagination-disabled-border-color: #{$pagination-disabled-border-color};\n    // scss-docs-end pagination-css-vars\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    @include transition($pagination-transition);\n\n    &:hover {\n      z-index: 2;\n      color: var(--pagination-hover-color);\n      background-color: var(--pagination-hover-bg);\n      border-color: var(--pagination-hover-border-color);\n    }\n\n    &:focus-visible {\n      z-index: 3;\n      color: var(--pagination-focus-color);\n      background-color: var(--pagination-focus-bg);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--pagination-active-color);\n      @include gradient-bg(var(--pagination-active-bg));\n      border-color: var(--pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--pagination-disabled-bg);\n      border-color: var(--pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: $pagination-margin-start;\n    }\n\n    @if $pagination-margin-start == calc(-1 * #{$pagination-border-width}) {\n      &:first-child {\n        .page-link {\n          @include border-start-radius(var(--pagination-border-radius));\n        }\n      }\n\n      &:last-child {\n        .page-link {\n          @include border-end-radius(var(--pagination-border-radius));\n        }\n      }\n    } @else {\n      // Add border-radius to all pageLinks in case they have left margin\n      .page-link {\n        @include border-radius(var(--pagination-border-radius));\n      }\n    }\n  }\n\n\n  //\n  // Sizing\n  //\n\n  .pagination-lg {\n    @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);\n  }\n\n  .pagination-sm {\n    @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);\n  }\n}\n","@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start placeholders\n$placeholder-opacity-max:           .5 !default;\n$placeholder-opacity-min:           .2 !default;\n// scss-docs-end placeholders\n\n\n@layer components {\n  .placeholder {\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: $placeholder-opacity-max;\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: $placeholder-opacity-min;\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start popover-variables\n$popover-font-size:                 var(--font-size-sm) !default;\n$popover-bg:                        var(--bg-body) !default;\n$popover-max-width:                 280px !default;\n$popover-border-width:              var(--border-width) !default;\n$popover-border-color:              var(--border-color-translucent) !default;\n$popover-border-radius:             var(--border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow:                var(--box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--bg-1) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          $spacer * .75 !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--fg-body) !default;\n$popover-body-padding-y:            $spacer * .75 !default;\n$popover-body-padding-x:            $spacer !default;\n\n$popover-arrow-width:               1rem !default;\n$popover-arrow-height:              .5rem !default;\n// scss-docs-end popover-variables\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    --popover-zindex: #{$zindex-popover};\n    --popover-max-width: #{$popover-max-width};\n    --popover-font-size: #{$popover-font-size};\n    --popover-bg: #{$popover-bg};\n    --popover-border-width: #{$popover-border-width};\n    --popover-border-color: #{$popover-border-color};\n    --popover-border-radius: #{$popover-border-radius};\n    --popover-inner-border-radius: #{$popover-inner-border-radius};\n    --popover-box-shadow: #{$popover-box-shadow};\n    --popover-header-padding-x: #{$popover-header-padding-x};\n    --popover-header-padding-y: #{$popover-header-padding-y};\n    --popover-header-font-size: #{$popover-header-font-size};\n    --popover-header-color: #{$popover-header-color};\n    --popover-header-bg: #{$popover-header-bg};\n    --popover-body-padding-x: #{$popover-body-padding-x};\n    --popover-body-padding-y: #{$popover-body-padding-y};\n    --popover-body-color: #{$popover-body-color};\n    --popover-arrow-width: #{$popover-arrow-width};\n    --popover-arrow-height: #{$popover-arrow-height};\n    --popover-arrow-border: var(--popover-border-color);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-radius(var(--popover-border-radius));\n    @include box-shadow(var(--popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--popover-arrow-width);\n      height: var(--popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--popover-border-width);\n        border-block-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--popover-border-width);\n        border-inline-end-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--popover-border-width);\n        border-block-end-color: var(--popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--popover-border-width);\n        border-inline-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-top-radius(var(--popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n\n// scss-docs-start progress-variables\n$progress-height:                   1rem !default;\n$progress-font-size:                $font-size-base * .75 !default;\n$progress-bg:                       var(--secondary-bg) !default;\n$progress-border-radius:            var(--border-radius) !default;\n$progress-box-shadow:               var(--box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   var(--primary-bg) !default;\n$progress-bar-animation-timing:     1s linear infinite !default;\n$progress-bar-transition:           width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    // scss-docs-start progress-css-vars\n    --progress-height: #{$progress-height};\n    --progress-font-size: #{$progress-font-size};\n    --progress-bg: #{$progress-bg};\n    --progress-border-radius: #{$progress-border-radius};\n    --progress-box-shadow: #{$progress-box-shadow};\n    --progress-bar-color: #{$progress-bar-color};\n    --progress-bar-bg: #{$progress-bar-bg};\n    --progress-bar-transition: #{$progress-bar-transition};\n    // scss-docs-end progress-css-vars\n\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden; // force rounded corners by cropping it\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    @include border-radius(var(--progress-border-radius));\n    @include box-shadow(var(--progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    @include transition(var(--progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--progress-height) var(--progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: $progress-bar-animation-timing progress-bar-stripes;\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start spinner-variables\n$spinner-width:           2rem !default;\n$spinner-height:          $spinner-width !default;\n$spinner-vertical-align:  -.125em !default;\n$spinner-border-width:    .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm:        1rem !default;\n$spinner-height-sm:       $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n//\n// Rotating border\n//\n\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    // scss-docs-start spinner-border-css-vars\n    --spinner-width: #{$spinner-width};\n    --spinner-height: #{$spinner-height};\n    --spinner-vertical-align: #{$spinner-vertical-align};\n    --spinner-border-width: #{$spinner-border-width};\n    --spinner-animation-speed: #{$spinner-animation-speed};\n    --spinner-animation-name: spinner-border;\n    // scss-docs-end spinner-border-css-vars\n\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --spinner-width: #{$spinner-width-sm};\n    --spinner-height: #{$spinner-height-sm};\n    --spinner-border-width: #{$spinner-border-width-sm};\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    // scss-docs-start spinner-grow-css-vars\n    --spinner-width: #{$spinner-width};\n    --spinner-height: #{$spinner-height};\n    --spinner-vertical-align: #{$spinner-vertical-align};\n    --spinner-animation-speed: #{$spinner-animation-speed};\n    --spinner-animation-name: spinner-grow;\n    // scss-docs-end spinner-grow-css-vars\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    --spinner-width: #{$spinner-width-sm};\n    --spinner-height: #{$spinner-height-sm};\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --spinner-animation-speed: #{$spinner-animation-speed * 2};\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start stepper-variables\n$stepper-size: 2rem !default;\n$stepper-gap: 1rem !default;\n$stepper-track-size: .25rem !default;\n$stepper-bg: var(--bg-2) !default;\n$stepper-active-fg: var(--primary-contrast) !default;\n$stepper-active-bg: var(--primary-bg) !default;\n// $stepper-vertical-gap: .5rem !default;\n// scss-docs-end stepper-variables\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n  display: inline-grid;\n  grid-auto-columns: 1fr;\n  grid-auto-flow: column;\n\n  .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n\n    &::after {\n      top: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      right: 0;\n      bottom: auto;\n      left: calc(-50% - var(--stepper-gap));\n      width: auto;\n      height: var(--stepper-track-size);\n    }\n\n    &:last-child::after {\n      right: 50%;\n    }\n  }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n// scss-docs-start stepper-css\n.stepper {\n  // scss-docs-start stepper-css-vars\n  --stepper-size: #{$stepper-size};\n  --stepper-gap: #{$stepper-gap};\n  --stepper-bg: #{$stepper-bg};\n  --stepper-track-size: #{$stepper-track-size};\n  --stepper-active-color: #{$stepper-active-fg};\n  --stepper-active-bg: #{$stepper-active-bg};\n  // scss-docs-end stepper-css-vars\n\n  display: grid;\n  grid-auto-rows: 1fr;\n  grid-auto-flow: row;\n  gap: var(--stepper-gap);\n  padding-left: 0;\n  list-style: none;\n  counter-reset: stepper;\n}\n\n.stepper-item {\n  position: relative;\n  display: grid;\n  grid-template-rows: auto;\n  grid-template-columns: var(--stepper-size) auto;\n  gap: .5rem;\n  place-items: center;\n  justify-items: start;\n  text-align: center;\n  text-decoration: none;\n\n\n  // The counter\n  &::before {\n    position: relative;\n    z-index: 1;\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--stepper-size);\n    height: var(--stepper-size);\n    padding: .5rem;\n    font-weight: 600;\n    line-height: 1;\n    text-align: center;\n    content: counter(stepper);\n    counter-increment: stepper;\n    background-color: var(--stepper-bg);\n    @include border-radius(50%);\n  }\n\n  // Connecting lines\n  &::after {\n    position: absolute;\n    top: calc(var(--stepper-gap) * -1);\n    bottom: 100%;\n    left: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n    width: var(--stepper-track-size);\n    content: \"\";\n    background-color: var(--stepper-bg);\n  }\n\n  // Avoid sibling selector for easier CSS overrides\n  &:first-child::after {\n    display: none;\n  }\n\n  &.active {\n    &::before,\n    &::after {\n      color: var(--theme-contrast, var(--stepper-active-color));\n      background-color: var(--theme-bg, var(--stepper-active-bg));\n    }\n  }\n}\n\n@each $breakpoint in map.keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .stepper-horizontal#{$infix} {\n      @include stepper-horizontal();\n    }\n  }\n}\n\n// scss-docs-start stepper-overflow\n.stepper-overflow {\n  container-type: inline-size;\n  overflow-x: auto;\n  overscroll-behavior-x: contain;\n  -webkit-overflow-scrolling: touch;\n\n  > .stepper {\n    width: max-content;\n    min-width: 100%;\n  }\n}\n// scss-docs-end stepper-overflow\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start toast-variables\n$toast-max-width:                   350px !default;\n$toast-padding-x:                   .75rem !default;\n$toast-padding-y:                   .5rem !default;\n$toast-font-size:                   .875rem !default;\n$toast-color:                       null !default;\n$toast-background-color:            rgba(var(--body-bg-rgb), .85) !default;\n$toast-border-width:                var(--border-width) !default;\n$toast-border-color:                var(--border-color-translucent) !default;\n$toast-border-radius:               var(--border-radius) !default;\n$toast-box-shadow:                  var(--box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--secondary-color) !default;\n$toast-header-background-color:     rgba(var(--body-bg-rgb), .85) !default;\n$toast-header-border-color:         $toast-border-color !default;\n// scss-docs-end toast-variables\n\n@layer components {\n  .toast {\n    // scss-docs-start toast-css-vars\n    --toast-zindex: #{$zindex-toast};\n    --toast-padding-x: #{$toast-padding-x};\n    --toast-padding-y: #{$toast-padding-y};\n    --toast-spacing: #{$toast-spacing};\n    --toast-max-width: #{$toast-max-width};\n    --toast-font-size: #{$toast-font-size};\n    --toast-color: #{$toast-color};\n    --toast-bg: #{$toast-background-color};\n    --toast-border-width: #{$toast-border-width};\n    --toast-border-color: #{$toast-border-color};\n    --toast-border-radius: #{$toast-border-radius};\n    --toast-box-shadow: #{$toast-box-shadow};\n    --toast-header-color: #{$toast-header-color};\n    --toast-header-bg: #{$toast-header-background-color};\n    --toast-header-border-color: #{$toast-header-border-color};\n    // scss-docs-end toast-css-vars\n\n    width: var(--toast-max-width);\n    max-width: 100%;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color);\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--toast-border-color);\n    box-shadow: var(--toast-box-shadow);\n    @include border-radius(var(--toast-border-radius));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--toast-header-color);\n    background-color: var(--toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n    @include border-top-radius(calc(var(--toast-border-radius) - var(--toast-border-width)));\n\n    .btn-close {\n      margin-inline-start: var(--toast-padding-x);\n      margin-inline-end: calc(-.5 * var(--toast-padding-x));\n    }\n  }\n\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sources":["bootstrap.css","../../scss/_banner.scss","../../scss/_colors.scss","../../scss/_root.scss","../../scss/content/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss","../../scss/content/_type.scss","../../scss/mixins/_lists.scss","../../scss/_config.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.scss","../../scss/mixins/_box-shadow.scss","../../scss/content/_prose.scss","../../scss/mixins/_transition.scss","../../scss/layout/_containers.scss","../../scss/layout/_grid.scss","../../scss/mixins/_grid.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/forms/_form-variables.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/mixins/_color-mode.scss","../../scss/forms/_check.scss","../../scss/forms/_radio.scss","../../scss/forms/_switch.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/forms/_strength.scss","../../scss/forms/_otp-input.scss","../../scss/forms/_form-adorn.scss","../../scss/forms/_chip-input.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/forms/_validation.scss","../../scss/buttons/_button.scss","../../scss/buttons/_button-group.scss","../../scss/buttons/_close.scss","../../scss/_accordion.scss","../../scss/_alert.scss","../../scss/_avatar.scss","../../scss/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_chip.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/_datepicker.scss","../../scss/_dialog.scss","../../scss/_dropdown.scss","../../scss/_list-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/mixins/_backdrop.scss","../../scss/_pagination.scss","../../scss/_placeholder.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinner.scss","../../scss/_stepper.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_position.scss","../../scss/helpers/_stacks.scss","../../scss/helpers/_theme-colors.scss","../../scss/_theme.scss","../../scss/helpers/_visually-hidden.scss","../../scss/mixins/_visually-hidden.scss","../../scss/helpers/_stretched-link.scss","../../scss/helpers/_text-truncation.scss","../../scss/mixins/_text-truncate.scss","../../scss/helpers/_vr.scss","../../scss/utilities/_api.scss","../../scss/mixins/_utilities.scss"],"names":[],"mappings":"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CE,wBAAA;InBogER;ImBrgEM;MACE,wBAAA;InBugER;ImBxgEM;MACE,wBAAA;InB0gER;ImB3gEM;MACE,wBAAA;InB6gER;ImB9gEM;MACE,wBAAA;InBghER;ImBjhEM;MACE,yBAAA;InBmhER;ImBphEM;MACE,yBAAA;InBshER;ImBvhEM;MACE,yBAAA;InByhER;ImBlhEM;MACE,oBAFS;InBshEjB;ImBrhEM;MACE,oBAFS;InByhEjB;ImBxhEM;MACE,oBAFS;InB4hEjB;ImB3hEM;MACE,oBAFS;InB+hEjB;ImB9hEM;MACE,oBAFS;InBkiEjB;ImBjiEM;MACE,oBAFS;InBqiEjB;ImBpiEM;MACE,oBAFS;InBwiEjB;ImBviEM;MACE,oBAFS;InB2iEjB;ImB1iEM;MACE,oBAFS;InB8iEjB;ImB7iEM;MACE,qBAFS;InBijEjB;ImBhjEM;MACE,qBAFS;InBojEjB;EACF;EWhoEE;IQoEM;MACE,wBAAA;InB+jER;ImBhkEM;MACE,wBAAA;InBkkER;ImBnkEM;MACE,wBAAA;InBqkER;ImBtkEM;MACE,wBAAA;InBwkER;ImBzkEM;MACE,wBAAA;InB2kER;ImB5kEM;MACE,wBAAA;InB8kER;ImB/kEM;MACE,wBAAA;InBilER;ImBllEM;MACE,wBAAA;InBolER;ImBrlEM;MACE,wBAAA;InBulER;ImBxlEM;MACE,yBAAA;InB0lER;ImB3lEM;MACE,yBAAA;InB6lER;ImB9lEM;MACE,yBAAA;InBgmER;ImBzlEM;MACE,oBAFS;InB6lEjB;ImB5lEM;MACE,oBAFS;InBgmEjB;ImB/lEM;MACE,oBAFS;InBmmEjB;ImBlmEM;MACE,oBAFS;InBsmEjB;ImBrmEM;MACE,oBAFS;InBymEjB;ImBxmEM;MACE,oBAFS;InB4mEjB;ImB3mEM;MACE,oBAFS;InB+mEjB;ImB9mEM;MACE,oBAFS;InBknEjB;ImBjnEM;MACE,oBAFS;InBqnEjB;ImBpnEM;MACE,qBAFS;InBwnEjB;ImBvnEM;MACE,qBAFS;InB2nEjB;EACF;EWvsEE;IQoEM;MACE,wBAAA;InBsoER;ImBvoEM;MACE,wBAAA;InByoER;ImB1oEM;MACE,wBAAA;InB4oER;ImB7oEM;MACE,wBAAA;InB+oER;ImBhpEM;MACE,wBAAA;InBkpER;ImBnpEM;MACE,wBAAA;InBqpER;ImBtpEM;MACE,wBAAA;InBwpER;ImBzpEM;MACE,wBAAA;InB2pER;ImB5pEM;MACE,wBAAA;InB8pER;ImB/pEM;MACE,yBAAA;InBiqER;ImBlqEM;MACE,yBAAA;InBoqER;ImBrqEM;MACE,yBAAA;InBuqER;ImBhqEM;MACE,oBAFS;InBoqEjB;ImBnqEM;MACE,oBAFS;InBuqEjB;ImBtqEM;MACE,oBAFS;InB0qEjB;ImBzqEM;MACE,oBAFS;InB6qEjB;ImB5qEM;MACE,oBAFS;InBgrEjB;ImB/qEM;MACE,oBAFS;InBmrEjB;ImBlrEM;MACE,oBAFS;InBsrEjB;ImBrrEM;MACE,oBAFS;InByrEjB;ImBxrEM;MACE,oBAFS;InB4rEjB;ImB3rEM;MACE,qBAFS;InB+rEjB;ImB9rEM;MACE,qBAFS;InBksEjB;EACF;EW9wEE;IQoEM;MACE,wBAAA;InB6sER;ImB9sEM;MACE,wBAAA;InBgtER;ImBjtEM;MACE,wBAAA;InBmtER;ImBptEM;MACE,wBAAA;InBstER;ImBvtEM;MACE,wBAAA;InBytER;ImB1tEM;MACE,wBAAA;InB4tER;ImB7tEM;MACE,wBAAA;InB+tER;ImBhuEM;MACE,wBAAA;InBkuER;ImBnuEM;MACE,wBAAA;InBquER;ImBtuEM;MACE,yBAAA;InBwuER;ImBzuEM;MACE,yBAAA;InB2uER;ImB5uEM;MACE,yBAAA;InB8uER;ImBvuEM;MACE,oBAFS;InB2uEjB;ImB1uEM;MACE,oBAFS;InB8uEjB;ImB7uEM;MACE,oBAFS;InBivEjB;ImBhvEM;MACE,oBAFS;InBovEjB;ImBnvEM;MACE,oBAFS;InBuvEjB;ImBtvEM;MACE,oBAFS;InB0vEjB;ImBzvEM;MACE,oBAFS;InB6vEjB;ImB5vEM;MACE,oBAFS;InBgwEjB;ImB/vEM;MACE,oBAFS;InBmwEjB;ImBlwEM;MACE,qBA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sPE;IA1GI,qBAqBO;EhFoyPb;EgF/sPE;IA1GI,cAqBO;EhFuyPb;EgFltPE;IA1GI,aAqBO;EhF0yPb;EgFrtPE;IA1GI,oBAqBO;EhF6yPb;EgFxtPE;IA1GI,cAqBO;EhFgzPb;EgF3tPE;IA1GI,kBAqBO;EhFmzPb;EgF9tPE;IA1GI,mBAqBO;EhFszPb;EgFjuPE;IA1GI,aAqBO;EhFyzPb;EgFpuPE;IA1GI,oBAqBO;EhF4zPb;EgFvuPE;IA1GI,iBAqBO;EhF+zPb;EgF1uPE;IA1GI,kBAqBO;EhFk0Pb;EgF7uPE;IA1GI,aAqBO;EhFq0Pb;EgFhvPE;IA1GI,gCAgBG;EhF60PT;EgFnvPE;IA1GI,mCAgBG;EhFg1PT;EgFtvPE;IA1GI,mCAgBG;EhFm1PT;EgFzvPE;IA1GI,gBAgBG;EhFs1PT;EgF5vPE;IA1GI,qHAgBG;EhFy1PT;EgF/vPE;IA1GI,yHAgBG;EhF41PT;EgFlwPE;IA1GI,uHAgBG;EhF+1PT;EgFrwPE;IA1GI,mHAgBG;EhFk2PT;EgFxwPE;IA1GI,yHAgBG;EhFq2PT;EgF3wPE;IA1GI,qHAgBG;EhFw2PT;EgF9wPE;IA1GI,qHAgBG;EhF22PT;EgFjxPE;IA1GI,qHAgBG;EhF82PT;EgFpxPE;IA1GI,gBAqBO;EhF42Pb;EgFvxPE;IA1GI,kBAqBO;EhF+2Pb;EgF1xPE;IA1GI,kBAqBO;EhFk3Pb;EgF7xPE;IA1GI,eAqBO;EhFq3Pb;EgFhyPE;IA1GI,gBAqBO;EhFw3Pb;EgFnyPE;IA1GI,MAgBG;EhFg4PT;EgFtyPE;IA1GI,QAgBG;EhFm4PT;EgFzyPE;IA1GI,SAgBG;EhFs4PT;EgF5yPE;IA1GI,SAgBG;EhFy4PT;EgF/yPE;IA1GI,WAgBG;EhF44PT;EgFlzPE;IA1GI,YAgBG;EhF+4PT;EgFrzPE;IA1GI,OAgBG;EhFk5PT;EgFxzPE;IA1GI,SAgBG;EhFq5PT;EgF3zPE;IA1GI,UAgBG;EhFw5PT;EgF9zPE;IA1GI,QAgBG;EhF25PT;EgFj0PE;IA1GI,UAgBG;EhF85PT;EgFp0PE;IA1GI,WAgBG;EhFi6PT;EgFv0PE;IA1GI,gCAgBG;EhFo6PT;EgF1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A1GI,wBAgBG;EhFoxQT;EgF1rQE;IA1GI,sBAgBG;EhFuxQT;EgF7rQE;IA1GI,oBAgBG;EhF0xQT;EgFhsQE;IA1GI,uBAgBG;EhF6xQT;EgFnsQE;IA1GI,qBAgBG;EhFgyQT;EgFtsQE;IA1GI,mBAgBG;EhFmyQT;EgFzsQE;IA1GI,qBAgBG;EhFsyQT;EgF5sQE;IA1GI,oBAgBG;EhFyyQT;EgF/sQE;IA1GI,yBAgBG;EhF4yQT;EgFltQE;IA1GI,uBAgBG;EhF+yQT;EgFrtQE;IA1GI,qBAgBG;EhFkzQT;EgFxtQE;IA1GI,4BAgBG;EhFqzQT;EgF3tQE;IA1GI,2BAgBG;EhFwzQT;EgF9tQE;IA1GI,sBAgBG;EhF2zQT;EgFjuQE;IA1GI,gBAgBG;EhF8zQT;EgFpuQE;IA1GI,sBAgBG;EhFi0QT;EgFvuQE;IA1GI,oBAgBG;EhFo0QT;EgF1uQE;IA1GI,kBAgBG;EhFu0QT;EgF7uQE;IA1GI,oBAgBG;EhF00QT;EgFhvQE;IA1GI,mBAgBG;EhF60QT;EgFnvQE;IA1GI,kBAgBG;EhFg1QT;EgFtvQE;IA1GI,gBAgBG;EhFm1QT;EgFzvQE;IA1GI,mBAgBG;EhFs1QT;EgF5vQE;IA1GI,oBAgBG;EhFy1QT;EgF/vQE;IA1GI,eAqBO;EhFu1Qb;EgFlwQE;IA1GI,eAqBO;EhF01Qb;EgFrwQE;IA1GI,eAqBO;EhF61Qb;EgFxwQE;IA1GI,mBAgBG;EhFq2QT;EgF3wQE;IA1GI,mBAqBO;EhFm2Qb;EgF9wQE;IA1GI,sBAqBO;EhFs2Qb;EgFjxQE;IA1GI,qBAqBO;EhFy2Qb;EgFpxQE;IA1GI,SAgBG;EhFi3QT;EgFvxQE;IA1GI,QAgBG;EhFo3QT;EgF1xQE;IA1GI,QAgBG;EhFu3QT;EgF7xQE;IA1GI,QAgBG;EhF03QT;EgFhyQE;IA1GI,QAgBG;EhF63QT;EgFnyQE;IA1GI,QAgBG;EhFg4QT;EgFtyQE;IA1GI,QAgBG;EhFm4QT;EgFzyQE;IA1GI,QAgBG;EhFs4QT;EgF5yQE;IA1GI,SAgBG;EhFy4QT;EgF/yQE;IA1GI,eAgBG;EhF44QT;EgFlzQE;IA1GI,cAgBG;EhF+4QT;EgFrzQE;IA1GI,YAgBG;EhFk5QT;EgFxzQE;IA1GI,cAgBG;EhFq5QT;EgF3zQE;IA1GI,YAgBG;EhFw5QT;EgF9zQE;IA1GI,YAgBG;EhF25QT;EgFj0QE;IA1GI,gBAgBG;EhF85QT;EgFp0QE;IA1GI,sBAgBG;EhFi6QT;EgFv0QE;IA1GI,qBAgBG;EhFo6QT;EgF10QE;IA1GI,mBAgBG;EhFu6QT;EgF70QE;IA1GI,qBAgBG;EhF06QT;EgFh1QE;IA1GI,mBAgBG;EhF66QT;EgFn1QE;IA1GI,mBAgBG;EhFg7QT;EgFt1QE;IA1GI,eAgBG;EhFm7QT;EgFz1QE;IA1GI,qBAgBG;EhFs7QT;EgF51QE;IA1GI,oBAgBG;EhFy7QT;EgF/1QE;IA1GI,kBAgBG;EhF47QT;EgFl2QE;IA1GI,oBAgBG;EhF+7QT;EgFr2QE;IA1GI,kBAgBG;EhFk8QT;EgFx2QE;IA1GI,kBAgBG;EhFq8QT;EgF32QE;IA1GI,qBAgBG;EhFw8QT;EgF92QE;IA1GI,2BAgBG;EhF28QT;EgFj3QE;IA1GI,0BAgBG;EhF88QT;EgFp3QE;IA1GI,wBAgBG;EhFi9QT;EgFv3QE;IA1GI,0BAgBG;EhFo9QT;EgF13QE;IA1GI,wBAgBG;EhFu9QT;EgF73QE;IA1GI,wBAgBG;EhF09QT;EgFh4QE;IA1GI,oBAgBG;EhF69QT;EgFn4QE;IA1GI,0BAgBG;EhFg+QT;EgFt4QE;IA1GI,yBAgBG;EhFm+QT;EgFz4QE;IA1GI,uBAgBG;EhFs+QT;EgF54QE;IA1GI,yBAgBG;EhFy+QT;EgF/4QE;IA1GI,uBAgBG;EhF4+QT;EgFl5QE;IA1GI,uBAgBG;EhF++QT;EgFr5QE;IA1GI,mBAgBG;EhFk/QT;EgFx5QE;IA1GI,yBAgBG;EhFq/QT;EgF35QE;IA1GI,wBAgBG;EhFw/QT;EgF95QE;IA1GI,sBAgBG;EhF2/QT;EgFj6QE;IA1GI,wBAgBG;EhF8/QT;EgFp6QE;IA1GI,sBAgBG;EhFigRT;EgFv6QE;IA1GI,sBAgBG;EhFogRT;EgF16QE;IA1GI,sBAgBG;EhFugRT;EgF76QE;IA1GI,4BAgBG;EhF0gRT;EgFh7QE;IA1GI,2BAgBG;EhF6gRT;EgFn7QE;IA1GI,yBAgBG;EhFghRT;EgFt7QE;IA1GI,2BAgBG;EhFmhRT;EgFz7QE;IA1GI,yBAgBG;EhFshRT;EgF57QE;IA1GI,yBAgBG;EhFyhRT;EgF/7QE;IA1GI,UAgBG;EhF4hRT;EgFl8QE;IA1GI,gBAgBG;EhF+hRT;EgFr8QE;IA1GI,eAgBG;EhFkiRT;EgFx8QE;IA1GI,aAgBG;EhFqiRT;EgF38QE;IA1GI,eAgBG;EhFwiRT;EgF98QE;IA1GI,aAgBG;EhF2iRT;EgFj9QE;IA1GI,iBAgBG;EhF8iRT;EgFp9QE;IA1GI,uBAgBG;EhFijRT;EgFv9QE;IA1GI,sBAgBG;EhFojRT;EgF19QE;IA1GI,oBAgBG;EhFujRT;EgF79QE;IA1GI,sBAgBG;EhF0jRT;EgFh+QE;IA1GI,oBAgBG;EhF6jRT;EgFn+QE;IA1GI,gBAgBG;EhFgkRT;EgFt+QE;IA1GI,sBAgBG;EhFmkRT;EgFz+QE;IA1GI,qBAgBG;EhFskRT;EgF5+QE;IA1GI,mBAgBG;EhFykRT;EgF/+QE;IA1GI,qBAgBG;EhF4kRT;EgFl/QE;IA1GI,mBAgBG;EhF+kRT;EgFr/QE;IA1GI,sBAgBG;EhFklRT;EgFx/QE;IA1GI,4BAgBG;EhFqlRT;EgF3/QE;IA1GI,2BAgBG;EhFwlRT;EgF9/QE;IA1GI,yBAgBG;EhF2lRT;EgFjgRE;IA1GI,2BAgBG;EhF8lRT;EgFpgRE;IA1GI,yBAgBG;EhFimRT;EgFvgRE;IA1GI,qBAgBG;EhFomRT;EgF1gRE;IA1GI,2BAgBG;EhFumRT;EgF7gRE;IA1GI,0BAgBG;EhF0mRT;EgFhhRE;IA1GI,wBAgBG;EhF6mRT;EgFnhRE;IA1GI,0BAgBG;EhFgnRT;EgFthRE;IA1GI,wBAgBG;EhFmnRT;EgFzhRE;IA1GI,oBAgBG;EhFsnRT;EgF5hRE;IA1GI,0BAgBG;EhFynRT;EgF/hRE;IA1GI,yBAgBG;EhF4nRT;EgFliRE;IA1GI,uBAgBG;EhF+nRT;EgFriRE;IA1GI,yBAgBG;EhFkoRT;EgFxiRE;IA1GI,uBAgBG;EhFqoRT;EgF3iRE;IA1GI,uBAgBG;EhFwoRT;EgF9iRE;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S;EhFy9Rf;EgFj5RE;IA1GI,yDAgBG;EhF8+RT;EgFp5RE;IA1GI,yDAgBG;EhFi/RT;EgFv5RE;IA1GI,yDAgBG;EhFo/RT;EgF15RE;IA1GI,yDAgBG;EhFu/RT;EgF75RE;IA1GI,yDAgBG;EhF0/RT;EgFh6RE;IA1GI,yDAgBG;EhF6/RT;EgFn6RE;IA1GI,yDAgBG;EhFggST;EgFt6RE;IA1GI,yDAgBG;EhFmgST;EgFz6RE;IA1GI,yDAgBG;EhFsgST;EgF56RE;IA1GI,mBAgBG;EhFygST;EgF/6RE;IA1GI,iEAgBG;EhF4gST;EgF35RM;IAjIA,iEAgBG;EhF+gST;EgFr7RE;IA1GI,iEAgBG;EhFkhST;EgFj6RM;IAjIA,iEAgBG;EhFqhST;EgF37RE;IA1GI,iEAgBG;EhFwhST;EgFv6RM;IAjIA,iEAgBG;EhF2hST;EgFj8RE;IA1GI,iEAgBG;EhF8hST;EgF76RM;IAjIA,iEAgBG;EhFiiST;EgFv8RE;IA1GI,iEAgBG;EhFoiST;EgFn7RM;IAjIA,iEAgBG;EhFuiST;EgF78RE;IA1GI,iEAgBG;EhF0iST;EgFz7RM;IAjIA,iEAgBG;EhF6iST;EgFn9RE;IA1GI,iEAgBG;EhFgjST;EgF/7RM;IAjIA,iEAgBG;EhFmjST;EgFz9RE;IA1GI,iEAgBG;EhFsjST;EgFr8RM;IAjIA,iEAgBG;EhFyjST;EgF/9RE;IA1GI,iEAgBG;EhF4jST;EgF38RM;IAjIA,iEAgBG;EhF+jST;EgFr+RE;IA1GI,2BAgBG;EhFkkST;EgFj9RM;IAjIA,2BAgBG;EhFqkST;EgF3+RE;IA1GI,8BAgBG;EhFwkST;EgFv9RM;IAjIA,8BAgBG;EhF2kST;EgFj/RE;IA1GI,6BAgBG;EhF8kST;EgF79RM;IAjIA,6BAgBG;EhFilST;EgFv/RE;IA1GI,8BAgBG;EhFolST;EgFn+RM;IAjIA,8BAgBG;EhFulST;EgF7/RE;IA1GI,yEAgBG;EhF0lST;EgFhgSE;IA1GI,wHAgBG;EhF6lST;EgFngSE;IA1GI,2EAgBG;EhFgmST;EgFtgSE;IA1GI,uEAgBG;EhFmmST;EgFzgSE;IA1GI,6EAgBG;EhFsmST;E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2BAgBG;IhFmrTP;IgFzlTA;MA1GI,yBAgBG;IhFsrTP;IgF5lTA;MA1GI,uBAgBG;IhFyrTP;IgF/lTA;MA1GI,8BAgBG;IhF4rTP;IgFlmTA;MA1GI,6BAgBG;IhF+rTP;IgFrmTA;MA1GI,6BAgBG;IhFksTP;IgFxmTA;MA1GI,oBAgBG;IhFqsTP;IgF3mTA;MA1GI,kBAgBG;IhFwsTP;IgF9mTA;MA1GI,qBAgBG;IhF2sTP;IgFjnTA;MA1GI,sBAgBG;IhF8sTP;IgFpnTA;MA1GI,wBAgBG;IhFitTP;IgFvnTA;MA1GI,sBAgBG;IhFotTP;IgF1nTA;MA1GI,oBAgBG;IhFutTP;IgF7nTA;MA1GI,uBAgBG;IhF0tTP;IgFhoTA;MA1GI,qBAgBG;IhF6tTP;IgFnoTA;MA1GI,mBAgBG;IhFguTP;IgFtoTA;MA1GI,qBAgBG;IhFmuTP;IgFzoTA;MA1GI,oBAgBG;IhFsuTP;IgF5oTA;MA1GI,yBAgBG;IhFyuTP;IgF/oTA;MA1GI,uBAgBG;IhF4uTP;IgFlpTA;MA1GI,qBAgBG;IhF+uTP;IgFrpTA;MA1GI,4BAgBG;IhFkvTP;IgFxpTA;MA1GI,2BAgBG;IhFqvTP;IgF3pTA;MA1GI,sBAgBG;IhFwvTP;IgF9pTA;MA1GI,gBAgBG;IhF2vTP;IgFjqTA;MA1GI,sBAgBG;IhF8vTP;IgFpqTA;MA1GI,oBAgBG;IhFiwTP;IgFvqTA;MA1GI,kBAgBG;IhFowTP;IgF1qTA;MA1GI,oBAgBG;IhFuwTP;IgF7qTA;MA1GI,mBAgBG;IhF0wTP;IgFhrTA;MA1GI,kBAgBG;IhF6wTP;IgFnrTA;MA1GI,gBAgBG;IhFgxTP;IgFtrTA;MA1GI,mBAgBG;IhFmxTP;IgFzrTA;MA1GI,oBAgBG;IhFsxTP;IgF5rTA;MA1GI,eAqBO;IhFoxTX;IgF/rTA;MA1GI,eAqBO;IhFuxTX;IgFlsTA;MA1GI,eAqBO;IhF0xTX;IgFrsTA;MA1GI,mBAgBG;IhFkyTP;IgFxsTA;MA1GI,mBAqBO;IhFgyTX;IgF3sTA;MA1GI,sBAqBO;IhFmyTX;IgF9sTA;MA1GI,qBAqBO;IhFsyTX;IgFjtTA;MA1GI,SAgBG;IhF8yTP;IgFptTA;MA1GI,QAgBG;IhFizTP;IgFvtTA;MA1GI,QAgBG;IhFozTP;IgF1tTA;MA1GI,QAgBG;IhFuzTP;IgF7tTA;MA1GI,QAgBG;IhF0zTP;IgFhuTA;MA1GI,QAgBG;IhF6zTP;IgFnuTA;MA1GI,QAgBG;IhFg0TP;IgFtuTA;MA1GI,QAgBG;IhFm0TP;IgFzuTA;MA1GI,SAgBG;IhFs0TP;IgF5uTA;MA1GI,eAgBG;IhFy0TP;IgF/uTA;MA1GI,cAgBG;IhF40TP;IgFlvTA;MA1GI,YAgBG;IhF+0TP;IgFrvTA;MA1GI,cAgBG;IhFk1TP;IgFxvTA;MA1GI,YAgBG;IhFq1TP;IgF3vTA;MA1GI,YAgBG;IhFw1TP;IgF9vTA;MA1GI,gBAgBG;IhF21TP;IgFjwTA;MA1GI,sBAgBG;IhF81TP;IgFpwTA;MA1GI,qBAgBG;IhFi2TP;IgFvwTA;MA1GI,mBAgBG;IhFo2TP;IgF1wTA;MA1GI,qBAgBG;IhFu2TP;IgF7wTA;MA1GI,mBAgBG;IhF02TP;IgFhxTA;MA1GI,mBAgBG;IhF62TP;IgFnxTA;MA1GI,eAgBG;IhFg3TP;IgFtxTA;MA1GI,qBAgBG;IhFm3TP;IgFzxTA;MA1GI,oBAgBG;IhFs3TP;IgF5xTA;MA1GI,kBAgBG;IhFy3TP;IgF/xTA;MA1GI,oBAgBG;IhF43TP;IgFlyTA;MA1GI,kBAgBG;IhF+3TP;IgFryTA;MA1GI,kBAgBG;IhFk4TP;IgFxyTA;MA1GI,qBAgBG;IhFq4TP;IgF3yTA;MA1GI,2BAgBG;IhFw4TP;IgF9yTA;MA1GI,0BAgBG;IhF24TP;IgFjzTA;MA1GI,wBAgBG;IhF84TP;IgFpzTA;MA1GI,0BAgBG;IhFi5TP;IgFvzTA;MA1GI,wBAgBG;IhFo5TP;IgF1zTA;MA1GI,wBAgBG;IhFu5TP;IgF7zTA;MA1GI,oBAgBG;IhF05TP;IgFh0TA;MA1GI,0BAgBG;IhF65TP;IgFn0TA;MA1GI,yBAgBG;IhFg6TP;IgFt0TA;MA1GI,uBAgBG;IhFm6TP;IgFz0TA;MA1GI,yBAgBG;IhFs6TP;IgF50TA;MA1GI,uBAgBG;IhFy6TP;IgF/0TA;MA1GI,uBAgBG;IhF46TP;IgFl1TA;MA1GI,mBAgBG;IhF+6TP;IgFr1TA;MA1GI,yBAgBG;IhFk7TP;IgFx1TA;MA1GI,wBAgBG;IhFq7TP;IgF31TA;MA1GI,sBAgBG;IhFw7TP;IgF91TA;MA1GI,wBAgBG;IhF27TP;IgFj2TA;MA1GI,sBAgBG;IhF87TP;IgFp2TA;MA1GI,sBAgBG;IhFi8TP;IgFv2TA;MA1GI,sBAgBG;IhFo8TP;IgF12TA;MA1GI,4BAgBG;IhFu8TP;IgF72TA;MA1GI,2BAgBG;IhF08TP;IgFh3TA;MA1GI,yBAgBG;IhF68TP;IgFn3TA;MA1GI,2BAgBG;IhFg9TP;IgFt3TA;MA1GI,yBAgBG;IhFm9TP;IgFz3TA;MA1GI,yBAgBG;IhFs9TP;IgF53TA;MA1GI,UAgBG;IhFy9TP;IgF/3TA;MA1GI,gBAgBG;IhF49TP;IgFl4TA;MA1GI,eAgBG;IhF+9TP;IgFr4TA;MA1GI,aAgBG;IhFk+TP;IgFx4TA;MA1GI,eAgBG;IhFq+TP;IgF34TA;MA1GI,aAgBG;IhFw+TP;IgF94TA;MA1GI,iBAgBG;IhF2+TP;IgFj5TA;MA1GI,uBAgBG;IhF8+TP;IgFp5TA;MA1GI,sBAgBG;IhFi/TP;IgFv5TA;MA1GI,oBAgBG;IhFo/TP;IgF15TA;MA1GI,sBAgBG;IhFu/TP;IgF75TA;MA1GI,oBAgBG;IhF0/TP;IgFh6TA;MA1GI,gBAgBG;IhF6/TP;IgFn6TA;MA1GI,sBAgBG;IhFggUP;IgFt6TA;MA1GI,qBAgBG;IhFmgUP;IgFz6TA;MA1GI,mBAgBG;IhFsgUP;IgF56TA;MA1GI,qBAgBG;IhFygUP;IgF/6TA;MA1GI,mBAgBG;IhF4gUP;IgFl7TA;MA1GI,sBAgBG;IhF+gUP;IgFr7TA;MA1GI,4BAgBG;IhFkhUP;IgFx7TA;MA1GI,2BAgBG;IhFqhUP;IgF37TA;MA1GI,yBAgBG;IhFwhUP;IgF97TA;MA1GI,2BAgBG;IhF2hUP;IgFj8TA;MA1GI,yBAgBG;IhF8hUP;IgFp8TA;MA1GI,qBAgBG;IhFiiUP;IgFv8TA;MA1GI,2BAgBG;IhFoiUP;IgF18TA;MA1GI,0BAgBG;IhFuiUP;IgF78TA;MA1GI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FsxUP;IgF5rUA;MA1GI,wBAgBG;IhFyxUP;IgF/rUA;MA1GI,sBAgBG;IhF4xUP;IgFlsUA;MA1GI,oBAgBG;IhF+xUP;IgFrsUA;MA1GI,uBAgBG;IhFkyUP;IgFxsUA;MA1GI,qBAgBG;IhFqyUP;IgF3sUA;MA1GI,mBAgBG;IhFwyUP;IgF9sUA;MA1GI,qBAgBG;IhF2yUP;IgFjtUA;MA1GI,oBAgBG;IhF8yUP;IgFptUA;MA1GI,yBAgBG;IhFizUP;IgFvtUA;MA1GI,uBAgBG;IhFozUP;IgF1tUA;MA1GI,qBAgBG;IhFuzUP;IgF7tUA;MA1GI,4BAgBG;IhF0zUP;IgFhuUA;MA1GI,2BAgBG;IhF6zUP;IgFnuUA;MA1GI,sBAgBG;IhFg0UP;IgFtuUA;MA1GI,gBAgBG;IhFm0UP;IgFzuUA;MA1GI,sBAgBG;IhFs0UP;IgF5uUA;MA1GI,oBAgBG;IhFy0UP;IgF/uUA;MA1GI,kBAgBG;IhF40UP;IgFlvUA;MA1GI,oBAgBG;IhF+0UP;IgFrvUA;MA1GI,mBAgBG;IhFk1UP;IgFxvUA;MA1GI,kBAgBG;IhFq1UP;IgF3vUA;MA1GI,gBAgBG;IhFw1UP;IgF9vUA;MA1GI,mBAgBG;IhF21UP;IgFjwUA;MA1GI,oBAgBG;IhF81UP;IgFpwUA;MA1GI,eAqBO;IhF41UX;IgFvwUA;MA1GI,eAqBO;IhF+1UX;IgF1wUA;MA1GI,eAqBO;IhFk2UX;IgF7wUA;MA1GI,mBAgBG;IhF02UP;IgFhxUA;MA1GI,mBAqBO;IhFw2UX;IgFnxUA;MA1GI,sBAqBO;IhF22UX;IgFtxUA;MA1GI,qBAqBO;IhF82UX;IgFzxUA;MA1GI,SAgBG;IhFs3UP;IgF5xUA;MA1GI,QAgBG;IhFy3UP;IgF/xUA;MA1GI,QAgBG;IhF43UP;IgFlyUA;MA1GI,QAgBG;IhF+3UP;IgFryUA;MA1GI,QAgBG;IhFk4UP;IgFxyUA;MA1GI,QAgBG;IhFq4UP;IgF3yUA;MA1GI,QAgBG;IhFw4UP;IgF9yUA;MA1GI,QAgBG;IhF24UP;IgFjzUA;MA1GI,SAgBG;IhF84UP;IgFpzUA;MA1GI,eAgBG;IhFi5UP;IgFvzUA;MA1GI,cAgBG;IhFo5UP;IgF1zUA;MA1GI,YAgBG;IhFu5UP;IgF7zUA;MA1GI,cAgBG;IhF05UP;IgFh0UA;MA1GI,YAgBG;IhF65UP;IgFn0UA;MA1GI,YAgBG;IhFg6UP;IgFt0UA;MA1GI,gBAgBG;IhFm6UP;IgFz0UA;MA1GI,sBAgBG;IhFs6UP;IgF50UA;MA1GI,qBAgBG;IhFy6UP;IgF/0UA;MA1GI,mBAgBG;IhF46UP;IgFl1UA;MA1GI,qBAgBG;IhF+6UP;IgFr1UA;MA1GI,mBAgBG;IhFk7UP;IgFx1UA;MA1GI,mBAgBG;IhFq7UP;IgF31UA;MA1GI,eAgBG;IhFw7UP;IgF91UA;MA1GI,qBAgBG;IhF27UP;IgFj2UA;MA1GI,oBAgBG;IhF87UP;IgFp2UA;MA1GI,kBAgBG;IhFi8UP;IgFv2UA;MA1GI,oBAgBG;IhFo8UP;IgF12UA;MA1GI,kBAgBG;IhFu8UP;IgF72UA;MA1GI,kBAgBG;IhF08UP;IgFh3UA;MA1GI,qBAgBG;IhF68UP;IgFn3UA;MA1GI,2BAgBG;IhFg9UP;IgFt3UA;MA1GI,0BAgBG;IhFm9UP;IgFz3UA;MA1GI,wBAgBG;IhFs9UP;IgF53UA;MA1GI,0BAgBG;IhFy9UP;IgF/3UA;MA1GI,wBAgBG;IhF49UP;IgFl4UA;MA1GI,wBAgBG;IhF+9UP;IgFr4UA;MA1GI,oBAgBG;IhFk+UP;IgFx4UA;MA1GI,0BAgBG;IhFq+UP;IgF34UA;MA1GI,yBAgBG;IhFw+UP;IgF94UA;MA1GI,uBAgBG;IhF2+UP;IgFj5UA;MA1GI,yBAgBG;IhF8+UP;IgFp5UA;MA1GI,uBAgBG;IhFi/UP;IgFv5UA;MA1GI,uBAgBG;IhFo/UP;IgF15UA;MA1GI,mBAgBG;IhFu/UP;IgF75UA;MA1GI,yBAgBG;IhF0/UP;IgFh6UA;MA1GI,wBAgBG;IhF6/UP;IgFn6UA;MA1GI,sBAgBG;IhFggVP;IgFt6UA;MA1GI,wBAgBG;IhFmgVP;IgFz6UA;MA1GI,sBAgBG;IhFsgVP;IgF56UA;MA1GI,sBAgBG;IhFygVP;IgF/6UA;MA1GI,sBAgBG;IhF4gVP;IgFl7UA;MA1GI,4BAgBG;IhF+gVP;IgFr7UA;MA1GI,2BAgBG;IhFkhVP;IgFx7UA;MA1GI,yBAgBG;IhFqhVP;IgF37UA;MA1GI,2BAgBG;IhFwhVP;IgF97UA;MA1GI,yBAgBG;IhF2hVP;IgFj8UA;MA1GI,yBAgBG;IhF8hVP;IgFp8UA;MA1GI,UAgBG;IhFiiVP;IgFv8UA;MA1GI,gBAgBG;IhFoiVP;IgF18UA;MA1GI,eAgBG;IhFuiVP;IgF78UA;MA1GI,aAgBG;IhF0iVP;IgFh9UA;MA1GI,eAgBG;IhF6iVP;IgFn9UA;MA1GI,aAgBG;IhFgjVP;IgFt9UA;MA1GI,iBAgBG;IhFmjVP;IgFz9UA;MA1GI,uBAgBG;IhFsjVP;IgF59UA;MA1GI,sBAgBG;IhFyjVP;IgF/9UA;MA1GI,oBAgBG;IhF4jVP;IgFl+UA;MA1GI,sBAgBG;IhF+jVP;IgFr+UA;MA1GI,oBAgBG;IhFkkVP;IgFx+UA;MA1GI,gBAgBG;IhFqkVP;IgF3+UA;MA1GI,sBAgBG;IhFwkVP;IgF9+UA;MA1GI,qBAgBG;IhF2kVP;IgFj/UA;MA1GI,mBAgBG;IhF8kVP;IgFp/UA;MA1GI,qBAgBG;IhFilVP;IgFv/UA;MA1GI,mBAgBG;IhFolVP;IgF1/UA;MA1GI,sBAgBG;IhFulVP;IgF7/UA;MA1GI,4BAgBG;IhF0lVP;IgFhgVA;MA1GI,2BAgBG;IhF6lVP;IgFngVA;MA1GI,yBAgBG;IhFgmVP;IgFtgVA;MA1GI,2BAgBG;IhFmmVP;IgFzgVA;MA1GI,yBAgBG;IhFsmVP;IgF5gVA;MA1GI,qBAgBG;IhFymVP;IgF/gVA;MA1GI,2BAgBG;IhF4mVP;IgFlhVA;MA1GI,0BAgBG;IhF+mVP;IgFrhVA;MA1GI,wBAgBG;IhFknVP;IgFxhVA;MA1GI,0BAgBG;IhFqnVP;IgF3hVA;MA1GI,wBAgBG;IhFwnVP;IgF9hVA;MA1GI,oBAgBG;IhF2nVP;IgFjiVA;MA1GI,0BAgBG;IhF8nVP;IgFpiVA;MA1GI,yBAgBG;IhFioVP;IgFviVA;MA1GI,uBAgBG;IhFooVP;IgF1iVA;MA1GI,yBAgBG;IhFuoVP;IgF7iVA;MA1GI,uBAgBG;IhF0oVP;IgFhjVA;MA1GI,uBAgBG;IhF6oVP;IgFnjVA;MA1GI,6BAgBG;IhFgpVP;IgFtjVA;MA1GI,4BAgBG;IhFmpVP;IgFzjVA;MA1GI,0BAgBG;IhFspVP;IgF5jVA;MA1GI,4BAgBG;IhFypVP;IgF/jVA;MA1GI,0BAgBG;IhF4pVP;IgFlkVA;MA1GI,MAgBG;IhF+pVP;IgFrkVA;MA1GI,YAgBG;IhFkqVP;IgFxkVA;MA1GI,WAgBG;IhFqqVP;IgF3kVA;MA1GI,SAgBG;IhFwqVP;IgF9kVA;MA1GI,WAgBG;IhF2qVP;IgFjlVA;MA1GI,SAgBG;IhF8qVP;IgFplVA;MA1GI,UAgBG;IhFirVP;IgFvlVA;MA1GI,gBAgBG;IhForVP;IgF1lVA;MA1GI,eAgBG;IhFurVP;IgF7lVA;MA1GI,aAgBG;IhF0rVP;IgFhmVA;MA1GI,eAgBG;IhF6rVP;IgFnmVA;MA1GI,aAgBG;IhFgsVP;IgFtmVA;MA1GI,kBAgBG;MAhBH,aAgBG;IhFmsVP;IgFzmVA;MA1GI,wBAgBG;MAhBH,mBAgBG;IhFssVP;IgF5mVA;MA1GI,uBAgBG;MAhBH,kBAgBG;IhFysVP;IgF/mVA;MA1GI,qBAgBG;MAhBH,gBAgBG;IhF4sVP;IgFlnVA;MA1GI,uBAgBG;MAhBH,kBAgBG;IhF+sVP;IgFrnVA;MA1GI,qBAgBG;MAhBH,gBAgBG;IhFktVP;IgFxnVA;MA1GI,iBAgBG;IhFqtVP;IgF3nVA;MA1GI,eAgBG;IhFwtVP;IgF9nVA;MA1GI,kBAgBG;IhF2tVP;EACF;EWjvVE;IqE+GA;MA1GI,mBAgBG;IhFguVP;IgFtoVA;MA1GI,iBAgBG;IhFmuVP;IgFzoVA;MA1GI,WAgBG;IhFsuVP;IgF5oVA;MA1GI,sBAgBG;MAhBH,mBAgBG;IhFyuVP;IgF/oVA;MA1GI,oBAgBG;MAhBH,iBAgBG;IhF4uVP;IgFlpVA;MA1GI,mBAgBG;MAhBH,gBAgBG;IhF+uVP;IgFrpVA;MA1GI,yBAgBG;MAhBH,sBAgBG;IhFkvVP;IgFxpVA;MA1GI,mBAgBG;MAhBH,gBAgBG;IhFqvVP;IgF3pVA;MA1GI,eAqBO;IhFmvVX;IgF9pVA;MA1GI,qBAqBO;IhFsvVX;IgFjqVA;MA1GI,cAqBO;IhFyvVX;IgFpqVA;MA1GI,aAqBO;IhF4vVX;IgFvqVA;MA1GI,oBAqBO;IhF+vVX;IgF1qVA;MA1GI,cAqBO;IhFkwVX;IgF7qVA;MA1GI,kBAqBO;IhFqwVX;IgFhrVA;MA1GI,mBAqBO;IhFwwVX;IgFnrVA;MA1GI,aAqBO;IhF2wVX;IgFtrVA;MA1GI,oBAqBO;IhF8wVX;IgFzrVA;MA1GI,iBAqBO;IhFixVX;IgF5rVA;MA1GI,kBAqBO;IhFoxVX;IgF/rVA;MA1GI,aAqBO;IhFuxVX;IgFlsVA;MA1GI,cAgBG;IhF+xVP;IgFrsVA;MA1GI,mBAqBO;IhF6xVX;IgFxsVA;MA1GI,sBAqBO;IhFgyVX;IgF3sVA;MA1GI,2BAqBO;IhFmyVX;IgF9sVA;MA1GI,8BAqBO;IhFsyVX;IgFjtVA;MA1GI,YAgBG;IhF8yVP;IgFptVA;MA1GI,YAgBG;IhFizVP;IgFvtVA;MA1GI,cAgBG;IhFozVP;IgF1tVA;MA1GI,cAgBG;IhFuzVP;IgF7tVA;MA1GI,eAqBO;IhFqzVX;IgFhuVA;MA1GI,iBAqBO;IhFwzVX;IgFnuVA;MA1GI,uBAqBO;IhF2zVX;IgFtuVA;MA1GI,2BAgBG;IhFm0VP;IgFzuVA;MA1GI,yBAgBG;IhFs0VP;IgF5uVA;MA1GI,uBAgBG;IhFy0VP;IgF/uVA;MA1GI,8BAgBG;IhF40VP;IgFlvVA;MA1GI,6BAgBG;IhF+0VP;IgFrvVA;MA1GI,6BAgBG;IhFk1VP;IgFxvVA;MA1GI,oBAgBG;IhFq1VP;IgF3vVA;MA1GI,kBAgBG;IhFw1VP;IgF9vVA;MA1GI,qBAgBG;IhF21VP;IgFjwVA;MA1GI,sBAgBG;IhF81VP;IgFpwVA;MA1GI,wBAgBG;IhFi2VP;IgFvwVA;MA1GI,sBAgBG;IhFo2VP;IgF1wVA;MA1GI,oBAgBG;IhFu2VP;IgF7wVA;MA1GI,uBAgBG;IhF02VP;IgFhxVA;MA1GI,qBAgBG;IhF62VP;IgFnxVA;MA1GI,mBAgBG;IhFg3VP;IgFtxVA;MA1GI,qBAgBG;IhFm3VP;IgFzxVA;MA1GI,oBAgBG;IhFs3VP;IgF5xVA;MA1GI,yBAgBG;IhFy3VP;IgF/xVA;MA1GI,uBAgBG;IhF43VP;IgFlyVA;MA1GI,qBAgBG;IhF+3VP;IgFryVA;MA1GI,4BAgBG;IhFk4VP;IgFxyVA;MA1GI,2BAgBG;IhFq4VP;IgF3yVA;MA1GI,sBAgBG;IhFw4VP;IgF9yVA;MA1GI,gBAgBG;IhF24VP;IgFjzVA;MA1GI,sBAgBG;IhF84VP;IgFpzVA;MA1GI,oBAgBG;IhFi5VP;IgFvzVA;MA1GI,kBAgBG;IhFo5VP;IgF1zVA;MA1GI,oBAgBG;IhFu5VP;IgF7zVA;MA1GI,mBAgBG;IhF05VP;IgFh0VA;MA1GI,kBAgBG;IhF65VP;IgFn0VA;MA1GI,gBAgBG;IhFg6VP;IgFt0VA;MA1GI,mBAgBG;IhFm6VP;IgFz0VA;MA1GI,oBAgBG;IhFs6VP;IgF50VA;MA1GI,eAqBO;IhFo6VX;IgF/0VA;MA1GI,eAqBO;IhFu6VX;IgFl1VA;MA1GI,eAqBO;IhF06VX;IgFr1VA;MA1GI,mBAgBG;IhFk7VP;IgFx1VA;MA1GI,mBAqBO;IhFg7VX;IgF31VA;MA1GI,sBAqBO;IhFm7VX;IgF91VA;MA1GI,qBAqBO;IhFs7VX;IgFj2VA;MA1GI,SAgBG;IhF87VP;IgFp2VA;MA1GI,QAgBG;IhFi8VP;IgFv2VA;MA1GI,QAgBG;IhFo8VP;IgF12VA;MA1GI,QAgBG;IhFu8VP;IgF72VA;MA1GI,QAgBG;IhF08VP;IgFh3VA;MA1GI,QAgBG;IhF68VP;IgFn3VA;MA1GI,QAgBG;IhFg9VP;IgFt3VA;MA1GI,QAgBG;IhFm9VP;IgFz3VA;MA1GI,SAgBG;IhFs9VP;IgF53VA;MA1GI,eAgBG;IhFy9VP;IgF/3VA;MA1GI,cAgBG;IhF49VP;IgFl4VA;MA1GI,YAgBG;IhF+9VP;IgFr4VA;MA1GI,cAgBG;IhFk+VP;IgFx4VA;MA1GI,YAgBG;IhFq+VP;IgF34VA;MA1GI,YAgBG;IhFw+VP;IgF94VA;MA1GI,gBAgBG;IhF2+VP;IgFj5VA;MA1GI,sBAgBG;IhF8+VP;IgFp5VA;MA1GI,qBAgBG;IhFi/VP;IgFv5VA;MA1GI,mBAgBG;IhFo/VP;IgF15VA;MA1GI,qBAgBG;IhFu/VP;IgF75VA;MA1GI,mBAgBG;IhF0/VP;IgFh6VA;MA1GI,mBAgBG;IhF6/VP;IgFn6VA;MA1GI,eAgBG;IhFggWP;IgFt6VA;MA1GI,qBAgBG;IhFmgWP;IgFz6VA;MA1GI,oBAgBG;IhFsgWP;IgF56VA;MA1GI,kBAgBG;IhFygWP;IgF/6VA;MA1GI,oBAgBG;IhF4gWP;IgFl7VA;MA1GI,kBAgBG;IhF+gWP;IgFr7VA;MA1GI,kBAgBG;IhFkhWP;IgFx7VA;MA1GI,qBAgBG;IhFqhWP;IgF37VA;MA1GI,2BAgBG;IhFwhWP;IgF97VA;MA1GI,0BAgBG;IhF2hWP;IgFj8VA;MA1GI,wBAgBG;IhF8hWP;IgFp8VA;MA1GI,0BAgBG;IhFiiWP;IgFv8VA;MA1GI,wBAgBG;IhFoiWP;IgF18VA;MA1GI,wBAgBG;IhFuiWP;IgF78VA;MA1GI,oBAgBG;IhF0iWP;IgFh9VA;MA1GI,0BAgBG;IhF6iWP;IgFn9VA;MA1GI,yBAgBG;IhFgjWP;IgFt9VA;MA1GI,uBAgBG;IhFmjWP;IgFz9VA;MA1GI,yBAgBG;IhFsjWP;IgF59VA;MA1GI,uBAgBG;IhFyjWP;IgF/9VA;MA1GI,uBAgBG;IhF4jWP;IgFl+VA;MA1GI,mBAgBG;IhF+jWP;IgFr+VA;MA1GI,yBAgBG;IhFkkWP;IgFx+VA;MA1GI,wBAgBG;IhFqkWP;IgF3+VA;MA1GI,sBAgBG;IhFwkWP;IgF9+VA;MA1GI,wBAgBG;IhF2kWP;IgFj/VA;MA1GI,sBAgBG;IhF8kWP;IgFp/VA;MA1GI,sBAgBG;IhFilWP;IgFv/VA;MA1GI,sBAgBG;IhFolWP;IgF1/VA;MA1GI,4BAgBG;IhFulWP;IgF7/VA;MA1GI,2BAgBG;IhF0lWP;IgFhgWA;MA1GI,yBAgBG;IhF6lWP;IgFngWA;MA1GI,2BAgBG;IhFgmWP;IgFtgWA;MA1GI,yBAgBG;IhFmmWP;IgFzgWA;MA1GI,yBAgBG;IhFsmWP;IgF5gWA;MA1GI,UAgBG;IhFymWP;IgF/gWA;MA1GI,gBAgBG;IhF4mWP;IgFlhWA;MA1GI,eAgBG;IhF+mWP;IgFrhWA;MA1GI,aAgBG;IhFknWP;IgFxhWA;MA1GI,eAgBG;IhFqnWP;IgF3hWA;MA1GI,aAgBG;IhFwnWP;IgF9hWA;MA1GI,iBAgBG;IhF2nWP;IgFjiWA;MA1GI,uBAgBG;IhF8nWP;IgFpiWA;MA1GI,sBAgBG;IhFioWP;IgFviWA;MA1GI,oBAgBG;IhFooWP;IgF1iWA;MA1GI,sBAgBG;IhFuoWP;IgF7iWA;MA1GI,oBAgBG;IhF0oWP;IgFhjWA;MA1GI,gBAgBG;IhF6oWP;IgFnjWA;MA1GI,sBAgBG;IhFgpWP;IgFtjWA;MA1GI,qBAgBG;IhFmpWP;IgFzjWA;MA1GI,mBAgBG;IhFspWP;IgF5jWA;MA1GI,qBAgBG;IhFypWP;IgF/jWA;MA1GI,mBAgBG;IhF4pWP;IgFlkWA;MA1GI,sBAgBG;IhF+pWP;IgFrkWA;MA1GI,4BAgBG;IhFkqWP;IgFxkWA;MA1GI,2BAgBG;IhFqqWP;IgF3kWA;MA1GI,yBAgBG;IhFwqWP;IgF9kWA;MA1GI,2BAgBG;IhF2qWP;IgFjlWA;MA1GI,yBAgBG;IhF8qWP;IgFplWA;MA1GI,qBAgBG;IhFirWP;IgFvlWA;MA1GI,2BAgBG;IhForWP;IgF1lWA;MA1GI,0BAgBG;IhFurWP;IgF7lWA;MA1GI,wBAgBG;IhF0rWP;IgFhmWA;MA1GI,0BAgBG;IhF6rWP;IgFnmWA;MA1GI,wBAgBG;IhFgsWP;IgFtmWA;MA1GI,oBAgBG;IhFmsWP;IgFzmWA;MA1GI,0BAgBG;IhFssWP;IgF5mWA;MA1GI,yBAgBG;IhFysWP;IgF/mWA;MA1GI,uBAgBG;IhF4sWP;IgFlnWA;MA1GI,yBAgBG;IhF+sWP;IgFrnWA;MA1GI,uBAgBG;IhFktWP;IgFxnWA;MA1GI,uBAgBG;IhFqtWP;IgF3nWA;MA1GI,6BAgBG;IhFwtWP;IgF9nWA;MA1GI,4BAgBG;IhF2tWP;IgFjoWA;MA1GI,0BAgBG;IhF8tWP;IgFpoWA;MA1GI,4BAgBG;IhFiuWP;IgFvoWA;MA1GI,0BAgBG;IhFouWP;IgF1oWA;MA1GI,MAgBG;IhFuuWP;IgF7oWA;MA1GI,YAgBG;IhF0uWP;IgFhpWA;MA1GI,WAgBG;IhF6uWP;IgFnpWA;MA1GI,SAgBG;IhFgvWP;IgFtpWA;MA1GI,WAgBG;IhFmvWP;IgFzpWA;MA1GI,SAgBG;IhFsvWP;IgF5pWA;MA1GI,UAgBG;IhFyvWP;IgF/pWA;MA1GI,gBAgBG;IhF4vWP;IgFlqWA;MA1GI,eAgBG;IhF+vWP;IgFrqWA;MA1GI,aAgBG;IhFkwWP;IgFxqWA;MA1GI,eAgBG;IhFqwWP;IgF3qWA;MA1GI,aAgBG;IhFwwWP;IgF9qWA;MA1GI,kBAgBG;MAhBH,aAgBG;IhF2wWP;IgFjrWA;MA1GI,wBAgBG;MAhBH,mBAgBG;IhF8wWP;IgFprWA;MA1GI,uBAgBG;MAhBH,kBAgBG;IhFixWP;IgFvrWA;MA1GI,qBAgBG;MAhBH,gBAgBG;IhFoxWP;IgF1rWA;MA1GI,uBAgBG;MAhBH,kBAgBG;IhFuxWP;IgF7rWA;MA1GI,qBAgBG;MAhBH,gBAgBG;IhF0xWP;IgFhsWA;MA1GI,iBAgBG;IhF6xWP;IgFnsWA;MA1GI,eAgBG;IhFgyWP;IgFtsWA;MA1GI,kBAgBG;IhFmyWP;EACF;EWzzWE;IqE+GA;MA1GI,mBAgBG;IhFwyWP;IgF9sWA;MA1GI,iBAgBG;IhF2yWP;IgFjtWA;MA1GI,WAgBG;IhF8yWP;IgFptWA;MA1GI,sBAgBG;MAhBH,mBAgBG;IhFizWP;IgFvtWA;MA1GI,oBAgBG;MAhBH,iBAgBG;IhFozWP;IgF1tWA;MA1GI,mBAgBG;MAhBH,gBAgBG;IhFuzWP;IgF7tWA;MA1GI,yBAgBG;MAhBH,sBAgBG;IhF0zWP;IgFhuWA;MA1GI,mBAgBG;MAhBH,gBAgBG;IhF6zWP;IgFnuWA;MA1GI,eAqBO;IhF2zWX;IgFtuWA;MA1GI,qBAqBO;IhF8zWX;IgFzuWA;MA1GI,cAqBO;IhFi0WX;IgF5uWA;MA1GI,aAqBO;IhFo0WX;IgF/uWA;MA1GI,oBAqBO;IhFu0WX;IgFlvWA;MA1GI,cAqBO;IhF00WX;IgFrvWA;MA1GI,kBAqBO;IhF60WX;IgFxvWA;MA1GI,mBAqBO;IhFg1WX;IgF3vWA;MA1GI,aAqBO;IhFm1WX;IgF9vWA;MA1GI,oBAqBO;IhFs1WX;IgFjwWA;MA1GI,iBAqBO;IhFy1WX;IgFpwWA;MA1GI,kBAqBO;IhF41WX;IgFvwWA;MA1GI,aAqBO;IhF+1WX;IgF1wWA;MA1GI,cAgBG;IhFu2WP;IgF7wWA;MA1GI,mBAqBO;IhFq2WX;IgFhxWA;MA1GI,sBAqBO;IhFw2WX;IgFnxWA;MA1GI,2BAqBO;IhF22WX;IgFtxWA;MA1GI,8BAqBO;IhF82WX;IgFzxWA;MA1GI,YAgBG;IhFs3WP;IgF5xWA;MA1GI,YAgBG;IhFy3WP;IgF/xWA;MA1GI,cAgBG;IhF43WP;IgFlyWA;MA1GI,cAgBG;IhF+3WP;IgFryWA;MA1GI,eAqBO;IhF63WX;IgFxyWA;MA1GI,iBAqBO;IhFg4WX;IgF3yWA;MA1GI,uBAqBO;IhFm4WX;IgF9yWA;MA1GI,2BAgBG;IhF24WP;IgFjzWA;MA1GI,yBAgBG;IhF84WP;IgFpzWA;MA1GI,uBAgBG;IhFi5WP;IgFvzWA;MA1GI,8BAgBG;IhFo5WP;IgF1zWA;MA1GI,6BAgBG;IhFu5WP;IgF7zWA;MA1GI,6BAgBG;IhF05WP;IgFh0WA;MA1GI,oBAgBG;IhF65WP;IgFn0WA;MA1GI,kBAgBG;IhFg6WP;IgFt0WA;MA1GI,qBAgBG;IhFm6WP;IgFz0WA;MA1GI,sBAgBG;IhFs6WP;IgF50WA;MA1GI,wBAgBG;IhFy6WP;IgF/0WA;MA1GI,sBAgBG;IhF46WP;IgFl1WA;MA1GI,oBAgBG;IhF+6WP;IgFr1WA;MA1GI,uBAgBG;IhFk7WP;IgFx1WA;MA1GI,qBAgBG;IhFq7WP;IgF31WA;MA1GI,mBAgBG;IhFw7WP;IgF91WA;MA1GI,qBAgBG;IhF27WP;IgFj2WA;MA1GI,oBAgBG;IhF87WP;IgFp2WA;MA1GI,yBAgBG;IhFi8WP;IgFv2WA;MA1GI,uBAgBG;IhFo8WP;IgF12WA;MA1GI,qBAgBG;IhFu8WP;IgF72WA;MA1GI,4BAgBG;IhF08WP;IgFh3WA;MA1GI,2BAgBG;IhF68WP;IgFn3WA;MA1GI,sBAgBG;IhFg9WP;IgFt3WA;MA1GI,gBAgBG;IhFm9WP;IgFz3WA;MA1GI,sBAgBG;IhFs9WP;IgF53WA;MA1GI,oBAgBG;IhFy9WP;IgF/3WA;MA1GI,kBAgBG;IhF49WP;IgFl4WA;MA1GI,oBAgBG;IhF+9WP;IgFr4WA;MA1GI,mBAgBG;IhFk+WP;IgFx4WA;MA1GI,kBAgBG;IhFq+WP;IgF34WA;MA1GI,gBAgBG;IhFw+WP;IgF94WA;MA1GI,mBAgBG;IhF2+WP;IgFj5WA;MA1GI,oBAgBG;IhF8+WP;IgFp5WA;MA1GI,eAqBO;IhF4+WX;IgFv5WA;MA1GI,eAqBO;IhF++WX;IgF15WA;MA1GI,eAqBO;IhFk/WX;IgF75WA;MA1GI,mBAgBG;IhF0/WP;IgFh6WA;MA1GI,mBAqBO;IhFw/WX;IgFn6WA;MA1GI,sBAqBO;IhF2/WX;IgFt6WA;MA1GI,qBAqBO;IhF8/WX;IgFz6WA;MA1GI,SAgBG;IhFsgXP;IgF56WA;MA1GI,QAgBG;IhFygXP;IgF/6WA;MA1GI,QAgBG;IhF4gXP;IgFl7WA;MA1GI,QAgBG;IhF+gXP;IgFr7WA;MA1GI,QAgBG;IhFkhXP;IgFx7WA;MA1GI,QAgBG;IhFqhXP;IgF37WA;MA1GI,QAgBG;IhFwhXP;IgF97WA;MA1GI,QAgBG;IhF2hXP;IgFj8WA;MA1GI,SAgBG;IhF8hXP;IgFp8WA;MA1GI,eAgBG;IhFiiXP;IgFv8WA;MA1GI,cAgBG;IhFoiXP;IgF18WA;MA1GI,YAgBG;IhFuiXP;IgF78WA;MA1GI,cAgBG;IhF0iXP;IgFh9WA;MA1GI,YAgBG;IhF6iXP;IgFn9WA;MA1GI,YAgBG;IhFgjXP;IgFt9WA;MA1GI,gBAgBG;IhFmjXP;IgFz9WA;MA1GI,sBAgBG;IhFsjXP;IgF59WA;MA1GI,qBAgBG;IhFyjXP;IgF/9WA;MA1GI,mBAgBG;IhF4jXP;IgFl+WA;MA1GI,qBAgBG;IhF+jXP;IgFr+WA;MA1GI,mBAgBG;IhFkkXP;IgFx+WA;MA1GI,mBAgBG;IhFqkXP;IgF3+WA;MA1GI,eAgBG;IhFwkXP;IgF9+WA;MA1GI,qBAgBG;IhF2kXP;IgFj/WA;MA1GI,oBAgBG;IhF8kXP;IgFp/WA;MA1GI,kBAgBG;IhFilXP;IgFv/WA;MA1GI,oBAgBG;IhFolXP;IgF1/WA;MA1GI,kBAgBG;IhFulXP;IgF7/WA;MA1GI,kBAgBG;IhF0lXP;IgFhgXA;MA1GI,qBAgBG;IhF6lXP;IgFngXA;MA1GI,2BAgBG;IhFgmXP;IgFtgXA;MA1GI,0BAgBG;IhFmmXP;IgFzgXA;MA1GI,wBAgBG;IhFsmXP;IgF5gXA;MA1GI,0BAgBG;IhFymXP;IgF/gXA;MA1GI,wBAgBG;IhF4mXP;IgFlhXA;MA1GI,wBAgBG;IhF+mXP;IgFrhXA;MA1GI,oBAgBG;IhFknXP;IgFxhXA;MA1GI,0BAgBG;IhFqnXP;IgF3hXA;MA1GI,yBAgBG;IhFwnXP;IgF9hXA;MA1GI,uBAgBG;IhF2nXP;IgFjiXA;MA1GI,yBAgBG;IhF8nXP;IgFpiXA;MA1GI,uBAgBG;IhFioXP;IgFviXA;MA1GI,uBAgBG;IhFooXP;IgF1iXA;MA1GI,mBAgBG;IhFuoXP;IgF7iXA;MA1GI,yBAgBG;IhF0oXP;IgFhjXA;MA1GI,wBAgBG;IhF6oXP;IgFnjXA;MA1GI,sBAgBG;IhFgpXP;IgFtjXA;MA1GI,wBAgBG;IhFmpXP;IgFzjXA;MA1GI,sBAgBG;IhFspXP;IgF5jXA;MA1GI,sBAgBG;IhFypXP;IgF/jXA;MA1GI,sBAgBG;IhF4pXP;IgFlkXA;MA1GI,4BAgBG;IhF+pXP;IgFrkXA;MA1GI,2BAgBG;IhFkqXP;IgFxkXA;MA1GI,yBAgBG;IhFqqXP;IgF3kXA;MA1GI,2BAgBG;IhFwqXP;IgF9kXA;MA1GI,yBAgBG;IhF2qXP;IgFjlXA;MA1GI,yBAgBG;IhF8qXP;IgFplXA;MA1GI,UAgBG;IhFirXP;IgFvlXA;MA1GI,gBAgBG;IhForXP;IgF1lXA;MA1GI,eAgBG;IhFurXP;IgF7lXA;MA1GI,aAgBG;IhF0rXP;IgFhmXA;MA1GI,eAgBG;IhF6rXP;IgFnmXA;MA1GI,aAgBG;IhFgsXP;IgFtmXA;MA1GI,iBAgBG;IhFmsXP;IgFzmXA;MA1GI,uBAgBG;IhFssXP;IgF5mXA;MA1GI,sBAgBG;IhFysXP;IgF/mXA;MA1GI,oBAgBG;IhF4sXP;IgFlnXA;MA1GI,sBAgBG;IhF+sXP;IgFrnXA;MA1GI,oBAgBG;IhFktXP;IgFxnXA;MA1GI,gBAgBG;IhFqtXP;IgF3nXA;MA1GI,sBAgBG;IhFwtXP;IgF9nXA;MA1GI,qBAgBG;IhF2tXP;IgFjoXA;MA1GI,mBAgBG;IhF8tXP;IgFpoXA;MA1GI,qBAgBG;IhFiuXP;IgFvoXA;MA1GI,mBAgBG;IhFouXP;IgF1oXA;MA1GI,sBAgBG;IhFuuXP;IgF7oXA;MA1GI,4BAgBG;IhF0uXP;IgFhpXA;MA1GI,2BAgBG;IhF6uXP;IgFnpXA;MA1GI,yBAgBG;IhFgvXP;IgFtpXA;MA1GI,2BAgBG;IhFmvXP;IgFzpXA;MA1GI,yBAgBG;IhFsvXP;IgF5pXA;MA1GI,qBAgBG;IhFyvXP;IgF/pXA;MA1GI,2BAgBG;IhF4vXP;IgFlqXA;MA1GI,0BAgBG;IhF+vXP;IgFrqXA;MA1GI,wBAgBG;IhFkwXP;IgFxqXA;MA1GI,0BAgBG;IhFqwXP;IgF3qXA;MA1GI,wBAgBG;IhFwwXP;IgF9qXA;MA1GI,oBAgBG;IhF2wXP;IgFjrXA;MA1GI,0BAgBG;IhF8wXP;IgFprXA;MA1GI,yBAgBG;IhFixXP;IgFvrXA;MA1GI,uBAgBG;IhFoxXP;IgF1rXA;MA1GI,yBAgBG;IhFuxXP;IgF7rXA;MA1GI,uBAgBG;IhF0xXP;IgFhsXA;MA1GI,uBAgBG;IhF6xXP;IgFnsXA;MA1GI,6BAgBG;IhFgyXP;IgFtsXA;MA1GI,4BAgBG;IhFmyXP;IgFzsXA;MA1GI,0BAgBG;IhFsyXP;IgF5sXA;MA1GI,4BAgBG;IhFyyXP;IgF/sXA;MA1GI,0BAgBG;IhF4yXP;IgFltXA;MA1GI,MAgBG;IhF+yXP;IgFrtXA;MA1GI,YAgBG;IhFkzXP;IgFxtXA;MA1GI,WAgBG;IhFqzXP;IgF3tXA;MA1GI,SAgBG;IhFwzXP;IgF9tXA;MA1GI,WAgBG;IhF2zXP;IgFjuXA;MA1GI,SAgBG;IhF8zXP;IgFpuXA;MA1GI,UAgBG;IhFi0XP;IgFvuXA;MA1GI,gBAgBG;IhFo0XP;IgF1uXA;MA1GI,eAgBG;IhFu0XP;IgF7uXA;MA1GI,aAgBG;IhF00XP;IgFhvXA;MA1GI,eAgBG;IhF60XP;IgFnvXA;MA1GI,aAgBG;IhFg1XP;IgFtvXA;MA1GI,kBAgBG;MAhBH,aAgBG;IhFm1XP;IgFzvXA;MA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kkYP;IgFx+XA;MA1GI,mBAqBO;IhFgkYX;IgF3+XA;MA1GI,sBAqBO;IhFmkYX;IgF9+XA;MA1GI,qBAqBO;IhFskYX;IgFj/XA;MA1GI,SAgBG;IhF8kYP;IgFp/XA;MA1GI,QAgBG;IhFilYP;IgFv/XA;MA1GI,QAgBG;IhFolYP;IgF1/XA;MA1GI,QAgBG;IhFulYP;IgF7/XA;MA1GI,QAgBG;IhF0lYP;IgFhgYA;MA1GI,QAgBG;IhF6lYP;IgFngYA;MA1GI,QAgBG;IhFgmYP;IgFtgYA;MA1GI,QAgBG;IhFmmYP;IgFzgYA;MA1GI,SAgBG;IhFsmYP;IgF5gYA;MA1GI,eAgBG;IhFymYP;IgF/gYA;MA1GI,cAgBG;IhF4mYP;IgFlhYA;MA1GI,YAgBG;IhF+mYP;IgFrhYA;MA1GI,cAgBG;IhFknYP;IgFxhYA;MA1GI,YAgBG;IhFqnYP;IgF3hYA;MA1GI,YAgBG;IhFwnYP;IgF9hYA;MA1GI,gBAgBG;IhF2nYP;IgFjiYA;MA1GI,sBAgBG;IhF8nYP;IgFpiYA;MA1GI,qBAgBG;IhFioYP;IgFviYA;MA1GI,mBAgBG;IhFooYP;IgF1iYA;MA1GI,qBAgBG;IhFuoYP;IgF7iYA;MA1GI,mBAgBG;IhF0oYP;IgFhjYA;MA1GI,mBAgBG;IhF6oYP;IgFnjYA;MA1GI,eAgBG;IhFgpYP;IgFtjYA;MA1GI,qBAgBG;IhFmpYP;IgFzjYA;MA1GI,oBAgBG;IhFspYP;IgF5jYA;MA1GI,kBAgBG;IhFypYP;IgF/jYA;MA1GI,oBAgBG;IhF4pYP;IgFlkYA;MA1GI,kBAgBG;IhF+pYP;IgFrkYA;MA1GI,kBAgBG;IhFkqYP;IgFxkYA;MA1GI,qBAgBG;IhFqqYP;IgF3kYA;MA1GI,2BAgBG;IhFwqYP;IgF9kYA;MA1GI,0BAgBG;IhF2qYP;IgFjlYA;MA1GI,wBAgBG;IhF8qYP;IgFplYA;MA1GI,0BAgBG;IhFirYP;IgFvlYA;MA1GI,wBAgBG;IhForYP;IgF1lYA;MA1GI,wBAgBG;IhFurYP;IgF7lYA;MA1GI,oBAgBG;IhF0rYP;IgFhmYA;MA1GI,0BAgBG;IhF6rYP;IgFnmYA;MA1GI,yBAgBG;IhFgsYP;IgFtmYA;MA1GI,uBAgBG;IhFmsYP;IgFzmYA;MA1GI,yBAgBG;IhFssYP;IgF5mYA;MA1GI,uBAgBG;IhFysYP;IgF/mYA;MA1GI,uBAgBG;IhF4sYP;IgFlnYA;MA1GI,mBAgBG;IhF+sYP;IgFrnYA;MA1GI,yBAgBG;IhFktYP;IgFxnYA;MA1GI,wBAgBG;IhFqtYP;IgF3nYA;MA1GI,sBAgBG;IhFwtYP;IgF9nYA;MA1GI,wBAgBG;IhF2tYP;IgFjoYA;MA1GI,sBAgBG;IhF8tYP;IgFpoYA;MA1GI,sBAgBG;IhFiuYP;IgFvoYA;MA1GI,sBAgBG;IhFouYP;IgF1oYA;MA1GI,4BAgBG;IhFuuYP;IgF7oYA;MA1GI,2BAgBG;IhF0uYP;IgFhpYA;MA1GI,yBAgBG;IhF6uYP;IgFnpYA;MA1GI,2BAgBG;IhFgvYP;IgFtpYA;MA1GI,yBAgBG;IhFmvYP;IgFzpYA;MA1GI,yBAgBG;IhFsvYP;IgF5pYA;MA1GI,UAgBG;IhFyvYP;IgF/pYA;MA1GI,gBAgBG;IhF4vYP;IgFlqYA;MA1GI,eAgBG;IhF+vYP;IgFrqYA;MA1GI,aAgBG;IhFkwYP;IgFxqYA;MA1GI,eAgBG;IhFqwYP;IgF3qYA;MA1GI,aAgBG;IhFwwYP;IgF9qYA;MA1GI,iBAgBG;IhF2wYP;IgFjrYA;MA1GI,uBAgBG;IhF8wYP;IgFprYA;MA1GI,sBAgBG;IhFixYP;IgFvrYA;MA1GI,oBAgBG;IhFoxYP;IgF1rYA;MA1GI,sBAgBG;IhFuxYP;IgF7rYA;MA1GI,oBAgBG;IhF0xYP;IgFhsYA;MA1GI,gBAgBG;IhF6xYP;IgFnsYA;MA1GI,sBAgBG;IhFgyYP;IgFtsYA;MA1GI,qBAgBG;IhFmyYP;IgFzsYA;MA1GI,mBAgBG;IhFsyYP;IgF5sYA;MA1GI,qBAgBG;IhFyyYP;IgF/sYA;MA1GI,mBAgBG;IhF4yYP;IgFltYA;MA1GI,sBAgBG;IhF+yYP;IgFrtYA;MA1GI,4BAgBG;IhFkzYP;IgFxtYA;MA1GI,2BAgBG;IhFqzYP;IgF3tYA;MA1GI,yBAgBG;IhFwzYP;IgF9tYA;MA1GI,2BAgBG;IhF2zYP;IgFjuYA;MA1GI,yBAgBG;IhF8zYP;IgFpuYA;MA1GI,qBAgBG;IhFi0YP;IgFvuYA;MA1GI,2BAgBG;IhFo0YP;IgF1uYA;MA1GI,0BAgBG;IhFu0YP;IgF7uYA;MA1GI,wBAgBG;IhF00YP;IgFhvYA;MA1GI,0BAgBG;IhF60YP;IgFnvYA;MA1GI,wBAgBG;IhFg1YP;IgFtvYA;MA1GI,oBAgBG;IhFm1YP;IgFzvYA;MA1GI,0BAgBG;IhFs1YP;IgF5vYA;MA1GI,yBAgBG;IhFy1YP;IgF/vYA;MA1GI,uBAgBG;IhF41YP;IgFlwYA;MA1GI,yBAgBG;IhF+1YP;IgFrwYA;MA1GI,uBAgBG;IhFk2YP;IgFxwYA;MA1GI,uBAgBG;IhFq2YP;IgF3wYA;MA1GI,6BAgBG;IhFw2YP;IgF9wYA;MA1GI,4BAgBG;IhF22YP;IgFjxYA;MA1GI,0BAgBG;IhF82YP;IgFpxYA;MA1GI,4BAgBG;IhFi3YP;IgFvxYA;MA1GI,0BAgBG;IhFo3YP;IgF1xYA;MA1GI,MAgBG;IhFu3YP;IgF7xYA;MA1GI,YAgBG;IhF03YP;IgFhyYA;MA1GI,WAgBG;IhF63YP;IgFnyYA;MA1GI,SAgBG;IhFg4YP;IgFtyYA;MA1GI,WAgBG;IhFm4YP;IgFzyYA;MA1GI,SAgBG;IhFs4YP;IgF5yYA;MA1GI,UAgBG;IhFy4YP;IgF/yYA;MA1GI,gBAgBG;IhF44YP;IgFlzYA;MA1GI,eAgBG;IhF+4YP;IgFrzYA;MA1GI,aAgBG;IhFk5YP;IgFxzYA;MA1GI,eAgBG;IhFq5YP;IgF3zYA;MA1GI,aAgBG;IhFw5YP;IgF9zYA;MA1GI,kBAgBG;MAhBH,aAgBG;IhF25YP;IgFj0YA;MA1GI,wBAgBG;MAhBH,mBAgBG;IhF85YP;IgFp0YA;MA1GI,uBAgBG;MAhBH,kBAgBG;IhFi6YP;IgFv0YA;MA1GI,qBAgBG;MAhBH,gBAgBG;IhFo6YP;IgF10YA;MA1GI,uBAgBG;MAhBH,kBAgBG;IhFu6YP;IgF70YA;MA1GI,qBAgBG;MAhBH,gBAgBG;IhF06YP;IgFh1YA;MA1GI,iBAgBG;IhF66YP;IgFn1YA;MA1GI,eAgBG;IhFg7YP;IgFt1YA;MA1GI,kBAgBG;IhFm7YP;EACF;AACF","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n:root {\n  --blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240deg));\n  --blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240deg));\n  --blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240deg));\n  --blue-200: color-mix(in lab, #fff 60%, oklch(60% 0.24 240deg));\n  --blue-300: color-mix(in lab, #fff 40%, oklch(60% 0.24 240deg));\n  --blue-400: color-mix(in lab, #fff 20%, oklch(60% 0.24 240deg));\n  --blue-500: oklch(60% 0.24 240deg);\n  --blue-600: color-mix(in lab, #000 16%, oklch(60% 0.24 240deg));\n  --blue-700: color-mix(in lab, #000 32%, oklch(60% 0.24 240deg));\n  --blue-800: color-mix(in lab, #000 48%, oklch(60% 0.24 240deg));\n  --blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240deg));\n  --blue-950: color-mix(in lab, #000 76%, oklch(60% 0.24 240deg));\n  --blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240deg));\n  --indigo-025: color-mix(in lab, #fff 94%, oklch(56% 0.26 288deg));\n  --indigo-050: color-mix(in lab, #fff 90%, oklch(56% 0.26 288deg));\n  --indigo-100: color-mix(in lab, #fff 80%, oklch(56% 0.26 288deg));\n  --indigo-200: color-mix(in lab, #fff 60%, oklch(56% 0.26 288deg));\n  --indigo-300: color-mix(in lab, #fff 40%, oklch(56% 0.26 288deg));\n  --indigo-400: color-mix(in lab, #fff 20%, oklch(56% 0.26 288deg));\n  --indigo-500: oklch(56% 0.26 288deg);\n  --indigo-600: color-mix(in lab, #000 16%, oklch(56% 0.26 288deg));\n  --indigo-700: color-mix(in lab, #000 32%, oklch(56% 0.26 288deg));\n  --indigo-800: color-mix(in lab, #000 48%, oklch(56% 0.26 288deg));\n  --indigo-900: color-mix(in lab, #000 64%, oklch(56% 0.26 288deg));\n  --indigo-950: color-mix(in lab, #000 76%, oklch(56% 0.26 288deg));\n  --indigo-975: color-mix(in lab, #000 88%, oklch(56% 0.26 288deg));\n  --violet-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 300deg));\n  --violet-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 300deg));\n  --violet-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 300deg));\n  --violet-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 300deg));\n  --violet-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 300deg));\n  --violet-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 300deg));\n  --violet-500: oklch(56% 0.24 300deg);\n  --violet-600: color-mix(in lab, #000 16%, oklch(56% 0.24 300deg));\n  --violet-700: color-mix(in lab, #000 32%, oklch(56% 0.24 300deg));\n  --violet-800: color-mix(in lab, #000 48%, oklch(56% 0.24 300deg));\n  --violet-900: color-mix(in lab, #000 64%, oklch(56% 0.24 300deg));\n  --violet-950: color-mix(in lab, #000 76%, oklch(56% 0.24 300deg));\n  --violet-975: color-mix(in lab, #000 88%, oklch(56% 0.24 300deg));\n  --purple-025: color-mix(in lab, #fff 94%, oklch(56% 0.24 320deg));\n  --purple-050: color-mix(in lab, #fff 90%, oklch(56% 0.24 320deg));\n  --purple-100: color-mix(in lab, #fff 80%, oklch(56% 0.24 320deg));\n  --purple-200: color-mix(in lab, #fff 60%, oklch(56% 0.24 320deg));\n  --purple-300: color-mix(in lab, #fff 40%, oklch(56% 0.24 320deg));\n  --purple-400: color-mix(in lab, #fff 20%, oklch(56% 0.24 320deg));\n  --purple-500: oklch(56% 0.24 320deg);\n  --purple-600: color-mix(in lab, #000 16%, oklch(56% 0.24 320deg));\n  --purple-700: color-mix(in lab, #000 32%, oklch(56% 0.24 320deg));\n  --purple-800: color-mix(in lab, #000 48%, oklch(56% 0.24 320deg));\n  --purple-900: color-mix(in lab, #000 64%, oklch(56% 0.24 320deg));\n  --purple-950: color-mix(in lab, #000 76%, oklch(56% 0.24 320deg));\n  --purple-975: color-mix(in lab, #000 88%, oklch(56% 0.24 320deg));\n  --pink-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 4deg));\n  --pink-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 4deg));\n  --pink-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 4deg));\n  --pink-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 4deg));\n  --pink-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 4deg));\n  --pink-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 4deg));\n  --pink-500: oklch(60% 0.22 4deg);\n  --pink-600: color-mix(in lab, #000 16%, oklch(60% 0.22 4deg));\n  --pink-700: color-mix(in lab, #000 32%, oklch(60% 0.22 4deg));\n  --pink-800: color-mix(in lab, #000 48%, oklch(60% 0.22 4deg));\n  --pink-900: color-mix(in lab, #000 64%, oklch(60% 0.22 4deg));\n  --pink-950: color-mix(in lab, #000 76%, oklch(60% 0.22 4deg));\n  --pink-975: color-mix(in lab, #000 88%, oklch(60% 0.22 4deg));\n  --red-025: color-mix(in lab, #fff 94%, oklch(60% 0.22 20deg));\n  --red-050: color-mix(in lab, #fff 90%, oklch(60% 0.22 20deg));\n  --red-100: color-mix(in lab, #fff 80%, oklch(60% 0.22 20deg));\n  --red-200: color-mix(in lab, #fff 60%, oklch(60% 0.22 20deg));\n  --red-300: color-mix(in lab, #fff 40%, oklch(60% 0.22 20deg));\n  --red-400: color-mix(in lab, #fff 20%, oklch(60% 0.22 20deg));\n  --red-500: oklch(60% 0.22 20deg);\n  --red-600: color-mix(in lab, #000 16%, oklch(60% 0.22 20deg));\n  --red-700: color-mix(in lab, #000 32%, oklch(60% 0.22 20deg));\n  --red-800: color-mix(in lab, #000 48%, oklch(60% 0.22 20deg));\n  --red-900: color-mix(in lab, #000 64%, oklch(60% 0.22 20deg));\n  --red-950: color-mix(in lab, #000 76%, oklch(60% 0.22 20deg));\n  --red-975: color-mix(in lab, #000 88%, oklch(60% 0.22 20deg));\n  --orange-025: color-mix(in lab, #fff 94%, oklch(70% 0.22 52deg));\n  --orange-050: color-mix(in lab, #fff 90%, oklch(70% 0.22 52deg));\n  --orange-100: color-mix(in lab, #fff 80%, oklch(70% 0.22 52deg));\n  --orange-200: color-mix(in lab, #fff 60%, oklch(70% 0.22 52deg));\n  --orange-300: color-mix(in lab, #fff 40%, oklch(70% 0.22 52deg));\n  --orange-400: color-mix(in lab, #fff 20%, oklch(70% 0.22 52deg));\n  --orange-500: oklch(70% 0.22 52deg);\n  --orange-600: color-mix(in lab, #000 16%, oklch(70% 0.22 52deg));\n  --orange-700: color-mix(in lab, #000 32%, oklch(70% 0.22 52deg));\n  --orange-800: color-mix(in lab, #000 48%, oklch(70% 0.22 52deg));\n  --orange-900: color-mix(in lab, #000 64%, oklch(70% 0.22 52deg));\n  --orange-950: color-mix(in lab, #000 76%, oklch(70% 0.22 52deg));\n  --orange-975: color-mix(in lab, #000 88%, oklch(70% 0.22 52deg));\n  --amber-025: color-mix(in lab, #fff 94%, oklch(79% 0.2 78deg));\n  --amber-050: color-mix(in lab, #fff 90%, oklch(79% 0.2 78deg));\n  --amber-100: color-mix(in lab, #fff 80%, oklch(79% 0.2 78deg));\n  --amber-200: color-mix(in lab, #fff 60%, oklch(79% 0.2 78deg));\n  --amber-300: color-mix(in lab, #fff 40%, oklch(79% 0.2 78deg));\n  --amber-400: color-mix(in lab, #fff 20%, oklch(79% 0.2 78deg));\n  --amber-500: oklch(79% 0.2 78deg);\n  --amber-600: color-mix(in lab, #000 16%, oklch(79% 0.2 78deg));\n  --amber-700: color-mix(in lab, #000 32%, oklch(79% 0.2 78deg));\n  --amber-800: color-mix(in lab, #000 48%, oklch(79% 0.2 78deg));\n  --amber-900: color-mix(in lab, #000 64%, oklch(79% 0.2 78deg));\n  --amber-950: color-mix(in lab, #000 76%, oklch(79% 0.2 78deg));\n  --amber-975: color-mix(in lab, #000 88%, oklch(79% 0.2 78deg));\n  --yellow-025: color-mix(in lab, #fff 94%, oklch(88% 0.24 88deg));\n  --yellow-050: color-mix(in lab, #fff 90%, oklch(88% 0.24 88deg));\n  --yellow-100: color-mix(in lab, #fff 80%, oklch(88% 0.24 88deg));\n  --yellow-200: color-mix(in lab, #fff 60%, oklch(88% 0.24 88deg));\n  --yellow-300: color-mix(in lab, #fff 40%, oklch(88% 0.24 88deg));\n  --yellow-400: color-mix(in lab, #fff 20%, oklch(88% 0.24 88deg));\n  --yellow-500: oklch(88% 0.24 88deg);\n  --yellow-600: color-mix(in lab, #000 16%, oklch(88% 0.24 88deg));\n  --yellow-700: color-mix(in lab, #000 32%, oklch(88% 0.24 88deg));\n  --yellow-800: color-mix(in lab, #000 48%, oklch(88% 0.24 88deg));\n  --yellow-900: color-mix(in lab, #000 64%, oklch(88% 0.24 88deg));\n  --yellow-950: color-mix(in lab, #000 76%, oklch(88% 0.24 88deg));\n  --yellow-975: color-mix(in lab, #000 88%, oklch(88% 0.24 88deg));\n  --lime-025: color-mix(in lab, #fff 94%, oklch(65% 0.24 135deg));\n  --lime-050: color-mix(in lab, #fff 90%, oklch(65% 0.24 135deg));\n  --lime-100: color-mix(in lab, #fff 80%, oklch(65% 0.24 135deg));\n  --lime-200: color-mix(in lab, #fff 60%, oklch(65% 0.24 135deg));\n  --lime-300: color-mix(in lab, #fff 40%, oklch(65% 0.24 135deg));\n  --lime-400: color-mix(in lab, #fff 20%, oklch(65% 0.24 135deg));\n  --lime-500: oklch(65% 0.24 135deg);\n  --lime-600: color-mix(in lab, #000 16%, oklch(65% 0.24 135deg));\n  --lime-700: color-mix(in lab, #000 32%, oklch(65% 0.24 135deg));\n  --lime-800: color-mix(in lab, #000 48%, oklch(65% 0.24 135deg));\n  --lime-900: color-mix(in lab, #000 64%, oklch(65% 0.24 135deg));\n  --lime-950: color-mix(in lab, #000 76%, oklch(65% 0.24 135deg));\n  --lime-975: color-mix(in lab, #000 88%, oklch(65% 0.24 135deg));\n  --green-025: color-mix(in lab, #fff 94%, oklch(64% 0.22 160deg));\n  --green-050: color-mix(in lab, #fff 90%, oklch(64% 0.22 160deg));\n  --green-100: color-mix(in lab, #fff 80%, oklch(64% 0.22 160deg));\n  --green-200: color-mix(in lab, #fff 60%, oklch(64% 0.22 160deg));\n  --green-300: color-mix(in lab, #fff 40%, oklch(64% 0.22 160deg));\n  --green-400: color-mix(in lab, #fff 20%, oklch(64% 0.22 160deg));\n  --green-500: oklch(64% 0.22 160deg);\n  --green-600: color-mix(in lab, #000 16%, oklch(64% 0.22 160deg));\n  --green-700: color-mix(in lab, #000 32%, oklch(64% 0.22 160deg));\n  --green-800: color-mix(in lab, #000 48%, oklch(64% 0.22 160deg));\n  --green-900: color-mix(in lab, #000 64%, oklch(64% 0.22 160deg));\n  --green-950: color-mix(in lab, #000 76%, oklch(64% 0.22 160deg));\n  --green-975: color-mix(in lab, #000 88%, oklch(64% 0.22 160deg));\n  --teal-025: color-mix(in lab, #fff 94%, oklch(68% 0.22 190deg));\n  --teal-050: color-mix(in lab, #fff 90%, oklch(68% 0.22 190deg));\n  --teal-100: color-mix(in lab, #fff 80%, oklch(68% 0.22 190deg));\n  --teal-200: color-mix(in lab, #fff 60%, oklch(68% 0.22 190deg));\n  --teal-300: color-mix(in lab, #fff 40%, oklch(68% 0.22 190deg));\n  --teal-400: color-mix(in lab, #fff 20%, oklch(68% 0.22 190deg));\n  --teal-500: oklch(68% 0.22 190deg);\n  --teal-600: color-mix(in lab, #000 16%, oklch(68% 0.22 190deg));\n  --teal-700: color-mix(in lab, #000 32%, oklch(68% 0.22 190deg));\n  --teal-800: color-mix(in lab, #000 48%, oklch(68% 0.22 190deg));\n  --teal-900: color-mix(in lab, #000 64%, oklch(68% 0.22 190deg));\n  --teal-950: color-mix(in lab, #000 76%, oklch(68% 0.22 190deg));\n  --teal-975: color-mix(in lab, #000 88%, oklch(68% 0.22 190deg));\n  --cyan-025: color-mix(in lab, #fff 94%, oklch(69% 0.22 220deg));\n  --cyan-050: color-mix(in lab, #fff 90%, oklch(69% 0.22 220deg));\n  --cyan-100: color-mix(in lab, #fff 80%, oklch(69% 0.22 220deg));\n  --cyan-200: color-mix(in lab, #fff 60%, oklch(69% 0.22 220deg));\n  --cyan-300: color-mix(in lab, #fff 40%, oklch(69% 0.22 220deg));\n  --cyan-400: color-mix(in lab, #fff 20%, oklch(69% 0.22 220deg));\n  --cyan-500: oklch(69% 0.22 220deg);\n  --cyan-600: color-mix(in lab, #000 16%, oklch(69% 0.22 220deg));\n  --cyan-700: color-mix(in lab, #000 32%, oklch(69% 0.22 220deg));\n  --cyan-800: color-mix(in lab, #000 48%, oklch(69% 0.22 220deg));\n  --cyan-900: color-mix(in lab, #000 64%, oklch(69% 0.22 220deg));\n  --cyan-950: color-mix(in lab, #000 76%, oklch(69% 0.22 220deg));\n  --cyan-975: color-mix(in lab, #000 88%, oklch(69% 0.22 220deg));\n  --brown-025: color-mix(in lab, #fff 94%, oklch(60% 0.12 54deg));\n  --brown-050: color-mix(in lab, #fff 90%, oklch(60% 0.12 54deg));\n  --brown-100: color-mix(in lab, #fff 80%, oklch(60% 0.12 54deg));\n  --brown-200: color-mix(in lab, #fff 60%, oklch(60% 0.12 54deg));\n  --brown-300: color-mix(in lab, #fff 40%, oklch(60% 0.12 54deg));\n  --brown-400: color-mix(in lab, #fff 20%, oklch(60% 0.12 54deg));\n  --brown-500: oklch(60% 0.12 54deg);\n  --brown-600: color-mix(in lab, #000 16%, oklch(60% 0.12 54deg));\n  --brown-700: color-mix(in lab, #000 32%, oklch(60% 0.12 54deg));\n  --brown-800: color-mix(in lab, #000 48%, oklch(60% 0.12 54deg));\n  --brown-900: color-mix(in lab, #000 64%, oklch(60% 0.12 54deg));\n  --brown-950: color-mix(in lab, #000 76%, oklch(60% 0.12 54deg));\n  --brown-975: color-mix(in lab, #000 88%, oklch(60% 0.12 54deg));\n  --gray-025: color-mix(in lab, #fff 94%, oklch(60% 0.02 245deg));\n  --gray-050: color-mix(in lab, #fff 90%, oklch(60% 0.02 245deg));\n  --gray-100: color-mix(in lab, #fff 80%, oklch(60% 0.02 245deg));\n  --gray-200: color-mix(in lab, #fff 60%, oklch(60% 0.02 245deg));\n  --gray-300: color-mix(in lab, #fff 40%, oklch(60% 0.02 245deg));\n  --gray-400: color-mix(in lab, #fff 20%, oklch(60% 0.02 245deg));\n  --gray-500: oklch(60% 0.02 245deg);\n  --gray-600: color-mix(in lab, #000 16%, oklch(60% 0.02 245deg));\n  --gray-700: color-mix(in lab, #000 32%, oklch(60% 0.02 245deg));\n  --gray-800: color-mix(in lab, #000 48%, oklch(60% 0.02 245deg));\n  --gray-900: color-mix(in lab, #000 64%, oklch(60% 0.02 245deg));\n  --gray-950: color-mix(in lab, #000 76%, oklch(60% 0.02 245deg));\n  --gray-975: color-mix(in lab, #000 88%, oklch(60% 0.02 245deg));\n  --pewter-025: color-mix(in lab, #fff 94%, oklch(65% 0.01 290deg));\n  --pewter-050: color-mix(in lab, #fff 90%, oklch(65% 0.01 290deg));\n  --pewter-100: color-mix(in lab, #fff 80%, oklch(65% 0.01 290deg));\n  --pewter-200: color-mix(in lab, #fff 60%, oklch(65% 0.01 290deg));\n  --pewter-300: color-mix(in lab, #fff 40%, oklch(65% 0.01 290deg));\n  --pewter-400: color-mix(in lab, #fff 20%, oklch(65% 0.01 290deg));\n  --pewter-500: oklch(65% 0.01 290deg);\n  --pewter-600: color-mix(in lab, #000 16%, oklch(65% 0.01 290deg));\n  --pewter-700: color-mix(in lab, #000 32%, oklch(65% 0.01 290deg));\n  --pewter-800: color-mix(in lab, #000 48%, oklch(65% 0.01 290deg));\n  --pewter-900: color-mix(in lab, #000 64%, oklch(65% 0.01 290deg));\n  --pewter-950: color-mix(in lab, #000 76%, oklch(65% 0.01 290deg));\n  --pewter-975: color-mix(in lab, #000 88%, oklch(65% 0.01 290deg));\n}\n\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n:root {\n  --black: #000;\n  --white: #fff;\n  --font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --body-font-family: var(--font-sans-serif);\n  --font-size-base: 14px;\n  --font-size-xs: 0.75rem;\n  --font-size-sm: 0.875rem;\n  --font-size-md: 1rem;\n  --font-size-lg: clamp(1.25rem, 1rem + 0.625vw, 1.5rem);\n  --font-size-xl: clamp(1.5rem, 1.1rem + 0.75vw, 1.75rem);\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n  --line-height-xs: 1.5;\n  --line-height-sm: 1.5;\n  --line-height-md: 1.5;\n  --line-height-lg: 1.5;\n  --line-height-xl: 1.4285714286;\n  --line-height-2xl: 1.3333333333;\n  --line-height-3xl: 1.2;\n  --line-height-4xl: 1.1;\n  --line-height-5xl: 1.1;\n  --line-height-6xl: 1;\n  --body-font-size: 14px;\n  --body-font-weight: 400;\n  --body-line-height: 1.5;\n  --heading-color: inherit;\n  --hr-border-color: var(--border-color);\n  --link-color: light-dark(var(--primary-base), var(--primary-text));\n  --link-decoration: underline;\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n  --code-color: var(--secondary-text);\n  --highlight-color: var(--fg-body);\n  --highlight-bg: light-dark(var(--yellow-100), var(--yellow-900));\n  --border-width: 1px;\n  --border-style: solid;\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700));\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent);\n  --border-radius: 0.5rem;\n  --border-radius-sm: 0.375rem;\n  --border-radius-lg: 0.75rem;\n  --border-radius-xl: 1rem;\n  --border-radius-2xl: 2rem;\n  --border-radius-pill: 50rem;\n  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --focus-ring-width: 3px;\n  --focus-ring-offset: 1px;\n  --focus-ring-color: var(--primary-focus-ring);\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  --form-valid-color: var(--success);\n  --form-valid-border-color: var(--success);\n  --form-invalid-color: var(--danger);\n  --form-invalid-border-color: var(--danger);\n  --primary-base: var(--blue-500);\n  --primary-text: light-dark(var(--blue-600), var(--blue-400));\n  --primary-text-emphasis: light-dark(var(--blue-800), var(--blue-200));\n  --primary-bg: var(--blue-500);\n  --primary-bg-subtle: light-dark(var(--blue-100), var(--blue-900));\n  --primary-bg-muted: light-dark(var(--blue-200), var(--blue-800));\n  --primary-border: light-dark(var(--blue-300), var(--blue-600));\n  --primary-focus-ring: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  --primary-contrast: var(--white);\n  --accent-base: var(--indigo-500);\n  --accent-text: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  --accent-text-emphasis: light-dark(var(--indigo-800), var(--indigo-300));\n  --accent-bg: var(--indigo-500);\n  --accent-bg-subtle: light-dark(var(--indigo-100), var(--indigo-900));\n  --accent-bg-muted: light-dark(var(--indigo-200), var(--indigo-800));\n  --accent-border: light-dark(var(--indigo-300), var(--indigo-600));\n  --accent-focus-ring: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  --accent-contrast: var(--white);\n  --success-base: var(--green-500);\n  --success-text: light-dark(var(--green-600), var(--green-400));\n  --success-text-emphasis: light-dark(var(--green-800), var(--green-300));\n  --success-bg: var(--green-500);\n  --success-bg-subtle: light-dark(var(--green-100), var(--green-900));\n  --success-bg-muted: light-dark(var(--green-200), var(--green-800));\n  --success-border: light-dark(var(--green-300), var(--green-600));\n  --success-focus-ring: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  --success-contrast: var(--white);\n  --danger-base: var(--red-500);\n  --danger-text: light-dark(var(--red-600), var(--red-400));\n  --danger-text-emphasis: light-dark(var(--red-800), var(--red-300));\n  --danger-bg: var(--red-500);\n  --danger-bg-subtle: light-dark(var(--red-100), var(--red-900));\n  --danger-bg-muted: light-dark(var(--red-200), var(--red-800));\n  --danger-border: light-dark(var(--red-300), var(--red-600));\n  --danger-focus-ring: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  --danger-contrast: var(--white);\n  --warning-base: var(--yellow-500);\n  --warning-text: light-dark(var(--yellow-700), var(--yellow-400));\n  --warning-text-emphasis: light-dark(var(--yellow-800), var(--yellow-300));\n  --warning-bg: var(--yellow-500);\n  --warning-bg-subtle: light-dark(var(--yellow-100), var(--yellow-900));\n  --warning-bg-muted: light-dark(var(--yellow-200), var(--yellow-800));\n  --warning-border: light-dark(var(--yellow-300), var(--yellow-600));\n  --warning-focus-ring: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  --warning-contrast: var(--gray-900);\n  --info-base: var(--cyan-500);\n  --info-text: light-dark(var(--cyan-600), var(--cyan-400));\n  --info-text-emphasis: light-dark(var(--cyan-800), var(--cyan-300));\n  --info-bg: var(--cyan-500);\n  --info-bg-subtle: light-dark(var(--cyan-100), var(--cyan-900));\n  --info-bg-muted: light-dark(var(--cyan-200), var(--cyan-800));\n  --info-border: light-dark(var(--cyan-300), var(--cyan-600));\n  --info-focus-ring: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  --info-contrast: var(--gray-900);\n  --inverse-base: var(--gray-900);\n  --inverse-text: light-dark(var(--gray-900), var(--gray-200));\n  --inverse-text-emphasis: light-dark(var(--gray-975), var(--white));\n  --inverse-bg: light-dark(var(--gray-900), var(--gray-025));\n  --inverse-bg-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --inverse-bg-muted: light-dark(var(--gray-200), var(--gray-300));\n  --inverse-border: light-dark(var(--gray-400), var(--gray-100));\n  --inverse-focus-ring: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  --inverse-contrast: light-dark(var(--white), var(--gray-900));\n  --secondary-base: var(--gray-200);\n  --secondary-text: light-dark(var(--gray-600), var(--gray-400));\n  --secondary-text-emphasis: light-dark(var(--gray-800), var(--gray-200));\n  --secondary-bg: light-dark(var(--gray-100), var(--gray-600));\n  --secondary-bg-subtle: light-dark(var(--gray-050), var(--gray-800));\n  --secondary-bg-muted: light-dark(var(--gray-100), var(--gray-700));\n  --secondary-border: light-dark(var(--gray-300), var(--gray-600));\n  --secondary-focus-ring: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  --secondary-contrast: light-dark(var(--gray-900), var(--white));\n  --bg-body: light-dark(var(--white), var(--gray-975));\n  --bg-1: light-dark(var(--gray-025), var(--gray-950));\n  --bg-2: light-dark(var(--gray-050), var(--gray-900));\n  --bg-3: light-dark(var(--gray-100), var(--gray-800));\n  --bg-4: light-dark(var(--gray-200), var(--gray-700));\n  --bg-white: var(--white);\n  --bg-black: var(--black);\n  --bg-transparent: transparent;\n  --bg-inherit: inherit;\n  --fg-body: light-dark(var(--gray-900), var(--gray-050));\n  --fg-1: light-dark(var(--gray-800), var(--gray-200));\n  --fg-2: light-dark(var(--gray-700), var(--gray-300));\n  --fg-3: light-dark(var(--gray-600), var(--gray-500));\n  --fg-4: light-dark(var(--gray-500), var(--gray-600));\n  --fg-white: var(--white);\n  --fg-black: var(--black);\n  --fg-inherit: inherit;\n  --border-bg: var(--bg-body);\n  --border-body: light-dark(var(--gray-300), var(--gray-800));\n  --border-muted: light-dark(var(--gray-200), var(--gray-800));\n  --border-subtle: light-dark(var(--gray-100), var(--gray-900));\n  --border-emphasized: light-dark(var(--gray-400), var(--gray-600));\n  --border-white: var(--white);\n  --border-black: var(--black);\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=light] {\n  --root-font-size: 16px;\n}\n\n@layer reboot {\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n  :root {\n    font-size: var(--root-font-size);\n  }\n  @media (prefers-reduced-motion: no-preference) {\n    :root {\n      scroll-behavior: smooth;\n    }\n  }\n  :root {\n    accent-color: var(--primary-base);\n  }\n  body {\n    margin: 0;\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body);\n    -webkit-text-size-adjust: 100%;\n    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n  }\n  hr {\n    margin: 1rem 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  h6,\n  .h6, h5,\n  .h5, h4,\n  .h4, h3,\n  .h3, h2,\n  .h2, h1,\n  .h1 {\n    margin-top: 0;\n    margin-bottom: 0.5rem;\n    font-weight: 500;\n    line-height: 1.2;\n    color: var(--heading-color);\n  }\n  h1,\n  .h1 {\n    font-size: var(--font-size-3xl);\n  }\n  h2,\n  .h2 {\n    font-size: var(--font-size-2xl);\n  }\n  h3,\n  .h3 {\n    font-size: var(--font-size-xl);\n  }\n  h4,\n  .h4 {\n    font-size: var(--font-size-lg);\n  }\n  h5,\n  .h5 {\n    font-size: var(--font-size-md);\n  }\n  h6,\n  .h6 {\n    font-size: var(--font-size-sm);\n  }\n  p {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  abbr[title] {\n    text-decoration: underline dotted;\n    cursor: help;\n    text-decoration-skip-ink: none;\n  }\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n  dt {\n    font-weight: 700;\n  }\n  dd {\n    margin-inline-start: 0;\n    margin-bottom: 0.5rem;\n  }\n  blockquote {\n    margin: 0 0 1rem;\n  }\n  b,\n  strong {\n    font-weight: bolder;\n  }\n  small,\n  .small {\n    font-size: 0.875em;\n  }\n  mark,\n  .mark {\n    padding: 0.1875em;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n  sub,\n  sup {\n    position: relative;\n    font-size: 0.75em;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n  sub {\n    bottom: -0.25em;\n  }\n  sup {\n    top: -0.5em;\n  }\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: 0.2em;\n  }\n  a:hover {\n    color: var(--theme-text-emphasis, var(--link-hover-color));\n    text-decoration: var(--link-hover-decoration, var(--link-decoration));\n  }\n  a:not([href]):not([class]), a:not([href]):not([class]):hover {\n    color: inherit;\n    text-decoration: none;\n  }\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: var(--font-monospace);\n    font-size: 1em;\n  }\n  pre {\n    display: block;\n    margin-top: 0;\n    margin-bottom: 1rem;\n    overflow: auto;\n    font-size: 95%;\n  }\n  pre code {\n    font-size: inherit;\n    color: inherit;\n    word-break: normal;\n  }\n  code {\n    font-size: 95%;\n    color: var(--code-color);\n    word-wrap: break-word;\n  }\n  a > code {\n    color: inherit;\n  }\n  kbd {\n    padding: 0.1875rem 0.375rem;\n    font-size: 95%;\n    color: var(--bg-body);\n    background-color: var(--fg-body);\n    border-radius: 0.375rem;\n  }\n  kbd kbd {\n    padding: 0;\n    font-size: 1em;\n    font-weight: inherit;\n  }\n  figure {\n    margin: 0 0 1rem;\n  }\n  img,\n  svg {\n    vertical-align: middle;\n  }\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n  caption {\n    padding-block: 0.5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n  th {\n    text-align: inherit;\n    text-align: -webkit-match-parent;\n  }\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n  label {\n    display: inline-block;\n  }\n  button {\n    border-radius: 0;\n  }\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0;\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n  button,\n  select {\n    text-transform: none;\n  }\n  [role=button] {\n    cursor: pointer;\n  }\n  select {\n    word-wrap: normal;\n  }\n  select:disabled {\n    opacity: 1;\n  }\n  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n  button,\n  [type=button],\n  [type=reset],\n  [type=submit] {\n    -webkit-appearance: button;\n  }\n  button:not(:disabled),\n  [type=button]:not(:disabled),\n  [type=reset]:not(:disabled),\n  [type=submit]:not(:disabled) {\n    cursor: pointer;\n  }\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n  textarea {\n    resize: vertical;\n  }\n  fieldset {\n    min-width: 0;\n    padding: 0;\n    margin: 0;\n    border: 0;\n  }\n  legend {\n    float: inline-start;\n    width: 100%;\n    padding: 0;\n    margin-bottom: 0.5rem;\n    font-size: 1.5rem;\n    line-height: inherit;\n  }\n  legend + * {\n    clear: inline-start;\n  }\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n  [type=search] {\n    -webkit-appearance: textfield;\n    outline-offset: -2px;\n  }\n  [type=search]::-webkit-search-cancel-button {\n    cursor: pointer;\n    filter: grayscale(1);\n  }\n  [type=tel],\n  [type=url],\n  [type=email],\n  [type=number] {\n    direction: ltr;\n  }\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n  ::file-selector-button {\n    font: inherit;\n    -webkit-appearance: button;\n  }\n  output {\n    display: inline-block;\n  }\n  iframe {\n    border: 0;\n  }\n  summary {\n    display: list-item;\n    cursor: pointer;\n  }\n  progress {\n    vertical-align: baseline;\n  }\n  [hidden] {\n    display: none !important;\n  }\n}\n@layer content {\n  .list-unstyled {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline {\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .list-inline-item {\n    display: inline-block;\n  }\n  .list-inline-item:not(:last-child) {\n    margin-inline-end: 0.5rem;\n  }\n  .initialism {\n    font-size: 0.875em;\n    text-transform: uppercase;\n  }\n  .blockquote {\n    margin-bottom: 1rem;\n    font-size: 17.5px;\n  }\n  .blockquote > :last-child {\n    margin-bottom: 0;\n  }\n  .blockquote-footer {\n    margin-top: -1rem;\n    margin-bottom: 1rem;\n    font-size: 0.875em;\n    color: var(--gray-600);\n  }\n  .blockquote-footer::before {\n    content: \"— \";\n  }\n}\n@layer content {\n  .table {\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    --table-color: var(--fg-body);\n    --table-bg: var(--bg-body);\n    --table-border-color: var(--border-color);\n    --table-accent-bg: transparent;\n    --table-striped-color: var(--fg-body);\n    --table-striped-bg: color-mix(in srgb, var(--table-color) 5%, transparent);\n    --table-active-color: var(--fg-body);\n    --table-active-bg: color-mix(in srgb, var(--table-color) 10%, transparent);\n    --table-hover-color: var(--fg-body);\n    --table-hover-bg: color-mix(in srgb, var(--table-color) 7.5%, transparent);\n    width: 100%;\n    margin-bottom: 1rem;\n    vertical-align: top;\n    border-color: var(--theme-border, var(--table-border-color));\n  }\n  .table > :not(caption) > * > * {\n    padding: 0.5rem 0.5rem;\n    color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n    background-color: var(--theme-bg-subtle, var(--table-bg));\n    border-block-end-width: var(--border-width);\n    box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n  }\n  .table > tbody {\n    vertical-align: inherit;\n  }\n  .table > thead {\n    vertical-align: bottom;\n  }\n  .table-group-divider {\n    border-block-start: calc(var(--border-width) * 2) solid currentcolor;\n  }\n  .caption-top {\n    caption-side: top;\n  }\n  .table-sm > :not(caption) > * > * {\n    padding: 0.25rem 0.25rem;\n  }\n  .table-bordered > :not(caption) > * {\n    border-width: var(--border-width) 0;\n  }\n  .table-bordered > :not(caption) > * > * {\n    border-width: 0 var(--border-width);\n  }\n  .table-borderless > :not(caption) > * > * {\n    border-block-end-width: 0;\n  }\n  .table-borderless > :not(:first-child) {\n    border-block-start-width: 0;\n  }\n  .table-striped > tbody > tr:nth-of-type(odd) > * {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) 5%, transparent);\n  }\n  .table-striped-columns > :not(caption) > tr > :nth-child(even) {\n    --table-color-type: var(--theme-text, var(--table-striped-color));\n    --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) 5%, transparent);\n  }\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) 10%, transparent);\n  }\n  .table-hover > tbody > tr:hover > * {\n    --table-color-state: var(--theme-text, var(--table-hover-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) 7.5%, transparent);\n  }\n  .table-responsive {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n  @media (width < 576px) {\n    .table-responsive-sm {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 768px) {\n    .table-responsive-md {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1024px) {\n    .table-responsive-lg {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1280px) {\n    .table-responsive-xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n  @media (width < 1536px) {\n    .table-responsive-2xl {\n      overflow-x: auto;\n      -webkit-overflow-scrolling: touch;\n    }\n  }\n}\n@layer content {\n  .img-fluid {\n    max-width: 100%;\n    height: auto;\n  }\n  .img-thumbnail {\n    padding: 0.25rem;\n    background-color: var(--bg-body);\n    border: var(--border-width) solid var(--border-color);\n    border-radius: var(--border-radius);\n    box-shadow: var(--box-shadow-sm);\n    max-width: 100%;\n    height: auto;\n  }\n  .figure {\n    display: inline-block;\n  }\n  .figure-img {\n    margin-bottom: 0.5rem;\n    line-height: 1;\n  }\n  .figure-caption {\n    font-size: 0.875em;\n    color: var(--secondary-color);\n  }\n}\n@layer content {\n  .prose {\n    --content-font-size: var(--font-size-sm);\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n  }\n  @media (width >= 1024px) {\n    .prose {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n  }\n  .prose p,\n  .prose ul,\n  .prose ol,\n  .prose dl,\n  .prose pre,\n  .prose table,\n  .prose blockquote {\n    margin-block: 0;\n  }\n  .prose :where(ul, ol):not([class]) li:not(:last-child) {\n    margin-bottom: calc(var(--content-gap) / 4);\n  }\n  .prose li ul,\n  .prose li ol {\n    margin-top: calc(var(--content-gap) / 4);\n  }\n  .prose hr {\n    margin: calc(var(--content-gap) * 1.5) 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n  .prose h1:not([class]),\n  .prose h2:not([class]),\n  .prose h3:not([class]),\n  .prose h4:not([class]),\n  .prose h5:not([class]),\n  .prose h6:not([class]) {\n    margin-top: 0;\n    margin-bottom: calc(var(--content-gap) / -2);\n    font-weight: 500;\n    line-height: 1.25;\n  }\n  .prose h1:not([class]) code,\n  .prose h2:not([class]) code,\n  .prose h3:not([class]) code,\n  .prose h4:not([class]) code,\n  .prose h5:not([class]) code,\n  .prose h6:not([class]) code {\n    font-weight: 600;\n    color: inherit;\n  }\n  .prose h1:not(:first-child),\n  .prose h2:not(:first-child) {\n    margin-top: calc(var(--content-gap) * 1.5);\n  }\n  .prose h3:not(:first-child),\n  .prose h4:not(:first-child),\n  .prose h5:not(:first-child),\n  .prose h6:not(:first-child) {\n    margin-top: calc(var(--content-gap) * 1.25);\n  }\n  .prose h1 {\n    font-size: 2.25em;\n    line-height: 1.1;\n  }\n  .prose h2 {\n    font-size: 1.75em;\n  }\n  .prose h3 {\n    font-size: 1.5em;\n  }\n  .prose h4 {\n    font-size: 1.25em;\n  }\n  .prose h5 {\n    font-size: 1.125em;\n  }\n  .prose h6 {\n    font-size: 1em;\n  }\n  .prose a:not([class]) {\n    color: var(--link-color);\n    text-decoration: underline;\n    text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n    text-underline-offset: 4px;\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .prose a:not([class]) {\n      transition: none;\n    }\n  }\n  .prose a:not([class]):hover {\n    text-decoration-color: var(--link-hover-color);\n  }\n  .prose img {\n    max-width: 100%;\n  }\n  .prose blockquote {\n    padding-inline-start: calc(var(--content-gap) / 2);\n    margin: 0;\n    border-inline-start: 4px solid var(--border-color);\n  }\n  .prose table {\n    width: 100%;\n    border-spacing: 0;\n    border-collapse: collapse;\n  }\n  .prose :where(table:not([class])) td,\n  .prose :where(table:not([class])) th {\n    padding: 6px 12px;\n    text-align: inherit;\n    border: 1px solid var(--border-color);\n  }\n  .prose dt {\n    font-weight: 500;\n  }\n  .prose video,\n  .prose img {\n    max-width: 100%;\n  }\n}\n@layer layout {\n  .container,\n  .container-fluid,\n  .container-2xl,\n  .container-xl,\n  .container-lg,\n  .container-md,\n  .container-sm {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-inline: auto;\n  }\n  @media (width >= 576px) {\n    .container-sm, .container {\n      max-width: 540px;\n    }\n  }\n  @media (width >= 768px) {\n    .container-md, .container-sm, .container {\n      max-width: 720px;\n    }\n  }\n  @media (width >= 1024px) {\n    .container-lg, .container-md, .container-sm, .container {\n      max-width: 960px;\n    }\n  }\n  @media (width >= 1280px) {\n    .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1200px;\n    }\n  }\n  @media (width >= 1536px) {\n    .container-2xl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n      max-width: 1440px;\n    }\n  }\n}\n:root {\n  --breakpoint-xs: 0;\n  --breakpoint-sm: 576px;\n  --breakpoint-md: 768px;\n  --breakpoint-lg: 1024px;\n  --breakpoint-xl: 1280px;\n  --breakpoint-2xl: 1536px;\n}\n\n@layer layout {\n  .row {\n    --gutter-x: 1.5rem;\n    --gutter-y: 0;\n    display: flex;\n    flex-wrap: wrap;\n    margin-inline: calc(-0.5 * var(--gutter-x));\n    margin-top: calc(-1 * var(--gutter-y));\n  }\n  .row > * {\n    flex-shrink: 0;\n    width: 100%;\n    max-width: 100%;\n    padding-inline: calc(var(--gutter-x) * 0.5);\n    margin-top: var(--gutter-y);\n  }\n  .col {\n    flex: 1 0 0;\n  }\n  .row-cols-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-3 > * {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .row-cols-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-6 > * {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-1 {\n    flex: 0 0 auto;\n    width: 8.3333333333%;\n  }\n  .col-2 {\n    flex: 0 0 auto;\n    width: 16.6666666667%;\n  }\n  .col-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-4 {\n    flex: 0 0 auto;\n    width: 33.3333333333%;\n  }\n  .col-5 {\n    flex: 0 0 auto;\n    width: 41.6666666667%;\n  }\n  .col-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-7 {\n    flex: 0 0 auto;\n    width: 58.3333333333%;\n  }\n  .col-8 {\n    flex: 0 0 auto;\n    width: 66.6666666667%;\n  }\n  .col-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-10 {\n    flex: 0 0 auto;\n    width: 83.3333333333%;\n  }\n  .col-11 {\n    flex: 0 0 auto;\n    width: 91.6666666667%;\n  }\n  .col-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-1 {\n    margin-inline-start: 8.3333333333%;\n  }\n  .offset-2 {\n    margin-inline-start: 16.6666666667%;\n  }\n  .offset-3 {\n    margin-inline-start: 25%;\n  }\n  .offset-4 {\n    margin-inline-start: 33.3333333333%;\n  }\n  .offset-5 {\n    margin-inline-start: 41.6666666667%;\n  }\n  .offset-6 {\n    margin-inline-start: 50%;\n  }\n  .offset-7 {\n    margin-inline-start: 58.3333333333%;\n  }\n  .offset-8 {\n    margin-inline-start: 66.6666666667%;\n  }\n  .offset-9 {\n    margin-inline-start: 75%;\n  }\n  .offset-10 {\n    margin-inline-start: 83.3333333333%;\n  }\n  .offset-11 {\n    margin-inline-start: 91.6666666667%;\n  }\n  .g-0,\n  .gx-0 {\n    --gutter-x: 0;\n  }\n  .g-0,\n  .gy-0 {\n    --gutter-y: 0;\n  }\n  .g-1,\n  .gx-1 {\n    --gutter-x: 0.25rem;\n  }\n  .g-1,\n  .gy-1 {\n    --gutter-y: 0.25rem;\n  }\n  .g-2,\n  .gx-2 {\n    --gutter-x: 0.5rem;\n  }\n  .g-2,\n  .gy-2 {\n    --gutter-y: 0.5rem;\n  }\n  .g-3,\n  .gx-3 {\n    --gutter-x: 1rem;\n  }\n  .g-3,\n  .gy-3 {\n    --gutter-y: 1rem;\n  }\n  .g-4,\n  .gx-4 {\n    --gutter-x: 1.5rem;\n  }\n  .g-4,\n  .gy-4 {\n    --gutter-y: 1.5rem;\n  }\n  .g-5,\n  .gx-5 {\n    --gutter-x: 3rem;\n  }\n  .g-5,\n  .gy-5 {\n    --gutter-y: 3rem;\n  }\n  @media (width >= 576px) {\n    .col-sm {\n      flex: 1 0 0;\n    }\n    .row-cols-sm-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-sm-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-sm-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-sm-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-sm-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-sm-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-sm-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-sm-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-sm-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-sm-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-sm-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-sm-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-sm-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-sm-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-sm-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-sm-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-sm-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-sm-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-sm-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-sm-0 {\n      margin-inline-start: 0;\n    }\n    .offset-sm-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-sm-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-sm-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-sm-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-sm-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-sm-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-sm-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-sm-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-sm-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-sm-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-sm-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-sm-0,\n    .gx-sm-0 {\n      --gutter-x: 0;\n    }\n    .g-sm-0,\n    .gy-sm-0 {\n      --gutter-y: 0;\n    }\n    .g-sm-1,\n    .gx-sm-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-sm-1,\n    .gy-sm-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-sm-2,\n    .gx-sm-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-sm-2,\n    .gy-sm-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-sm-3,\n    .gx-sm-3 {\n      --gutter-x: 1rem;\n    }\n    .g-sm-3,\n    .gy-sm-3 {\n      --gutter-y: 1rem;\n    }\n    .g-sm-4,\n    .gx-sm-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-sm-4,\n    .gy-sm-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-sm-5,\n    .gx-sm-5 {\n      --gutter-x: 3rem;\n    }\n    .g-sm-5,\n    .gy-sm-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 768px) {\n    .col-md {\n      flex: 1 0 0;\n    }\n    .row-cols-md-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-md-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-md-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-md-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-md-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-md-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-md-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-md-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-md-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-md-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-md-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-md-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-md-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-md-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-md-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-md-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-md-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-md-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-md-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-md-0 {\n      margin-inline-start: 0;\n    }\n    .offset-md-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-md-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-md-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-md-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-md-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-md-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-md-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-md-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-md-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-md-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-md-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-md-0,\n    .gx-md-0 {\n      --gutter-x: 0;\n    }\n    .g-md-0,\n    .gy-md-0 {\n      --gutter-y: 0;\n    }\n    .g-md-1,\n    .gx-md-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-md-1,\n    .gy-md-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-md-2,\n    .gx-md-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-md-2,\n    .gy-md-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-md-3,\n    .gx-md-3 {\n      --gutter-x: 1rem;\n    }\n    .g-md-3,\n    .gy-md-3 {\n      --gutter-y: 1rem;\n    }\n    .g-md-4,\n    .gx-md-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-md-4,\n    .gy-md-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-md-5,\n    .gx-md-5 {\n      --gutter-x: 3rem;\n    }\n    .g-md-5,\n    .gy-md-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1024px) {\n    .col-lg {\n      flex: 1 0 0;\n    }\n    .row-cols-lg-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-lg-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-lg-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-lg-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-lg-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-lg-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-lg-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-lg-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-lg-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-lg-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-lg-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-lg-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-lg-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-lg-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-lg-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-lg-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-lg-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-lg-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-lg-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-lg-0 {\n      margin-inline-start: 0;\n    }\n    .offset-lg-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-lg-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-lg-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-lg-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-lg-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-lg-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-lg-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-lg-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-lg-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-lg-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-lg-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-lg-0,\n    .gx-lg-0 {\n      --gutter-x: 0;\n    }\n    .g-lg-0,\n    .gy-lg-0 {\n      --gutter-y: 0;\n    }\n    .g-lg-1,\n    .gx-lg-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-lg-1,\n    .gy-lg-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-lg-2,\n    .gx-lg-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-lg-2,\n    .gy-lg-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-lg-3,\n    .gx-lg-3 {\n      --gutter-x: 1rem;\n    }\n    .g-lg-3,\n    .gy-lg-3 {\n      --gutter-y: 1rem;\n    }\n    .g-lg-4,\n    .gx-lg-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-lg-4,\n    .gy-lg-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-lg-5,\n    .gx-lg-5 {\n      --gutter-x: 3rem;\n    }\n    .g-lg-5,\n    .gy-lg-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1280px) {\n    .col-xl {\n      flex: 1 0 0;\n    }\n    .row-cols-xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-xl-0,\n    .gx-xl-0 {\n      --gutter-x: 0;\n    }\n    .g-xl-0,\n    .gy-xl-0 {\n      --gutter-y: 0;\n    }\n    .g-xl-1,\n    .gx-xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-xl-1,\n    .gy-xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-xl-2,\n    .gx-xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-xl-2,\n    .gy-xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-xl-3,\n    .gx-xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-xl-3,\n    .gy-xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-xl-4,\n    .gx-xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-xl-4,\n    .gy-xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-xl-5,\n    .gx-xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-xl-5,\n    .gy-xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  @media (width >= 1536px) {\n    .col-2xl {\n      flex: 1 0 0;\n    }\n    .row-cols-2xl-auto > * {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .row-cols-2xl-1 > * {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .row-cols-2xl-2 > * {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .row-cols-2xl-3 > * {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .row-cols-2xl-4 > * {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .row-cols-2xl-5 > * {\n      flex: 0 0 auto;\n      width: 20%;\n    }\n    .row-cols-2xl-6 > * {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-auto {\n      flex: 0 0 auto;\n      width: auto;\n    }\n    .col-2xl-1 {\n      flex: 0 0 auto;\n      width: 8.3333333333%;\n    }\n    .col-2xl-2 {\n      flex: 0 0 auto;\n      width: 16.6666666667%;\n    }\n    .col-2xl-3 {\n      flex: 0 0 auto;\n      width: 25%;\n    }\n    .col-2xl-4 {\n      flex: 0 0 auto;\n      width: 33.3333333333%;\n    }\n    .col-2xl-5 {\n      flex: 0 0 auto;\n      width: 41.6666666667%;\n    }\n    .col-2xl-6 {\n      flex: 0 0 auto;\n      width: 50%;\n    }\n    .col-2xl-7 {\n      flex: 0 0 auto;\n      width: 58.3333333333%;\n    }\n    .col-2xl-8 {\n      flex: 0 0 auto;\n      width: 66.6666666667%;\n    }\n    .col-2xl-9 {\n      flex: 0 0 auto;\n      width: 75%;\n    }\n    .col-2xl-10 {\n      flex: 0 0 auto;\n      width: 83.3333333333%;\n    }\n    .col-2xl-11 {\n      flex: 0 0 auto;\n      width: 91.6666666667%;\n    }\n    .col-2xl-12 {\n      flex: 0 0 auto;\n      width: 100%;\n    }\n    .offset-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .offset-2xl-1 {\n      margin-inline-start: 8.3333333333%;\n    }\n    .offset-2xl-2 {\n      margin-inline-start: 16.6666666667%;\n    }\n    .offset-2xl-3 {\n      margin-inline-start: 25%;\n    }\n    .offset-2xl-4 {\n      margin-inline-start: 33.3333333333%;\n    }\n    .offset-2xl-5 {\n      margin-inline-start: 41.6666666667%;\n    }\n    .offset-2xl-6 {\n      margin-inline-start: 50%;\n    }\n    .offset-2xl-7 {\n      margin-inline-start: 58.3333333333%;\n    }\n    .offset-2xl-8 {\n      margin-inline-start: 66.6666666667%;\n    }\n    .offset-2xl-9 {\n      margin-inline-start: 75%;\n    }\n    .offset-2xl-10 {\n      margin-inline-start: 83.3333333333%;\n    }\n    .offset-2xl-11 {\n      margin-inline-start: 91.6666666667%;\n    }\n    .g-2xl-0,\n    .gx-2xl-0 {\n      --gutter-x: 0;\n    }\n    .g-2xl-0,\n    .gy-2xl-0 {\n      --gutter-y: 0;\n    }\n    .g-2xl-1,\n    .gx-2xl-1 {\n      --gutter-x: 0.25rem;\n    }\n    .g-2xl-1,\n    .gy-2xl-1 {\n      --gutter-y: 0.25rem;\n    }\n    .g-2xl-2,\n    .gx-2xl-2 {\n      --gutter-x: 0.5rem;\n    }\n    .g-2xl-2,\n    .gy-2xl-2 {\n      --gutter-y: 0.5rem;\n    }\n    .g-2xl-3,\n    .gx-2xl-3 {\n      --gutter-x: 1rem;\n    }\n    .g-2xl-3,\n    .gy-2xl-3 {\n      --gutter-y: 1rem;\n    }\n    .g-2xl-4,\n    .gx-2xl-4 {\n      --gutter-x: 1.5rem;\n    }\n    .g-2xl-4,\n    .gy-2xl-4 {\n      --gutter-y: 1.5rem;\n    }\n    .g-2xl-5,\n    .gx-2xl-5 {\n      --gutter-x: 3rem;\n    }\n    .g-2xl-5,\n    .gy-2xl-5 {\n      --gutter-y: 3rem;\n    }\n  }\n  .grid {\n    --columns: 12;\n    --rows: 1;\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-rows: repeat(var(--rows), 1fr);\n    grid-template-columns: repeat(var(--columns), 1fr);\n    gap: var(--gap);\n  }\n  .g-col-1 {\n    grid-column: auto/span 1;\n  }\n  .g-col-2 {\n    grid-column: auto/span 2;\n  }\n  .g-col-3 {\n    grid-column: auto/span 3;\n  }\n  .g-col-4 {\n    grid-column: auto/span 4;\n  }\n  .g-col-5 {\n    grid-column: auto/span 5;\n  }\n  .g-col-6 {\n    grid-column: auto/span 6;\n  }\n  .g-col-7 {\n    grid-column: auto/span 7;\n  }\n  .g-col-8 {\n    grid-column: auto/span 8;\n  }\n  .g-col-9 {\n    grid-column: auto/span 9;\n  }\n  .g-col-10 {\n    grid-column: auto/span 10;\n  }\n  .g-col-11 {\n    grid-column: auto/span 11;\n  }\n  .g-col-12 {\n    grid-column: auto/span 12;\n  }\n  .g-start-1 {\n    grid-column-start: 1;\n  }\n  .g-start-2 {\n    grid-column-start: 2;\n  }\n  .g-start-3 {\n    grid-column-start: 3;\n  }\n  .g-start-4 {\n    grid-column-start: 4;\n  }\n  .g-start-5 {\n    grid-column-start: 5;\n  }\n  .g-start-6 {\n    grid-column-start: 6;\n  }\n  .g-start-7 {\n    grid-column-start: 7;\n  }\n  .g-start-8 {\n    grid-column-start: 8;\n  }\n  .g-start-9 {\n    grid-column-start: 9;\n  }\n  .g-start-10 {\n    grid-column-start: 10;\n  }\n  .g-start-11 {\n    grid-column-start: 11;\n  }\n  @media (width >= 576px) {\n    .g-col-sm-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-sm-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-sm-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-sm-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-sm-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-sm-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-sm-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-sm-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-sm-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-sm-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-sm-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-sm-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-sm-1 {\n      grid-column-start: 1;\n    }\n    .g-start-sm-2 {\n      grid-column-start: 2;\n    }\n    .g-start-sm-3 {\n      grid-column-start: 3;\n    }\n    .g-start-sm-4 {\n      grid-column-start: 4;\n    }\n    .g-start-sm-5 {\n      grid-column-start: 5;\n    }\n    .g-start-sm-6 {\n      grid-column-start: 6;\n    }\n    .g-start-sm-7 {\n      grid-column-start: 7;\n    }\n    .g-start-sm-8 {\n      grid-column-start: 8;\n    }\n    .g-start-sm-9 {\n      grid-column-start: 9;\n    }\n    .g-start-sm-10 {\n      grid-column-start: 10;\n    }\n    .g-start-sm-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 768px) {\n    .g-col-md-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-md-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-md-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-md-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-md-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-md-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-md-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-md-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-md-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-md-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-md-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-md-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-md-1 {\n      grid-column-start: 1;\n    }\n    .g-start-md-2 {\n      grid-column-start: 2;\n    }\n    .g-start-md-3 {\n      grid-column-start: 3;\n    }\n    .g-start-md-4 {\n      grid-column-start: 4;\n    }\n    .g-start-md-5 {\n      grid-column-start: 5;\n    }\n    .g-start-md-6 {\n      grid-column-start: 6;\n    }\n    .g-start-md-7 {\n      grid-column-start: 7;\n    }\n    .g-start-md-8 {\n      grid-column-start: 8;\n    }\n    .g-start-md-9 {\n      grid-column-start: 9;\n    }\n    .g-start-md-10 {\n      grid-column-start: 10;\n    }\n    .g-start-md-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1024px) {\n    .g-col-lg-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-lg-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-lg-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-lg-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-lg-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-lg-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-lg-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-lg-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-lg-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-lg-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-lg-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-lg-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-lg-1 {\n      grid-column-start: 1;\n    }\n    .g-start-lg-2 {\n      grid-column-start: 2;\n    }\n    .g-start-lg-3 {\n      grid-column-start: 3;\n    }\n    .g-start-lg-4 {\n      grid-column-start: 4;\n    }\n    .g-start-lg-5 {\n      grid-column-start: 5;\n    }\n    .g-start-lg-6 {\n      grid-column-start: 6;\n    }\n    .g-start-lg-7 {\n      grid-column-start: 7;\n    }\n    .g-start-lg-8 {\n      grid-column-start: 8;\n    }\n    .g-start-lg-9 {\n      grid-column-start: 9;\n    }\n    .g-start-lg-10 {\n      grid-column-start: 10;\n    }\n    .g-start-lg-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1280px) {\n    .g-col-xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  @media (width >= 1536px) {\n    .g-col-2xl-1 {\n      grid-column: auto/span 1;\n    }\n    .g-col-2xl-2 {\n      grid-column: auto/span 2;\n    }\n    .g-col-2xl-3 {\n      grid-column: auto/span 3;\n    }\n    .g-col-2xl-4 {\n      grid-column: auto/span 4;\n    }\n    .g-col-2xl-5 {\n      grid-column: auto/span 5;\n    }\n    .g-col-2xl-6 {\n      grid-column: auto/span 6;\n    }\n    .g-col-2xl-7 {\n      grid-column: auto/span 7;\n    }\n    .g-col-2xl-8 {\n      grid-column: auto/span 8;\n    }\n    .g-col-2xl-9 {\n      grid-column: auto/span 9;\n    }\n    .g-col-2xl-10 {\n      grid-column: auto/span 10;\n    }\n    .g-col-2xl-11 {\n      grid-column: auto/span 11;\n    }\n    .g-col-2xl-12 {\n      grid-column: auto/span 12;\n    }\n    .g-start-2xl-1 {\n      grid-column-start: 1;\n    }\n    .g-start-2xl-2 {\n      grid-column-start: 2;\n    }\n    .g-start-2xl-3 {\n      grid-column-start: 3;\n    }\n    .g-start-2xl-4 {\n      grid-column-start: 4;\n    }\n    .g-start-2xl-5 {\n      grid-column-start: 5;\n    }\n    .g-start-2xl-6 {\n      grid-column-start: 6;\n    }\n    .g-start-2xl-7 {\n      grid-column-start: 7;\n    }\n    .g-start-2xl-8 {\n      grid-column-start: 8;\n    }\n    .g-start-2xl-9 {\n      grid-column-start: 9;\n    }\n    .g-start-2xl-10 {\n      grid-column-start: 10;\n    }\n    .g-start-2xl-11 {\n      grid-column-start: 11;\n    }\n  }\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n  .grid-fill {\n    --gap: 1.5rem;\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n}\n@layer forms {\n  .form-label {\n    margin-bottom: 0.5rem;\n  }\n  .col-form-label {\n    padding-top: add(0.375rem, var(--border-width));\n    padding-bottom: add(0.375rem, var(--border-width));\n    margin-bottom: 0;\n    font-size: inherit;\n    line-height: 1.5;\n  }\n  .col-form-label-lg {\n    padding-top: add(0.5rem, var(--border-width));\n    padding-bottom: add(0.5rem, var(--border-width));\n    font-size: 17.5px;\n  }\n  .col-form-label-sm {\n    padding-top: add(0.25rem, var(--border-width));\n    padding-bottom: add(0.25rem, var(--border-width));\n    font-size: 12.25px;\n  }\n}\n@layer forms {\n  .form-text {\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--secondary-color);\n  }\n}\n@layer forms {\n  .form-control {\n    --control-min-height: 2.5rem;\n    --control-padding-y: 0.375rem;\n    --control-padding-x: 0.75rem;\n    --control-font-size: 14px;\n    --control-line-height: 1.5;\n    --control-color: var(--fg-body);\n    --control-bg: var(--bg-body);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --control-select-bg-color: var(--gray-600);\n    --control-select-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='var%28--gray-600%29' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n    --control-select-bg-position: right 0.75rem center;\n    --control-select-bg-size: 16px 12px;\n    display: block;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control {\n      transition: none;\n    }\n  }\n  .form-control[type=file] {\n    overflow: hidden;\n  }\n  .form-control[type=file]:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control:focus-visible {\n    --focus-ring-offset: -1px;\n    color: var(--fg-body);\n    background-color: var(--bg-body);\n    border-color: var(--primary-border);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-control::-webkit-date-and-time-value {\n    min-width: 85px;\n    height: 1.5em;\n    margin: 0;\n  }\n  .form-control::-webkit-datetime-edit {\n    display: block;\n    padding: 0;\n  }\n  .form-control::placeholder {\n    color: var(--secondary-color);\n    opacity: 1;\n  }\n  .form-control:disabled {\n    background-color: var(--secondary-bg);\n    opacity: 1;\n  }\n  .form-control::file-selector-button {\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n    margin-inline-end: var(--control-padding-x);\n    color: var(--fg-body);\n    background-color: var(--tertiary-bg);\n    pointer-events: none;\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n    border-inline-end-width: var(--control-border-width);\n    border-radius: 0;\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-control::file-selector-button {\n      transition: none;\n    }\n  }\n  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n    background-color: var(--secondary-bg);\n  }\n  .form-control-plaintext {\n    display: block;\n    width: 100%;\n    padding: 0.375rem 0;\n    margin-bottom: 0;\n    line-height: 1.5;\n    color: var(--fg-body);\n    background-color: transparent;\n    border: solid transparent;\n    border-width: var(--border-width) 0;\n  }\n  .form-control-plaintext:focus {\n    outline: 0;\n  }\n  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n    padding-inline: 0;\n  }\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n  }\n  select.form-control[multiple], select.form-control[size]:not([size=\"1\"]) {\n    padding-inline-end: var(--control-padding-x);\n    background-image: none;\n  }\n  select.form-control [data-bs-theme=dark] {\n    --control-select-indicator: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n  }\n  .form-control-sm {\n    --control-min-height: 2rem;\n    --control-padding-y: 0.25rem;\n    --control-padding-x: 0.5rem;\n    --control-font-size: 12.25px;\n    --control-line-height: 1.25;\n    --control-border-radius: var(--border-radius-sm);\n  }\n  .form-control-lg {\n    --control-min-height: 3rem;\n    --control-padding-y: 0.5rem;\n    --control-padding-x: 1rem;\n    --control-font-size: 17.5px;\n    --control-line-height: 2;\n    --control-border-radius: var(--border-radius-lg);\n  }\n  .form-control-color {\n    width: 3rem;\n    height: 2.5rem;\n    padding: 0.375rem;\n  }\n  .form-control-color:not(:disabled):not([readonly]) {\n    cursor: pointer;\n  }\n  .form-control-color::-moz-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius);\n  }\n  .form-control-color::-webkit-color-swatch {\n    border: 0 !important;\n    border-radius: var(--border-radius);\n  }\n  .form-control-color.form-control-sm {\n    height: 2rem;\n  }\n  .form-control-color.form-control-lg {\n    height: 3rem;\n  }\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n  }\n  .form-ghost:focus {\n    outline: 0;\n  }\n  .form-ghost::placeholder {\n    color: var(--fg-3);\n    opacity: 1;\n  }\n  .form-ghost:disabled {\n    color: var(--fg-4);\n    cursor: not-allowed;\n  }\n}\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  b-checkgroup .description {\n    color: var(--secondary-text);\n  }\n  .check {\n    --check-bg: transparent;\n    --check-border-color: var(--border-color);\n    --check-checked-bg: var(--primary-base);\n    --check-checked-border-color: var(--primary-base);\n    --check-indeterminate-bg: var(--primary-base);\n    --check-indeterminate-border-color: var(--primary-base);\n    --check-disabled-bg: var(--bg-3);\n    --check-disabled-opacity: 0.65;\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: 0.125rem;\n  }\n  .check :where(svg, input) {\n    flex-shrink: 0;\n    grid-row-start: 1;\n    grid-column-start: 1;\n    width: 1rem;\n    height: 1rem;\n  }\n  .check :where(input) {\n    appearance: none;\n    background-color: var(--theme-bg, var(--check-bg));\n    border: 1px solid var(--theme-bg, var(--check-border-color));\n    border-radius: 0.25em;\n  }\n  .check :where(input:checked, input:indeterminate) {\n    background-color: var(--theme-bg, var(--check-checked-bg));\n    border-color: var(--theme-bg, var(--check-checked-border-color));\n  }\n  .check :where(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .check:has(input:checked) .checked, .check:has(input:indeterminate) .indeterminate {\n    display: block;\n    color: var(--primary-contrast);\n    stroke: currentcolor;\n  }\n  .check:has(input:disabled) {\n    --check-bg: var(--check-disabled-bg);\n  }\n  .check:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .check:has(input:disabled:checked) {\n    opacity: var(--check-disabled-opacity);\n  }\n  .check :where(svg) {\n    pointer-events: none;\n  }\n  .check :where(svg path) {\n    display: none;\n  }\n}\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--gap, 0.5rem);\n    align-items: var(--align-items, start);\n  }\n  b-radiogroup .description {\n    color: var(--secondary-text);\n  }\n  .radio {\n    --radio-bg: transparent;\n    --radio-border-color: var(--border-color);\n    --radio-checked-bg: var(--primary-base);\n    --radio-checked-border-color: var(--primary-base);\n    --radio-disabled-bg: var(--bg-3);\n    --radio-disabled-opacity: 0.65;\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: 0.125rem;\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    border-radius: 50%;\n  }\n  .radio:checked {\n    color: var(--theme-contrast, var(--primary-contrast));\n    background-color: var(--theme-bg, var(--radio-checked-bg));\n    border-color: var(--theme-bg, var(--radio-checked-border-color));\n  }\n  .radio:checked::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-color: currentcolor;\n    border-radius: 50%;\n  }\n  .radio:disabled {\n    --radio-bg: var(--radio-disabled-bg);\n  }\n  .radio:disabled ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .radio:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n@layer forms {\n  .switch {\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: .0625rem;\n    --switch-bg: var(--secondary-bg);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--primary-base);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--secondary-bg);\n    --switch-disabled-indicator-bg: var(--secondary-text);\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.05);\n    transition: 0.15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n  }\n  .switch::before {\n    flex-shrink: 0;\n    width: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    height: calc(var(--switch-height) - var(--switch-padding) * 2 - var(--switch-border-width) * 2);\n    content: \"\";\n    background-color: var(--switch-indicator-bg);\n    border-radius: 50%;\n    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);\n  }\n  .switch input {\n    position: absolute;\n    inset: 0;\n    appearance: none;\n    background-color: transparent;\n    outline: 0;\n  }\n  .switch:focus-within {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .switch:has(input:checked) {\n    padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n    background-color: var(--theme-bg, var(--switch-checked-bg));\n    border-color: var(--theme-bg, var(--switch-checked-border-color));\n  }\n  .switch:has(input:disabled) {\n    --switch-bg: var(--switch-disabled-bg);\n    --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n  }\n  .switch:has(input:disabled)::before {\n    opacity: 0.4;\n  }\n  .switch:has(input:disabled) ~ label {\n    color: var(--secondary-text);\n    cursor: default;\n  }\n  .switch-sm {\n    --switch-height: 1em;\n  }\n  .switch-lg {\n    --switch-height: 2em;\n  }\n}\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: calc(1rem + var(--focus-ring-width) * 2);\n    padding: 0;\n    appearance: none;\n    background-color: transparent;\n  }\n  .form-range:focus {\n    outline: 0;\n  }\n  .form-range:focus::-webkit-slider-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range:focus::-moz-range-thumb {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .form-range::-moz-focus-outer {\n    border: 0;\n  }\n  .form-range::-webkit-slider-thumb {\n    width: 1rem;\n    height: 1rem;\n    margin-top: -0.25rem;\n    appearance: none;\n    background-color: var(--primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-webkit-slider-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-webkit-slider-thumb:active {\n    background-color: tint-color(var(--primary-bg), 70%);\n  }\n  .form-range::-webkit-slider-runnable-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--box-shadow-inset);\n  }\n  .form-range::-moz-range-thumb {\n    width: 1rem;\n    height: 1rem;\n    appearance: none;\n    background-color: var(--primary-bg);\n    border: 0;\n    border-radius: 1rem;\n    box-shadow: 0 0.1rem 0.25rem rgba(0, 0, 0, 0.1);\n    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-range::-moz-range-thumb {\n      transition: none;\n    }\n  }\n  .form-range::-moz-range-thumb:active {\n    background-color: tint-color(var(--primary-bg), 70%);\n  }\n  .form-range::-moz-range-track {\n    width: 100%;\n    height: 0.5rem;\n    color: transparent;\n    cursor: pointer;\n    background-color: var(--secondary-bg);\n    border-color: transparent;\n    border-radius: 1rem;\n    box-shadow: var(--box-shadow-inset);\n  }\n  .form-range:disabled {\n    pointer-events: none;\n  }\n  .form-range:disabled::-webkit-slider-thumb {\n    background-color: var(--secondary-color);\n  }\n  .form-range:disabled::-moz-range-thumb {\n    background-color: var(--secondary-color);\n  }\n}\n@layer forms {\n  .form-floating {\n    position: relative;\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext,\n  .form-floating > .form-select {\n    height: calc(3.5rem + calc(var(--border-width) * 2));\n    min-height: calc(3.5rem + calc(var(--border-width) * 2));\n    line-height: 1.25;\n  }\n  .form-floating > label {\n    position: absolute;\n    inset-block-start: 0;\n    inset-inline-start: 0;\n    z-index: 2;\n    max-width: 100%;\n    height: 100%;\n    padding: 1rem 0.75rem;\n    overflow: hidden;\n    color: color-mix(in oklch, var(--body-color) 65%, transparent);\n    text-align: start;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n    pointer-events: none;\n    border: var(--border-width) solid transparent;\n    transform-origin: 0 0;\n    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-floating > label {\n      transition: none;\n    }\n  }\n  .form-floating > .form-control,\n  .form-floating > .form-control-plaintext {\n    padding: 1rem 0.75rem;\n  }\n  .form-floating > .form-control::placeholder,\n  .form-floating > .form-control-plaintext::placeholder {\n    color: transparent;\n  }\n  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n  .form-floating > .form-control-plaintext:focus,\n  .form-floating > .form-control-plaintext:not(:placeholder-shown) {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:-webkit-autofill,\n  .form-floating > .form-control-plaintext:-webkit-autofill {\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-select {\n    padding-inline-start: 0.75rem;\n    padding-top: 1.625rem;\n    padding-bottom: 0.625rem;\n  }\n  .form-floating > .form-control:focus ~ label,\n  .form-floating > .form-control:not(:placeholder-shown) ~ label,\n  .form-floating > .form-control-plaintext ~ label,\n  .form-floating > .form-select ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > .form-control:-webkit-autofill ~ label {\n    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n  }\n  .form-floating > textarea:focus ~ label::after,\n  .form-floating > textarea:not(:placeholder-shown) ~ label::after {\n    position: absolute;\n    inset: 1rem 0.375rem;\n    z-index: -1;\n    height: 1.5em;\n    content: \"\";\n    background-color: var(--bg-body);\n    border-radius: var(--border-radius);\n  }\n  .form-floating > textarea:disabled ~ label::after {\n    background-color: var(--secondary-bg);\n  }\n  .form-floating > .form-control-plaintext ~ label {\n    border-width: var(--border-width) 0;\n  }\n  .form-floating > :disabled ~ label,\n  .form-floating > .form-control:disabled ~ label {\n    color: var(--gray-600);\n  }\n}\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: stretch;\n    width: 100%;\n  }\n  .input-group > .form-control,\n  .input-group > .form-select,\n  .input-group > .form-floating {\n    position: relative;\n    flex: 1 1 auto;\n    width: 1%;\n    min-width: 0;\n  }\n  .input-group > .form-control:focus,\n  .input-group > .form-select:focus,\n  .input-group > .form-floating:focus-within {\n    z-index: 5;\n  }\n  .input-group .btn {\n    position: relative;\n    z-index: 2;\n  }\n  .input-group .btn:focus {\n    z-index: 5;\n  }\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: 0.375rem 0.75rem;\n    font-size: 14px;\n    line-height: 1.5;\n    color: var(--fg-body);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--tertiary-bg);\n    border: var(--border-width) solid var(--border-color);\n    border-radius: var(--border-radius);\n  }\n  .input-group-lg > .form-control,\n  .input-group-lg > .form-select,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    padding: 0.5rem 1rem;\n    font-size: 17.5px;\n    border-radius: var(--border-radius-lg);\n  }\n  .input-group-sm > .form-control,\n  .input-group-sm > .form-select,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    padding: 0.25rem 0.5rem;\n    font-size: 12.25px;\n    border-radius: var(--border-radius-sm);\n  }\n  .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n  .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .input-group > :not(:first-child):not(.dropdown-menu) {\n    margin-inline-start: calc(-1 * var(--border-width));\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .input-group > .form-floating:not(:first-child) > .form-control,\n  .input-group > .form-floating:not(:first-child) > .form-select {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n}\n@layer forms {\n  .strength {\n    --strength-height: 0.375rem;\n    --strength-gap: 0.25rem;\n    --strength-bg: var(--bg-2);\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-color: var(--bg-2);\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: 0.25rem;\n  }\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-segment {\n      transition: none;\n    }\n  }\n  .strength-segment.active {\n    background-color: var(--strength-color);\n  }\n  .strength[data-bs-strength=weak] {\n    --strength-color: var(--danger-bg);\n  }\n  .strength[data-bs-strength=fair] {\n    --strength-color: var(--warning-bg);\n  }\n  .strength[data-bs-strength=good] {\n    --strength-color: var(--info-bg);\n  }\n  .strength[data-bs-strength=strong] {\n    --strength-color: var(--success-bg);\n  }\n  .strength-text {\n    display: block;\n    margin-top: 0.25rem;\n    font-size: 0.875em;\n    color: var(--strength-color, var(--secondary-color));\n    transition: color 0.2s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-text {\n      transition: none;\n    }\n  }\n  .strength-text:empty {\n    display: none;\n  }\n  .strength-bar {\n    --strength-height: 0.375rem;\n    --strength-bg: var(--bg-2);\n    --strength-border-radius: var(--border-radius-pill);\n    --strength-color: transparent;\n    --strength-width: 0%;\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: 0.25rem;\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    border-radius: var(--strength-border-radius);\n  }\n  .strength-bar::after {\n    display: block;\n    width: var(--strength-width);\n    height: 100%;\n    content: \"\";\n    background-color: var(--strength-color);\n    border-radius: var(--strength-border-radius);\n    transition: background-color 0.2s ease-in-out, width 0.3s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .strength-bar::after {\n      transition: none;\n    }\n  }\n  .strength-bar[data-bs-strength=weak] {\n    --strength-color: var(--danger-bg);\n    --strength-width: 25%;\n  }\n  .strength-bar[data-bs-strength=fair] {\n    --strength-color: var(--warning-bg);\n    --strength-width: 50%;\n  }\n  .strength-bar[data-bs-strength=good] {\n    --strength-color: var(--info-bg);\n    --strength-width: 75%;\n  }\n  .strength-bar[data-bs-strength=strong] {\n    --strength-color: var(--success-bg);\n    --strength-width: 100%;\n  }\n}\n@layer forms {\n  .otp {\n    --otp-size: 3rem;\n    --otp-font-size: 17.5px;\n    --otp-gap: 0.5rem;\n    display: inline-flex;\n    gap: var(--otp-gap);\n  }\n  .otp .form-control {\n    width: var(--otp-size);\n    min-height: var(--otp-size);\n    padding: 0;\n    font-size: var(--otp-font-size);\n    font-weight: 500;\n    line-height: 1;\n    text-align: center;\n  }\n  .otp .form-control::-webkit-outer-spin-button, .otp .form-control::-webkit-inner-spin-button {\n    margin: 0;\n    appearance: none;\n  }\n  .otp .form-control[type=number] {\n    appearance: textfield;\n  }\n  .otp .form-control:focus, .otp .form-control:focus-visible {\n    z-index: 1;\n  }\n  .otp.is-valid .form-control, .was-validated .otp:valid .form-control {\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-valid .form-control:focus, .was-validated .otp:valid .form-control:focus {\n    --focus-ring-color: rgba(var(--success-rgb), .25);\n    border-color: var(--form-valid-border-color);\n  }\n  .otp.is-invalid .form-control, .was-validated .otp:invalid .form-control {\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.is-invalid .form-control:focus, .was-validated .otp:invalid .form-control:focus {\n    --focus-ring-color: rgba(var(--danger-rgb), .25);\n    border-color: var(--form-invalid-border-color);\n  }\n  .otp.input-group {\n    gap: 0;\n    width: auto;\n  }\n  .otp.input-group .form-control {\n    flex: 0 0 auto;\n  }\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n  .otp-sm {\n    --otp-size: 2.25rem;\n    --otp-font-size: 14px;\n  }\n  .otp-lg {\n    --otp-size: 3.5rem;\n    --otp-font-size: 21.875px;\n  }\n}\n@layer forms {\n  .form-adorn {\n    --control-min-height: 2.5rem;\n    --control-padding-y: 0.375rem;\n    --control-padding-x: 0.75rem;\n    --control-font-size: 14px;\n    --control-line-height: 1.5;\n    --control-color: var(--fg-body);\n    --control-bg: var(--bg-body);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --form-adorn-gap: 0.375rem;\n    --form-adorn-icon-size: 1rem;\n    --form-adorn-icon-color: var(--fg-2);\n    display: flex;\n    gap: var(--form-adorn-gap);\n    align-items: center;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n    box-shadow: var(--box-shadow-inset);\n    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .form-adorn {\n      transition: none;\n    }\n  }\n  .form-adorn:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--primary-border);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .form-adorn > .form-ghost {\n    flex: 1;\n    min-width: 0;\n  }\n  .form-adorn.form-adorn-end > .form-ghost {\n    order: -1;\n  }\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n  }\n  .form-adorn-icon > svg {\n    width: var(--form-adorn-icon-size);\n    height: var(--form-adorn-icon-size);\n  }\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n  .form-adorn-sm {\n    --control-min-height: 2rem;\n    --control-padding-y: 0.25rem;\n    --control-padding-x: 0.5rem;\n    --control-font-size: 12.25px;\n    --control-line-height: 1.25;\n    --control-border-radius: var(--border-radius-sm);\n  }\n  .form-adorn-lg {\n    --control-min-height: 3rem;\n    --control-padding-y: 0.5rem;\n    --control-padding-x: 1rem;\n    --control-font-size: 17.5px;\n    --control-line-height: 2;\n    --control-border-radius: var(--border-radius-lg);\n  }\n}\n@layer forms {\n  .chip-input {\n    --chip-input-padding-y: 0.75rem;\n    --chip-input-padding-x: 0.75rem;\n    --control-padding-x: 0.75rem;\n    --control-color: var(--fg-body);\n    --control-bg: var(--bg-body);\n    --control-border-width: var(--border-width);\n    --control-border-color: var(--border-color);\n    --control-border-radius: var(--border-radius);\n    --chip-input-gap: 0.375rem;\n    --chip-input-ghost-min-width: 5rem;\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    border-radius: var(--control-border-radius);\n  }\n  .chip-input:focus-within {\n    --focus-ring-offset: -1px;\n    border-color: var(--primary-border);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .chip-input > .form-ghost {\n    flex: 1 1 0;\n    min-width: var(--chip-input-ghost-min-width);\n    min-height: 1.75rem;\n  }\n  .chip-input.disabled, .chip-input:has(.form-ghost:disabled) {\n    background-color: var(--secondary-bg);\n    opacity: 1;\n  }\n  .chip-input.disabled > .chip, .chip-input:has(.form-ghost:disabled) > .chip {\n    opacity: 0.65;\n  }\n  .chip-input.disabled > .chip .chip-dismiss, .chip-input:has(.form-ghost:disabled) > .chip .chip-dismiss {\n    pointer-events: none;\n  }\n  .chip-input.disabled > .form-ghost, .chip-input:has(.form-ghost:disabled) > .form-ghost {\n    cursor: not-allowed;\n  }\n}\n@layer components {\n  .tooltip {\n    --tooltip-zindex: 1080;\n    --tooltip-max-width: 200px;\n    --tooltip-padding-x: 0.75rem;\n    --tooltip-padding-y: 0.375rem;\n    --tooltip-font-size: var(--font-size-sm);\n    --tooltip-color: var(--bg-body);\n    --tooltip-bg: var(--fg-body);\n    --tooltip-border-radius: var(--border-radius);\n    --tooltip-opacity: 0.95;\n    --tooltip-arrow-width: 0.8rem;\n    --tooltip-arrow-height: 0.4rem;\n    z-index: var(--tooltip-zindex);\n    display: block;\n    font-family: var(--font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--tooltip-font-size);\n    word-wrap: break-word;\n    opacity: 0;\n  }\n  .tooltip.show {\n    opacity: var(--tooltip-opacity);\n  }\n  .tooltip .tooltip-arrow {\n    display: block;\n    width: var(--tooltip-arrow-width);\n    height: var(--tooltip-arrow-height);\n  }\n  .tooltip .tooltip-arrow::before {\n    position: absolute;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n  }\n  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=top] .tooltip-arrow::before {\n    top: -1px;\n    border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-block-start-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=right] .tooltip-arrow::before {\n    right: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * 0.5) 0;\n    border-inline-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n  }\n  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=bottom] .tooltip-arrow::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-block-end-color: var(--tooltip-bg);\n  }\n  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n  }\n  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-bs-placement^=left] .tooltip-arrow::before {\n    left: -1px;\n    border-width: calc(var(--tooltip-arrow-width) * 0.5) 0 calc(var(--tooltip-arrow-width) * 0.5) var(--tooltip-arrow-height);\n    border-inline-start-color: var(--tooltip-bg);\n  }\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    border-radius: var(--tooltip-border-radius);\n  }\n}\n@layer forms {\n  .valid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--form-valid-color);\n  }\n  .valid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: #fff;\n    background-color: var(--success);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :valid ~ .valid-feedback,\n  .was-validated :valid ~ .valid-tooltip,\n  .is-valid ~ .valid-feedback,\n  .is-valid ~ .valid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:valid, .form-control.is-valid {\n    border-color: var(--form-valid-border-color);\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='var%28--success%29' d='M2.3 6.73.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.1'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n    border-color: var(--form-valid-border-color);\n    box-shadow: var(--box-shadow-inset);\n  }\n  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:valid, .form-control-color.is-valid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:valid, .form-check-input.is-valid {\n    border-color: var(--form-valid-border-color);\n  }\n  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n    background-color: var(--form-valid-color);\n  }\n  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n    color: var(--form-valid-color);\n  }\n  .form-check-inline .form-check-input ~ .valid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n  .was-validated .input-group > .form-select:not(:focus):valid,\n  .input-group > .form-select:not(:focus).is-valid,\n  .was-validated .input-group > .form-floating:not(:focus-within):valid,\n  .input-group > .form-floating:not(:focus-within).is-valid {\n    z-index: 3;\n  }\n  .invalid-feedback {\n    display: none;\n    width: 100%;\n    margin-top: 0.5rem;\n    font-size: 12.25px;\n    color: var(--form-invalid-color);\n  }\n  .invalid-tooltip {\n    position: absolute;\n    top: 100%;\n    z-index: 5;\n    display: none;\n    max-width: 100%;\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    margin-top: 0.1rem;\n    font-size: var(--tooltip-font-size);\n    color: #fff;\n    background-color: var(--danger);\n    border-radius: var(--tooltip-border-radius);\n  }\n  .was-validated :invalid ~ .invalid-feedback,\n  .was-validated :invalid ~ .invalid-tooltip,\n  .is-invalid ~ .invalid-feedback,\n  .is-invalid ~ .invalid-tooltip {\n    display: block;\n  }\n  .was-validated .form-control:invalid, .form-control.is-invalid {\n    border-color: var(--form-invalid-border-color);\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='var%28--danger%29'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='var%28--danger%29' stroke='none'/%3e%3c/svg%3e\");\n    background-repeat: no-repeat;\n    background-position: right add(0.375em, 0.1875rem) center;\n    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);\n  }\n  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n    border-color: var(--form-invalid-border-color);\n    box-shadow: var(--box-shadow-inset);\n  }\n  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n    padding-inline-end: add(1.5em, 0.75rem);\n    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);\n  }\n  .was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n    width: add(3rem, add(1.5em, 0.75rem));\n  }\n  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n    border-color: var(--form-invalid-border-color);\n  }\n  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n    background-color: var(--form-invalid-color);\n  }\n  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n    color: var(--form-invalid-color);\n  }\n  .form-check-inline .form-check-input ~ .invalid-feedback {\n    margin-inline-start: 0.5em;\n  }\n  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n  .was-validated .input-group > .form-select:not(:focus):invalid,\n  .input-group > .form-select:not(:focus).is-invalid,\n  .was-validated .input-group > .form-floating:not(:focus-within):invalid,\n  .input-group > .form-floating:not(:focus-within).is-invalid {\n    z-index: 4;\n  }\n}\n@layer components {\n  .btn,\n  .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n    --btn-min-height: 2.25rem;\n    --btn-padding-x: 0.75rem;\n    --btn-padding-y: 0.375rem;\n    --btn-font-size: var(--font-size-base);\n    --btn-font-weight: var(--font-weight-normal);\n    --btn-line-height: var(--line-height-base);\n    --btn-color: var(--fg-body);\n    --btn-border-width: var(--border-width);\n    --btn-border-color: transparent;\n    --btn-border-radius: var(--border-radius);\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: 0.65;\n    display: inline-flex;\n    gap: var(--btn-gap, 0.25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    vertical-align: middle;\n    cursor: pointer;\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    border-radius: var(--btn-border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .btn,\n    .btn-solid, .btn-outline, .btn-subtle, .btn-text {\n      transition: none;\n    }\n  }\n  .btn:hover,\n  .btn-solid:hover, .btn-outline:hover, .btn-subtle:hover, .btn-text:hover {\n    color: var(--btn-hover-color);\n    background-color: var(--btn-hover-bg, var(--bg-3));\n    border-color: var(--btn-hover-border-color);\n  }\n  .btn:focus-visible,\n  .btn-solid:focus-visible, .btn-outline:focus-visible, .btn-subtle:focus-visible, .btn-text:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn.active, .btn.show,\n  .btn-solid.active,\n  .btn-solid.show, .btn-outline.active, .btn-outline.show, .btn-subtle.active, .btn-subtle.show, .btn-text.active, .btn-text.show {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n  }\n  .btn.active:focus-visible, .btn.show:focus-visible,\n  .btn-solid.active:focus-visible,\n  .btn-solid.show:focus-visible, .btn-outline.active:focus-visible, .btn-outline.show:focus-visible, .btn-subtle.active:focus-visible, .btn-subtle.show:focus-visible, .btn-text.active:focus-visible, .btn-text.show:focus-visible {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .btn:disabled, .btn.disabled, fieldset:disabled .btn,\n  .btn-solid:disabled,\n  .btn-solid.disabled,\n  fieldset:disabled .btn-solid, .btn-outline:disabled, .btn-outline.disabled, fieldset:disabled .btn-outline, .btn-subtle:disabled, .btn-subtle.disabled, fieldset:disabled .btn-subtle, .btn-text:disabled, .btn-text.disabled, fieldset:disabled .btn-text {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n  }\n  .btn-solid {\n    --btn-bg: var(--theme-bg);\n    --btn-color: var(--theme-contrast);\n    --btn-border-color: var(--theme-bg);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-solid:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-solid:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-solid:active, .btn-solid.active, .btn-solid.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-solid:disabled, .btn-solid.disabled, .btn-solid.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg);\n    --btn-disabled-color: var(--theme-contrast);\n    --btn-disabled-border-color: var(--theme-bg);\n  }\n  .btn-outline {\n    --btn-bg: transparent;\n    --btn-color: var(--theme-text);\n    --btn-border-color: var(--theme-border);\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-outline:hover {\n    --btn-hover-bg: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-color: oklch(from var(--theme-contrast) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-border-color: oklch(from var(--theme-bg) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-outline:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-outline:active, .btn-outline.active, .btn-outline.btn-check:has(input:checked) {\n    --btn-active-bg: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-color: oklch(from var(--theme-contrast) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-border-color: oklch(from var(--theme-bg) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-outline:disabled, .btn-outline.disabled, .btn-outline.btn-check:has(input:disabled) {\n    --btn-disabled-bg: transparent;\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: var(--theme-border);\n  }\n  .btn-subtle {\n    --btn-bg: var(--theme-bg-subtle);\n    --btn-color: var(--theme-text);\n    --btn-border-color: transparent;\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-subtle:hover {\n    --btn-hover-bg: color-mix(in oklch, var(--theme-bg-muted) 50%, var(--theme-bg-subtle));\n    --btn-hover-color: oklch(from var(--theme-text-emphasis) calc(l * .95) calc(c * 1.1) h);\n  }\n  .btn-subtle:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-subtle:active, .btn-subtle.active, .btn-subtle.btn-check:has(input:checked) {\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-active-color: oklch(from var(--theme-text-emphasis) calc(l * .9) calc(c * 1.15) h);\n  }\n  .btn-subtle:disabled, .btn-subtle.disabled, .btn-subtle.btn-check:has(input:disabled) {\n    --btn-disabled-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text {\n    --btn-color: var(--theme-text);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-text:hover {\n    --btn-hover-color: oklch(from var(--theme-text) calc(l * .95) calc(c * 1.1) h);\n    --btn-hover-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:focus-visible {\n    outline-color: var(--theme-focus-ring);\n  }\n  .btn-text:active, .btn-text.active, .btn-text.btn-check:has(input:checked) {\n    --btn-active-color: oklch(from var(--theme-text) calc(l * .9) calc(c * 1.15) h);\n    --btn-active-bg: var(--theme-bg-subtle);\n  }\n  .btn-text:disabled, .btn-text.disabled, .btn-text.btn-check:has(input:disabled) {\n    --btn-disabled-color: var(--theme-text);\n    --btn-disabled-bg: transparent;\n    --btn-disabled-border-color: transparent;\n  }\n  .btn-link {\n    --btn-font-weight: 400;\n    --btn-color: var(--link-color);\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: var(--link-hover-color);\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: var(--link-hover-color);\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: var(--fg-3);\n    --btn-disabled-border-color: transparent;\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n  }\n  .btn-link:focus-visible {\n    color: var(--theme-text, var(--btn-color));\n  }\n  .btn-link:hover {\n    color: var(--theme-text-emphasis, var(--btn-hover-color));\n  }\n  .btn-xs,\n  .btn-group-xs > [class*=btn-] {\n    --btn-min-height: 1.5rem;\n    --btn-padding-y: 0.125rem;\n    --btn-padding-x: 0.375rem;\n    --btn-font-size: var(--font-size-xs);\n    --btn-line-height: 1.125rem;\n    --btn-border-radius: var(--border-radius-sm);\n  }\n  .btn-sm,\n  .btn-group-sm > [class*=btn-] {\n    --btn-min-height: 2rem;\n    --btn-padding-y: 0.25rem;\n    --btn-padding-x: 0.5rem;\n    --btn-font-size: var(--font-size-sm);\n    --btn-line-height: 1.125rem;\n    --btn-border-radius: var(--border-radius-sm);\n  }\n  .btn-lg,\n  .btn-group-lg > [class*=btn-] {\n    --btn-min-height: 2.75rem;\n    --btn-padding-y: 0.5rem;\n    --btn-padding-x: 1rem;\n    --btn-font-size: var(--font-size-md);\n    --btn-line-height: 1.25rem;\n    --btn-border-radius: var(--border-radius-lg);\n  }\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n  .btn-check > input {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n  }\n  .btn-check:has(input:checked) {\n    color: var(--btn-active-color);\n    background-color: var(--btn-active-bg, var(--bg-3));\n    border-color: var(--btn-active-border-color);\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-check:has(input:focus-visible) {\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    --focus-ring-offset: 1px;\n  }\n  .btn-check:has(input:disabled) {\n    color: var(--btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--btn-disabled-bg, var(--bg-1));\n    border-color: var(--btn-disabled-border-color);\n    opacity: var(--btn-disabled-opacity);\n    box-shadow: none;\n  }\n  .btn-styled {\n    --btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n  }\n  .btn-styled:hover {\n    background-image: linear-gradient(to bottom, var(--btn-gradient-start), var(--btn-gradient-end));\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n  }\n  .btn-styled:active, .btn-styled.active {\n    background-image: none;\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n    box-shadow: var(--btn-active-shadow);\n  }\n  .btn-styled:disabled, .btn-styled.disabled {\n    background-image: none;\n    box-shadow: none;\n  }\n}\n@layer components {\n  .btn-group,\n  .btn-group-vertical {\n    position: relative;\n    display: inline-flex;\n    vertical-align: middle;\n  }\n  .btn-group > [class*=btn-],\n  .btn-group-vertical > [class*=btn-] {\n    position: relative;\n    flex: 1 1 auto;\n  }\n  .btn-group > [class*=btn-]:hover,\n  .btn-group-vertical > [class*=btn-]:hover {\n    z-index: 1;\n  }\n  .btn-group > .btn-check:has(input:checked),\n  .btn-group > [class*=btn-]:active,\n  .btn-group > [class*=btn-].active,\n  .btn-group-vertical > .btn-check:has(input:checked),\n  .btn-group-vertical > [class*=btn-]:active,\n  .btn-group-vertical > [class*=btn-].active {\n    z-index: 2;\n  }\n  .btn-group > .btn-check:has(input:focus),\n  .btn-group > [class*=btn-]:focus,\n  .btn-group-vertical > .btn-check:has(input:focus),\n  .btn-group-vertical > [class*=btn-]:focus {\n    z-index: 3;\n  }\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 0.5rem;\n    justify-content: flex-start;\n  }\n  .btn-toolbar .input-group {\n    width: auto;\n  }\n  .btn-group {\n    border-radius: var(--border-radius);\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) {\n    margin-inline-start: calc(-1 * var(--border-width));\n  }\n  .btn-group > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group > .btn-group:not(:last-child) > [class*=btn-] {\n    border-start-end-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group > [class*=btn-]:not(:first-child),\n  .btn-group > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .dropdown-toggle-split {\n    padding-inline: 0.5625rem;\n  }\n  .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n    margin-inline-start: 0;\n  }\n  .dropstart .dropdown-toggle-split::before {\n    margin-inline-end: 0;\n  }\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: 0.375rem;\n  }\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: 0.75rem;\n  }\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n  }\n  .btn-group-vertical > [class*=btn-],\n  .btn-group-vertical > .btn-group {\n    width: 100%;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * var(--border-width));\n  }\n  .btn-group-vertical > [class*=btn-]:not(:last-child):not(.dropdown-toggle),\n  .btn-group-vertical > .btn-group:not(:last-child) > [class*=btn-] {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .btn-group-vertical > [class*=btn-]:not(:first-child),\n  .btn-group-vertical > .btn-group:not(:first-child) > [class*=btn-] {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n}\n@layer components {\n  .btn-close {\n    --btn-close-size: 1.25rem;\n    --btn-close-color: var(--fg-body);\n    --btn-close-opacity: 0.5;\n    --btn-close-hover-opacity: 0.75;\n    --btn-close-focus-opacity: 0.85;\n    --btn-close-disabled-opacity: 0.25;\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0;\n    border-radius: var(--border-radius-sm);\n    opacity: var(--btn-close-opacity);\n  }\n  .btn-close > svg {\n    display: block;\n    width: 100%;\n    height: 100%;\n    fill: currentcolor;\n  }\n  .btn-close:hover {\n    color: var(--btn-close-color);\n    text-decoration: none;\n    opacity: var(--btn-close-hover-opacity);\n  }\n  .btn-close:focus {\n    outline: var(--focus-ring);\n    opacity: var(--btn-close-focus-opacity);\n  }\n  .btn-close:disabled, .btn-close.disabled {\n    pointer-events: none;\n    user-select: none;\n    opacity: var(--btn-close-disabled-opacity);\n  }\n}\n@layer components {\n  .accordion {\n    --accordion-padding-x: 1.25rem;\n    --accordion-padding-y: 1rem;\n    --accordion-color: var(--fg-body);\n    --accordion-bg: var(--bg-body);\n    --accordion-transition-property: color, background-color, border-radius;\n    --accordion-transition-timing: .15s ease-in-out;\n    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing);\n    --accordion-border-color: var(--border-color);\n    --accordion-border-width: var(--border-width);\n    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));\n    --accordion-btn-color: var(--fg-2);\n    --accordion-btn-bg: var(--bg-body);\n    --accordion-btn-icon-width: 1rem;\n    --accordion-btn-icon-transform: rotate(-180deg);\n    --accordion-btn-icon-transition: transform 0.2s ease-in-out;\n    --accordion-active-color: var(--fg);\n    --accordion-active-bg: var(--bg-2);\n  }\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none;\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    transition: var(--accordion-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header {\n      transition: none;\n    }\n  }\n  .accordion-header .accordion-icon {\n    flex-shrink: 0;\n    width: var(--accordion-btn-icon-width);\n    height: var(--accordion-btn-icon-width);\n    margin-inline-start: auto;\n    color: currentcolor;\n    transition: var(--accordion-btn-icon-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .accordion-header .accordion-icon {\n      transition: none;\n    }\n  }\n  .accordion-header:hover {\n    z-index: 2;\n  }\n  .accordion-header:focus-visible {\n    position: relative;\n    z-index: 3;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n    outline-offset: -1px;\n  }\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n  }\n  .accordion-item:first-of-type {\n    border-start-start-radius: var(--accordion-border-radius);\n    border-start-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:first-of-type > .accordion-header {\n    border-start-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-start-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:not(:first-of-type) {\n    border-block-start: 0;\n  }\n  .accordion-item:last-of-type {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item:last-of-type > .accordion-header {\n    border-end-start-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n    border-end-end-radius: calc(var(--accordion-border-radius) - var(--accordion-border-width));\n  }\n  .accordion-item:last-of-type > .accordion-body {\n    border-end-start-radius: var(--accordion-border-radius);\n    border-end-end-radius: var(--accordion-border-radius);\n  }\n  .accordion-item[open] {\n    border-color: var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header {\n    color: var(--theme-text, var(--accordion-active-color));\n    background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n    box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n  }\n  .accordion-item[open] > .accordion-header .accordion-icon {\n    transform: var(--accordion-btn-icon-transform);\n  }\n  .accordion-item[open]:last-of-type > .accordion-header {\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n  .accordion-flush > .accordion-item {\n    border-inline: 0;\n    border-radius: 0;\n  }\n  .accordion-flush > .accordion-item:first-child {\n    border-block-start: 0;\n  }\n  .accordion-flush > .accordion-item:last-child {\n    border-block-end: 0;\n  }\n  .accordion-flush > .accordion-item > .accordion-header,\n  .accordion-flush > .accordion-item > .accordion-body {\n    border-radius: 0;\n  }\n}\n@layer components {\n  .alert {\n    --alert-gap: 0.75rem;\n    --alert-bg: var(--theme-bg-subtle, var(--bg-1));\n    --alert-padding-x: 1rem;\n    --alert-padding-y: 1rem;\n    --alert-color: var(--theme-text, inherit);\n    --alert-border-color: var(--theme-border, var(--border-color));\n    --alert-border: var(--border-width) solid var(--alert-border-color);\n    --alert-border-radius: var(--border-radius);\n    --alert-link-color: inherit;\n    --hr-border-color: var(--theme-border, var(--border-color));\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    border-radius: var(--alert-border-radius);\n  }\n  .alert-heading {\n    color: inherit;\n  }\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n@layer components {\n  .avatar {\n    --avatar-size: 2.5rem;\n    --avatar-border-radius: 50%;\n    --avatar-border-width: 2px;\n    --avatar-border-color: var(--bg-body);\n    --avatar-bg: var(--bg-2);\n    --avatar-color: var(--fg-body);\n    --avatar-status-size: 0.75rem;\n    --avatar-status-border-width: 2px;\n    --avatar-status-border-color: var(--bg-body);\n    --avatar-stack-spacing: -0.3;\n    --avatar-stack-transition: transform .2s ease-in-out;\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * 0.4);\n    font-weight: 500;\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    border-radius: var(--avatar-border-radius);\n  }\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    border-radius: inherit;\n  }\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    border-radius: 50%;\n  }\n  .avatar-status.status-online {\n    background-color: var(--green-500);\n  }\n  .avatar-status.status-offline {\n    background-color: var(--gray-400);\n    border-radius: 20%;\n  }\n  .avatar-status.status-busy {\n    background-color: var(--red-500);\n    border-radius: 20%;\n  }\n  .avatar-status.status-away {\n    background-color: var(--yellow-500);\n  }\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n  }\n  .avatar-stack .avatar {\n    margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n    border: var(--avatar-border-width) solid var(--avatar-border-color);\n    mask-image: none;\n    transition: var(--avatar-stack-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .avatar-stack .avatar {\n      transition: none;\n    }\n  }\n  .avatar-stack .avatar:last-child {\n    margin-left: 0;\n  }\n  .avatar-stack .avatar:hover {\n    z-index: 1;\n    transform: translateY(-2px);\n  }\n  .avatar-xs,\n  .avatar-stack-xs {\n    --avatar-size: 1.5rem;\n    --avatar-status-size: 0.625rem;\n  }\n  .avatar-sm,\n  .avatar-stack-sm {\n    --avatar-size: 2rem;\n  }\n  .avatar-lg,\n  .avatar-stack-lg {\n    --avatar-size: 3rem;\n    --avatar-status-size: 1rem;\n  }\n  .avatar-xl,\n  .avatar-stack-xl {\n    --avatar-size: 4rem;\n    --avatar-status-size: 1.25rem;\n  }\n}\n@layer components {\n  .badge {\n    --badge-padding-x: 0.625em;\n    --badge-padding-y: 0.25em;\n    --badge-font-size: clamp(12px, 0.75em, 0.75em);\n    --badge-font-weight: var(--font-weight-semibold);\n    --badge-color: inherit;\n    --badge-bg: var(--bg-2);\n    --badge-border-width: var(--border-width);\n    --badge-border-color: transparent;\n    --badge-border-radius: var(--border-radius-lg);\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    border-radius: var(--badge-border-radius);\n  }\n  .badge:empty {\n    display: none;\n  }\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n  .badge-subtle {\n    --badge-color: var(--theme-text);\n    --badge-bg: var(--theme-bg-subtle);\n    --badge-border-color: transparent;\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n  .badge-outline {\n    --badge-color: var(--theme-text);\n    --badge-bg: transparent;\n    --badge-border-color: var(--theme-border);\n    color: var(--badge-color);\n    background-color: var(--badge-bg);\n    border-color: var(--badge-border-color);\n  }\n}\n@layer components {\n  .breadcrumb {\n    --breadcrumb-margin-bottom: 1rem;\n    --breadcrumb-font-size: inherit;\n    --breadcrumb-bg: transparent;\n    --breadcrumb-border-radius: var(--border-radius);\n    --breadcrumb-divider-color: var(--fg-4);\n    --breadcrumb-link-padding-x: 0.75rem;\n    --breadcrumb-link-padding-y: 0.25rem;\n    --breadcrumb-link-color: var(--fg-3);\n    --breadcrumb-link-hover-color: var(--fg-2);\n    --breadcrumb-link-hover-bg: var(--bg-1);\n    --breadcrumb-link-active-color: var(--fg-1);\n    --breadcrumb-link-border-radius: var(--border-radius-lg);\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    border-radius: var(--breadcrumb-border-radius);\n  }\n  .breadcrumb-item {\n    display: flex;\n  }\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    border-radius: var(--breadcrumb-link-border-radius);\n    transition: 0.1s text-decoration-color ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .breadcrumb-link {\n      transition: none;\n    }\n  }\n  .breadcrumb-link:hover {\n    z-index: 2;\n    color: var(--breadcrumb-link-hover-color);\n    background-color: var(--breadcrumb-link-hover-bg);\n  }\n  .breadcrumb-link.active {\n    color: var(--breadcrumb-link-active-color);\n  }\n}\n@layer components {\n  .chip {\n    --chip-height: 1.75rem;\n    --chip-padding-x: 0.625rem;\n    --chip-gap: 0.3125rem;\n    --chip-border-radius: var(--border-radius-pill);\n    --chip-img-size: 1.25rem;\n    --chip-icon-size: 1rem;\n    --chip-dismiss-size: 1rem;\n    --chip-dismiss-opacity: 0.65;\n    --chip-dismiss-hover-opacity: 1;\n    --chip-color: var(--theme-text, var(--fg-body));\n    --chip-bg: var(--theme-bg-subtle, var(--bg-2));\n    --chip-border-color: transparent;\n    --chip-selected-color: var(--theme-contrast, var(--primary-contrast));\n    --chip-selected-bg: var(--theme-bg, var(--primary-bg));\n    --chip-selected-border-color: var(--theme-bg, var(--primary-bg));\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    border-radius: var(--chip-border-radius);\n  }\n  .chip:hover {\n    --chip-bg: var(--theme-bg-muted, var(--bg-3));\n  }\n  .chip:focus-visible {\n    outline: 0;\n  }\n  .chip.active {\n    --chip-color: var(--chip-selected-color);\n    --chip-bg: var(--chip-selected-bg);\n    --chip-border-color: var(--chip-selected-border-color);\n  }\n  .chip.active:hover {\n    --chip-bg: var(--chip-selected-bg);\n    opacity: 0.9;\n  }\n  .chip.disabled, .chip:disabled {\n    pointer-events: none;\n    opacity: 0.65;\n  }\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    border-radius: 50%;\n  }\n  .chip-img:first-child {\n    margin-inline-start: -0.375rem;\n  }\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -0.25);\n  }\n  .chip-icon > svg {\n    display: block;\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n  }\n  .chip-icon > img {\n    width: var(--chip-icon-size);\n    height: var(--chip-icon-size);\n    object-fit: cover;\n    border-radius: 50%;\n  }\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    margin-inline-end: calc(var(--chip-padding-x) * -0.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n  }\n  .chip-dismiss:hover {\n    opacity: var(--chip-dismiss-hover-opacity);\n  }\n  .chip-dismiss:focus-visible {\n    outline: 0;\n    opacity: 1;\n    outline: var(--focus-ring);\n  }\n  .chip-dismiss > svg {\n    display: block;\n    width: var(--chip-dismiss-size);\n    height: var(--chip-dismiss-size);\n  }\n}\n@layer components {\n  .card {\n    --card-spacer-y: 1rem;\n    --card-spacer-x: 1rem;\n    --card-subtitle-color: inherit;\n    --card-border-width: var(--border-width);\n    --card-border-color: var(--border-color-translucent);\n    --card-border-radius: var(--border-radius-lg);\n    --card-box-shadow: none;\n    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --card-cap-padding-y: 0.75rem;\n    --card-cap-padding-x: 1rem;\n    --card-cap-bg: var(--bg-1);\n    --card-cap-color: inherit;\n    --card-height: auto;\n    --card-color: inherit;\n    --card-bg: var(--bg-body);\n    --card-img-overlay-padding: 1rem;\n    --card-group-margin: 0.75rem;\n    --card-body-gap: 0.5rem;\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0;\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    box-shadow: var(--card-box-shadow);\n  }\n  .card > hr {\n    margin-inline: 0;\n  }\n  .card-body {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body > * {\n    margin-block: 0;\n  }\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n  }\n  .card-body:first-child,\n  .card-list:first-child {\n    border-start-start-radius: var(--card-border-radius);\n    border-start-end-radius: var(--card-border-radius);\n    border-top-width: var(--card-border-width);\n  }\n  .card-body:last-child,\n  .card-list:last-child {\n    border-end-start-radius: var(--card-border-radius);\n    border-end-end-radius: var(--card-border-radius);\n    border-bottom-width: var(--card-border-width);\n  }\n  .card-body:not(:first-child):not(:last-child),\n  .card-list:not(:first-child):not(:last-child) {\n    border-block-end-width: var(--card-border-width);\n  }\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -0.5);\n  }\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0;\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-header:first-child {\n    border-radius: var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0;\n  }\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n  }\n  .card-footer:last-child {\n    border-radius: 0 0 var(--card-inner-border-radius) var(--card-inner-border-radius);\n  }\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-header {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-footer {\n    color: var(--theme-text-emphasis, currentcolor);\n    background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .card-subtle .card-body,\n  .card-subtle .card-list {\n    border-color: var(--theme-border, var(--card-border-color));\n  }\n  .nav.card-header-tabs {\n    margin-inline: calc(-0.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n  }\n  .nav.card-header-tabs .nav-link.active {\n    background-color: var(--card-bg);\n    border-block-end-color: var(--card-bg);\n  }\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    border-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%;\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n  .card-img,\n  .card-img-top {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-start-end-radius: var(--card-inner-border-radius);\n  }\n  .card-img,\n  .card-img-bottom {\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-row {\n    flex-direction: row;\n  }\n  .card-row .card-body,\n  .card-row .card-list {\n    border-width: var(--card-border-width) 0;\n    border-radius: 0;\n  }\n  .card-row .card-body:first-child,\n  .card-row .card-list:first-child {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n    border-inline-start-width: var(--card-border-width);\n  }\n  .card-row .card-body:last-child,\n  .card-row .card-list:last-child {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-row .card-body:not(:first-child):not(:last-child),\n  .card-row .card-list:not(:first-child):not(:last-child) {\n    border-inline-end-width: var(--card-border-width);\n  }\n  .card-img-start {\n    border-start-start-radius: var(--card-inner-border-radius);\n    border-end-start-radius: var(--card-inner-border-radius);\n  }\n  .card-img-end {\n    border-start-end-radius: var(--card-inner-border-radius);\n    border-end-end-radius: var(--card-inner-border-radius);\n  }\n  .card-group > .card {\n    margin-bottom: var(--card-group-margin);\n  }\n  @media (width >= 576px) {\n    .card-group {\n      display: flex;\n      flex-flow: row wrap;\n    }\n    .card-group > .card {\n      flex: 1 0 0;\n      margin-bottom: 0;\n    }\n    .card-group > .card + .card {\n      margin-inline-start: 0;\n      border-inline-start: 0;\n    }\n    .card-group > .card:not(:last-child) {\n      border-start-end-radius: 0;\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-top,\n    .card-group > .card:not(:last-child) > .card-header {\n      border-start-end-radius: 0;\n    }\n    .card-group > .card:not(:last-child) > .card-img-bottom,\n    .card-group > .card:not(:last-child) > .card-footer {\n      border-end-end-radius: 0;\n    }\n    .card-group > .card:not(:first-child) {\n      border-start-start-radius: 0;\n      border-end-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-top,\n    .card-group > .card:not(:first-child) > .card-header {\n      border-start-start-radius: 0;\n    }\n    .card-group > .card:not(:first-child) > .card-img-bottom,\n    .card-group > .card:not(:first-child) > .card-footer {\n      border-end-start-radius: 0;\n    }\n  }\n}\n@layer components {\n  .carousel {\n    position: relative;\n    --carousel-control-color: #fff;\n    --carousel-control-width: 15%;\n    --carousel-control-opacity: 0.5;\n    --carousel-control-hover-opacity: 0.9;\n    --carousel-control-transition: opacity 0.15s ease;\n    --carousel-control-icon-filter: none;\n    --carousel-indicator-width: 30px;\n    --carousel-indicator-height: 3px;\n    --carousel-indicator-hit-area-height: 10px;\n    --carousel-indicator-spacer: 3px;\n    --carousel-indicator-opacity: 0.5;\n    --carousel-indicator-active-bg: var(--white);\n    --carousel-indicator-active-opacity: 1;\n    --carousel-indicator-transition: opacity 0.6s ease;\n    --carousel-caption-width: 70%;\n    --carousel-caption-color: var(--white);\n    --carousel-caption-padding-y: 1.25rem;\n    --carousel-caption-spacer: 1.25rem;\n    --carousel-control-icon-width: 2rem;\n    --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\");\n    --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\");\n    --carousel-transition-duration: 0.6s;\n    --carousel-transition: transform 0.6s ease-in-out;\n  }\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    transition: var(--carousel-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-item {\n      transition: none;\n    }\n  }\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n  .carousel-fade .carousel-item {\n    opacity: 0;\n    transition-property: opacity;\n    transform: none;\n  }\n  .carousel-fade .carousel-item.active,\n  .carousel-fade .carousel-item-next.carousel-item-start,\n  .carousel-fade .carousel-item-prev.carousel-item-end {\n    z-index: 1;\n    opacity: 1;\n  }\n  .carousel-fade .active.carousel-item-start,\n  .carousel-fade .active.carousel-item-end {\n    z-index: 0;\n    opacity: 0;\n    transition: opacity 0s var(--carousel-transition-duration);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-fade .active.carousel-item-start,\n    .carousel-fade .active.carousel-item-end {\n      transition: none;\n    }\n  }\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    transition: var(--carousel-control-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-control-prev,\n    .carousel-control-next {\n      transition: none;\n    }\n  }\n  .carousel-control-prev:hover, .carousel-control-prev:focus,\n  .carousel-control-next:hover,\n  .carousel-control-next:focus {\n    color: var(--carousel-control-color);\n    text-decoration: none;\n    outline: 0;\n    opacity: var(--carousel-control-hover-opacity);\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n  }\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  [dir=rtl] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n  [dir=rtl] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n  }\n  .carousel-indicators [data-bs-target] {\n    box-sizing: content-box;\n    flex: 0 1 auto;\n    width: var(--carousel-indicator-width);\n    height: var(--carousel-indicator-height);\n    padding: 0;\n    margin-inline: var(--carousel-indicator-spacer);\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--carousel-indicator-active-bg);\n    background-clip: padding-box;\n    border: 0;\n    border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n    opacity: var(--carousel-indicator-opacity);\n    transition: var(--carousel-indicator-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .carousel-indicators [data-bs-target] {\n      transition: none;\n    }\n  }\n  .carousel-indicators .active {\n    opacity: var(--carousel-indicator-active-opacity);\n  }\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * 0.5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * 0.5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n  .carousel-dark {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n  [data-bs-theme=dark] {\n    --carousel-indicator-active-bg: #000;\n    --carousel-caption-color: #000;\n    --carousel-control-icon-filter: invert(1) grayscale(100);\n  }\n}\n@layer components {\n  [data-vc=calendar] {\n    --datepicker-padding: 1rem;\n    --datepicker-bg: var(--bg-body);\n    --datepicker-color: var(--fg-body);\n    --datepicker-border-color: var(--border-color-translucent);\n    --datepicker-border-width: var(--border-width);\n    --datepicker-border-radius: var(--border-radius-lg);\n    --datepicker-box-shadow: var(--box-shadow);\n    --datepicker-font-size: var(--font-size-sm);\n    --datepicker-min-width: 280px;\n    --datepicker-zindex: 1000;\n    --datepicker-header-font-weight: 600;\n    --datepicker-weekday-color: var(--fg-3);\n    --datepicker-day-hover-bg: var(--bg-1);\n    --datepicker-day-selected-bg: var(--primary-bg);\n    --datepicker-day-selected-color: var(--primary-contrast);\n    --datepicker-day-today-bg: var(--bg-2);\n    --datepicker-day-today-color: var(--fg-1);\n    --datepicker-day-disabled-color: var(--fg-4);\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    border-radius: var(--datepicker-border-radius);\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n  }\n  [data-vc=calendar][data-bs-theme=light] {\n    color-scheme: light;\n  }\n  [data-vc=calendar][data-bs-theme=dark] {\n    color-scheme: dark;\n  }\n  [data-vc=calendar] button:focus-visible {\n    position: relative;\n    z-index: 1;\n    outline: var(--focus-ring);\n  }\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n  [data-vc=calendar]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n  [data-vc-position=bottom] {\n    margin-block-start: 0.25rem;\n  }\n  [data-vc-position=top] {\n    margin-block-end: -0.25rem;\n  }\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-arrow]::before {\n    position: absolute;\n    inset: 0.25rem;\n    content: \"\";\n    background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n    background-repeat: no-repeat;\n    background-position: center;\n  }\n  [data-vc-arrow]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-arrow=prev]::before {\n    transform: rotate(90deg);\n  }\n  [data-vc-arrow=next]::before {\n    transform: rotate(-90deg);\n  }\n  [data-vc=controls] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n  [data-vc=grid] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n  [data-vc=column] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n  [data-vc=header] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: 0.75rem;\n  }\n  [data-vc-header=content] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n  [data-vc=month],\n  [data-vc=year] {\n    padding: 0.25rem 0.5rem;\n    margin-inline: -0.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc=month]:disabled,\n  [data-vc=year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc=month]:hover:not(:disabled),\n  [data-vc=year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc=content] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n  [data-vc=months],\n  [data-vc=years] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: 0.25rem;\n    align-items: center;\n  }\n  [data-vc=years] {\n    --vc-columns: 5;\n  }\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: 0.25rem;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-months-month]:disabled,\n  [data-vc-years-year]:disabled {\n    color: var(--datepicker-day-disabled-color);\n    pointer-events: none;\n  }\n  [data-vc-months-month]:hover:not(:disabled),\n  [data-vc-years-year]:hover:not(:disabled) {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected], [data-vc-months-month][data-vc-years-year-selected],\n  [data-vc-years-year][data-vc-months-month-selected],\n  [data-vc-years-year][data-vc-years-year-selected] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-months-month][data-vc-months-month-selected]:hover, [data-vc-months-month][data-vc-years-year-selected]:hover,\n  [data-vc-years-year][data-vc-months-month-selected]:hover,\n  [data-vc-years-year][data-vc-years-year-selected]:hover {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc=week] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: 0.5rem;\n  }\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: 0.75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n  [data-vc=dates] {\n    pointer-events: none;\n  }\n  [data-vc-dates=row] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: 0.125rem;\n    padding-bottom: 0.125rem;\n    pointer-events: auto;\n  }\n  [data-vc-date]:not(:has([data-vc-date-btn])), [data-vc-date][data-vc-date-disabled], [data-vc-date][data-vc-date-disabled] [data-vc-date-btn] {\n    pointer-events: none;\n  }\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: 0.75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: 0.5rem;\n  }\n  [data-vc-date-btn]:hover {\n    background-color: var(--datepicker-day-hover-bg);\n  }\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n  [data-vc-date-month=next] [data-vc-date-btn],\n  [data-vc-date-month=prev] [data-vc-date-btn] {\n    opacity: 0.5;\n  }\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n  [data-vc-date-hover=first] [data-vc-date-btn] {\n    border-start-start-radius: 0.5rem;\n    border-end-start-radius: 0.5rem;\n  }\n  [data-vc-date-hover=last] [data-vc-date-btn] {\n    border-start-end-radius: 0.5rem;\n    border-end-end-radius: 0.5rem;\n  }\n  [data-vc-date-hover=first-and-last] [data-vc-date-btn] {\n    border-radius: 0.5rem;\n  }\n  [data-vc-date-selected=middle] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: 0.8;\n  }\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n  }\n  [data-vc-date-selected=first] [data-vc-date-btn] {\n    border-top-left-radius: 0.5rem;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: 0.5rem;\n  }\n  [data-vc-date-selected=last] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: 0.5rem;\n    border-bottom-right-radius: 0.5rem;\n    border-bottom-left-radius: 0;\n  }\n  [data-vc-date-selected=first-and-last] [data-vc-date-btn] {\n    border-radius: 0.5rem;\n  }\n}\n@layer components {\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n  .dialog {\n    --dialog-padding: 1rem;\n    --dialog-width: 500px;\n    --dialog-margin: 1.75rem;\n    --dialog-color: var(--fg-body);\n    --dialog-bg: var(--bg-body);\n    --dialog-border-color: var(--border-color-translucent);\n    --dialog-border-width: var(--border-width);\n    --dialog-border-radius: var(--border-radius-lg);\n    --dialog-box-shadow: var(--box-shadow-lg);\n    --dialog-backdrop-bg: rgba(0, 0, 0, 0.5);\n    --dialog-header-padding: 1rem;\n    --dialog-header-border-color: var(--border-color);\n    --dialog-header-border-width: var(--border-width);\n    --dialog-footer-padding: 1rem;\n    --dialog-footer-border-color: var(--border-color);\n    --dialog-footer-border-width: var(--border-width);\n    --dialog-footer-gap: 0.5rem;\n    max-width: var(--dialog-width);\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog::backdrop {\n    background-color: var(--dialog-backdrop-bg);\n  }\n  .dialog.fade {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade {\n      transition: none;\n    }\n  }\n  .dialog.fade::backdrop {\n    opacity: 0;\n    transition: opacity 0.15s linear;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .dialog.fade::backdrop {\n      transition: none;\n    }\n  }\n  .dialog.fade[open] {\n    opacity: 1;\n  }\n  .dialog.fade[open]::backdrop {\n    opacity: 1;\n  }\n  .dialog.dialog-static {\n    transform: scale(1.02);\n  }\n  .dialog.dialog-nonmodal {\n    position: fixed;\n    inset-block-start: 50%;\n    inset-inline-start: 50%;\n    z-index: 1055;\n    margin-inline: 0;\n    transform: translate(-50%, -50%);\n  }\n  .dialog.dialog-overflow {\n    position: fixed;\n    inset: 0;\n    width: 100%;\n    max-width: 100%;\n    height: 100%;\n    max-height: 100%;\n    padding: var(--dialog-margin);\n    margin: 0;\n    overflow-y: auto;\n    overscroll-behavior: contain;\n    background: transparent;\n    border: 0;\n    box-shadow: none;\n  }\n  .dialog.dialog-overflow > .dialog-box {\n    max-width: var(--dialog-width);\n    margin-block-end: var(--dialog-margin);\n    margin-inline: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    border-radius: var(--dialog-border-radius);\n    box-shadow: var(--dialog-box-shadow);\n  }\n  .dialog.dialog-scrollable[open] {\n    display: flex;\n    flex-direction: column;\n    max-height: calc(100% - var(--dialog-margin) * 2);\n  }\n  .dialog.dialog-scrollable[open] .dialog-body {\n    overflow-y: auto;\n  }\n  .dialog-sm {\n    --dialog-width: 280px;\n  }\n  .dialog-lg {\n    --dialog-width: 800px;\n  }\n  .dialog-xl {\n    --dialog-width: 1140px;\n  }\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n  @media (width < 576px) {\n    .dialog-fullscreen-sm-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 768px) {\n    .dialog-fullscreen-md-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1024px) {\n    .dialog-fullscreen-lg-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1280px) {\n    .dialog-fullscreen-xl-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  @media (width < 1536px) {\n    .dialog-fullscreen-2xl-down {\n      --dialog-width: 100vw;\n      --dialog-margin: 0;\n      --dialog-border-radius: 0;\n      width: 100%;\n      max-width: none;\n      height: 100%;\n      max-height: none;\n    }\n  }\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n  }\n  .dialog-header .btn-close {\n    margin-inline-start: auto;\n  }\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n    overflow-y: auto;\n  }\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n@layer components {\n  .dropdown {\n    position: relative;\n  }\n  .dropdown-menu {\n    --dropdown-zindex: 1000;\n    --dropdown-gap: 0.125rem;\n    --dropdown-min-width: 10rem;\n    --dropdown-padding-x: 0.25rem;\n    --dropdown-padding-y: 0.25rem;\n    --dropdown-spacer: 0.125rem;\n    --dropdown-font-size: 14px;\n    --dropdown-color: var(--fg-body);\n    --dropdown-bg: var(--bg-body);\n    --dropdown-border-color: var(--border-color-translucent);\n    --dropdown-border-radius: var(--border-radius-lg);\n    --dropdown-border-width: var(--border-width);\n    --dropdown-inner-border-radius: calc(var(--dropdown-border-radius) - var(--dropdown-border-width));\n    --dropdown-box-shadow: var(--box-shadow);\n    --dropdown-divider-bg: var(--border-color-translucent);\n    --dropdown-divider-margin-y: 0.125rem;\n    --dropdown-divider-margin-x: 0.25rem;\n    --dropdown-link-color: var(--fg-body);\n    --dropdown-link-hover-color: var(--fg-body);\n    --dropdown-link-hover-bg: var(--bg-1);\n    --dropdown-link-active-color: var(--primary-contrast);\n    --dropdown-link-active-bg: var(--primary-bg);\n    --dropdown-link-disabled-color: var(--fg-3);\n    --dropdown-item-gap: 0.5rem;\n    --dropdown-item-padding-x: 0.75rem;\n    --dropdown-item-padding-y: 0.25rem;\n    --dropdown-item-border-radius: var(--border-radius);\n    --dropdown-header-color: var(--fg-2);\n    --dropdown-header-padding-x: 0.75rem;\n    --dropdown-header-padding-y: 0.25rem;\n    position: absolute;\n    z-index: var(--dropdown-zindex);\n    display: none;\n    flex-direction: column;\n    gap: var(--dropdown-gap);\n    min-width: var(--dropdown-min-width);\n    padding: var(--dropdown-padding-y) var(--dropdown-padding-x);\n    margin: 0;\n    font-size: var(--dropdown-font-size);\n    color: var(--dropdown-color);\n    text-align: start;\n    list-style: none;\n    background-color: var(--dropdown-bg);\n    background-clip: padding-box;\n    border: var(--dropdown-border-width) solid var(--dropdown-border-color);\n    border-radius: var(--dropdown-border-radius);\n    box-shadow: var(--dropdown-box-shadow);\n  }\n  .dropdown-menu.show {\n    display: flex;\n  }\n  .dropdown-divider {\n    height: 0;\n    margin: var(--dropdown-divider-margin-y) var(--dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--dropdown-divider-bg);\n    opacity: 1;\n  }\n  .dropdown-item {\n    display: flex;\n    gap: var(--dropdown-item-gap);\n    align-items: center;\n    width: 100%;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    font-weight: 400;\n    color: var(--dropdown-link-color);\n    text-align: inherit;\n    text-decoration: none;\n    white-space: nowrap;\n    background-color: transparent;\n    border: 0;\n    border-radius: var(--dropdown-item-border-radius, 0);\n  }\n  .dropdown-item:hover, .dropdown-item:focus {\n    color: var(--dropdown-link-hover-color);\n    background-color: var(--dropdown-link-hover-bg);\n  }\n  .dropdown-item.active, .dropdown-item:active {\n    color: var(--dropdown-link-active-color);\n    background-color: var(--dropdown-link-active-bg);\n  }\n  .dropdown-item.disabled, .dropdown-item:disabled {\n    color: var(--dropdown-link-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n  }\n  .dropdown-header {\n    display: block;\n    padding: var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);\n    margin-bottom: 0;\n    font-size: 12.25px;\n    color: var(--dropdown-header-color);\n    white-space: nowrap;\n  }\n  .dropdown-item-text {\n    display: block;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    color: var(--fg-2);\n  }\n  .dropdown-submenu {\n    position: relative;\n  }\n  .dropdown-submenu > .dropdown-item {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .dropdown-submenu > .dropdown-item::after {\n    display: inline-block;\n    flex-shrink: 0;\n    width: 0.375em;\n    height: 0.375em;\n    margin-inline-start: auto;\n    content: \"\";\n    border-color: currentcolor;\n    border-style: solid;\n    border-width: 0 0.125em 0.125em 0;\n    transform: rotate(-45deg);\n  }\n  [dir=rtl] .dropdown-submenu > .dropdown-item::after {\n    transform: rotate(135deg);\n  }\n  .dropdown-submenu > .dropdown-menu {\n    top: 0;\n    margin-top: calc(-1 * var(--dropdown-padding-y));\n  }\n  .dropdown-submenu:hover > .dropdown-item, .dropdown-submenu:focus-within > .dropdown-item {\n    color: var(--dropdown-link-hover-color);\n    background-color: var(--dropdown-link-hover-bg);\n  }\n  .dropdown-submenu.show > .dropdown-item {\n    color: var(--dropdown-link-hover-color);\n    background-color: var(--dropdown-link-hover-bg);\n  }\n}\n@layer components {\n  .list-group {\n    --list-group-color: var(--fg-body);\n    --list-group-bg: var(--bg-body);\n    --list-group-border-color: var(--border-color);\n    --list-group-border-width: var(--border-width);\n    --list-group-border-radius: var(--border-radius);\n    --list-group-item-padding-x: 1rem;\n    --list-group-item-padding-y: 0.5rem;\n    --list-group-action-color: var(--fg-2);\n    --list-group-action-hover-color: var(--fg-1);\n    --list-group-action-hover-bg: var(--bg-1);\n    --list-group-action-active-color: var(--fg-body);\n    --list-group-action-active-bg: var(--bg-2);\n    --list-group-disabled-color: var(--fg-3);\n    --list-group-disabled-bg: var(--bg-body);\n    --list-group-active-color: var(--primary-contrast);\n    --list-group-active-bg: var(--primary-bg);\n    --list-group-active-border-color: var(--primary-bg);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    border-radius: var(--list-group-border-radius);\n  }\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n  }\n  .list-group-numbered > .list-group-item::before {\n    content: counters(section, \".\") \". \";\n    counter-increment: section;\n  }\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n  }\n  .list-group-item:first-child {\n    border-start-start-radius: inherit;\n    border-start-end-radius: inherit;\n  }\n  .list-group-item:last-child {\n    border-end-start-radius: inherit;\n    border-end-end-radius: inherit;\n  }\n  .list-group-item.disabled, .list-group-item:disabled {\n    color: var(--list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--list-group-disabled-bg);\n  }\n  .list-group-item.active {\n    z-index: 2;\n    color: var(--list-group-active-color);\n    background-color: var(--list-group-active-bg);\n    border-color: var(--list-group-active-border-color);\n  }\n  .list-group-item + .list-group-item {\n    border-block-start-width: 0;\n  }\n  .list-group-item + .list-group-item.active {\n    margin-top: calc(-1 * var(--list-group-border-width));\n    border-block-start-width: var(--list-group-border-width);\n  }\n  .list-group-item-action {\n    width: 100%;\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit;\n    text-decoration: none;\n  }\n  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {\n    z-index: 1;\n    color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n    text-decoration: none;\n    background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n  }\n  .list-group-item-action:not(.active):active {\n    color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n    background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n  }\n  .list-group-horizontal {\n    flex-direction: row;\n  }\n  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n    border-end-start-radius: var(--list-group-border-radius);\n    border-start-end-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n    border-start-end-radius: var(--list-group-border-radius);\n    border-end-start-radius: 0;\n  }\n  .list-group-horizontal > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item {\n    border-block-start-width: var(--list-group-border-width);\n    border-inline-start-width: 0;\n  }\n  .list-group-horizontal > .list-group-item + .list-group-item.active {\n    margin-inline-start: calc(-1 * var(--list-group-border-width));\n    border-inline-start-width: var(--list-group-border-width);\n  }\n  @media (width >= 576px) {\n    .list-group-horizontal-sm {\n      flex-direction: row;\n    }\n    .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 768px) {\n    .list-group-horizontal-md {\n      flex-direction: row;\n    }\n    .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-md > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1024px) {\n    .list-group-horizontal-lg {\n      flex-direction: row;\n    }\n    .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1280px) {\n    .list-group-horizontal-xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  @media (width >= 1536px) {\n    .list-group-horizontal-2xl {\n      flex-direction: row;\n    }\n    .list-group-horizontal-2xl > .list-group-item:first-child:not(:last-child) {\n      border-end-start-radius: var(--list-group-border-radius);\n      border-start-end-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item:last-child:not(:first-child) {\n      border-start-end-radius: var(--list-group-border-radius);\n      border-end-start-radius: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item.active {\n      margin-top: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item {\n      border-block-start-width: var(--list-group-border-width);\n      border-inline-start-width: 0;\n    }\n    .list-group-horizontal-2xl > .list-group-item + .list-group-item.active {\n      margin-inline-start: calc(-1 * var(--list-group-border-width));\n      border-inline-start-width: var(--list-group-border-width);\n    }\n  }\n  .list-group-flush {\n    border-radius: 0;\n  }\n  .list-group-flush > .list-group-item {\n    border-width: 0 0 var(--list-group-border-width);\n  }\n  .list-group-flush > .list-group-item:last-child {\n    border-block-end-width: 0;\n  }\n}\n@layer components {\n  .nav {\n    --nav-gap: 0.125rem;\n    --nav-link-gap: 0.5rem;\n    --nav-link-align: center;\n    --nav-link-justify: center;\n    --nav-link-padding-x: 1rem;\n    --nav-link-padding-y: 0.5rem;\n    --nav-link-color: var(--fg-2);\n    --nav-link-hover-color: var(--fg-1);\n    --nav-link-hover-bg: var(--bg-1);\n    --nav-link-active-color: var(--fg-body);\n    --nav-link-active-bg: var(--bg-2);\n    --nav-link-disabled-color: var(--fg-4);\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .nav-item {\n    display: flex;\n  }\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    border-radius: var(--border-radius);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .nav-link {\n      transition: none;\n    }\n  }\n  .nav-link:hover, .nav-link:focus {\n    color: var(--nav-link-hover-color);\n    background-color: var(--nav-link-hover-bg);\n  }\n  .nav-link:focus-visible {\n    --focus-ring-offset: 1px;\n    color: var(--nav-link-hover-color);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .nav-link.active, .nav-link:active {\n    color: var(--nav-link-active-color);\n    background-color: var(--nav-link-active-bg);\n  }\n  .nav-link.disabled, .nav-link:disabled {\n    color: var(--nav-link-disabled-color);\n    pointer-events: none;\n    cursor: default;\n  }\n  .nav-tabs {\n    --nav-tabs-border-width: var(--border-width);\n    --nav-tabs-border-color: var(--border-color);\n    --nav-tabs-border-radius: var(--border-radius);\n    --nav-tabs-link-hover-border-color: var(--border-subtle);\n    --nav-tabs-link-active-color: var(--fg-color);\n    --nav-tabs-link-active-bg: var(--bg-body);\n    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body);\n    border-block-end: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link {\n    margin-bottom: calc(-1 * var(--nav-tabs-border-width));\n    border: var(--nav-tabs-border-width) solid transparent;\n    border-end-start-radius: 0;\n    border-end-end-radius: 0;\n  }\n  .nav-tabs .nav-link:hover {\n    isolation: isolate;\n    border-color: var(--nav-tabs-link-hover-border-color);\n    border-bottom-color: var(--nav-tabs-border-color);\n  }\n  .nav-tabs .nav-link.active,\n  .nav-tabs .nav-item.show .nav-link {\n    color: var(--nav-tabs-link-active-color);\n    background-color: var(--nav-tabs-link-active-bg);\n    border-color: var(--nav-tabs-link-active-border-color);\n    border-bottom-color: var(--nav-tabs-link-active-bg);\n  }\n  .nav-tabs .dropdown-menu {\n    margin-top: calc(-1 * var(--nav-tabs-border-width));\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .nav-pills {\n    --nav-pills-link-active-color: var(--primary-contrast);\n    --nav-pills-link-active-bg: var(--primary-bg);\n  }\n  .nav-pills .nav-link.active,\n  .nav-pills .show > .nav-link {\n    color: var(--nav-pills-link-active-color);\n    background-color: var(--nav-pills-link-active-bg);\n  }\n  .nav-underline {\n    --nav-gap: 1rem;\n    --nav-link-active-bg: transparent;\n    --nav-underline-border-width: 0.125rem;\n    --nav-underline-link-active-color: var(--fg-color);\n  }\n  .nav-underline .nav-link {\n    padding-inline: 0;\n    border-block-end: var(--nav-underline-border-width) solid transparent;\n    border-radius: 0;\n  }\n  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n    border-block-end-color: currentcolor;\n  }\n  .nav-underline .nav-link.active,\n  .nav-underline .show > .nav-link {\n    font-weight: 700;\n    color: var(--nav-underline-link-active-color);\n    border-block-end-color: currentcolor;\n  }\n  .nav-fill > .nav-link,\n  .nav-fill .nav-item {\n    flex: 1 1 auto;\n    text-align: center;\n  }\n  .nav-justified > .nav-link,\n  .nav-justified .nav-item {\n    flex-grow: 1;\n    flex-basis: 0;\n    text-align: center;\n  }\n  .nav-fill .nav-item .nav-link,\n  .nav-justified .nav-item .nav-link {\n    width: 100%;\n  }\n  .tab-content > .tab-pane {\n    display: none;\n  }\n  .tab-content > .active {\n    display: block;\n  }\n}\n@layer components {\n  .navbar {\n    --navbar-padding-x: 0;\n    --navbar-padding-y: 0.5rem;\n    --navbar-color: var(--fg-2);\n    --navbar-hover-color: var(--fg-1);\n    --navbar-disabled-color: var(--fg-3);\n    --navbar-active-color: var(--fg);\n    --navbar-brand-padding-y: 0.75rem;\n    --navbar-brand-margin-end: 1rem;\n    --navbar-brand-font-size: 17.5px;\n    --navbar-brand-color: var(--fg);\n    --navbar-brand-hover-color: var(--fg);\n    --navbar-nav-link-padding-x: 0.75rem;\n    --navbar-toggler-padding-y: 0.25rem;\n    --navbar-toggler-padding-x: 0.75rem;\n    --navbar-toggler-font-size: 17.5px;\n    --navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='color-mix(in oklch, var(--body-color) 75%, transparent)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent);\n    --navbar-toggler-border-radius: var(--border-radius);\n    --navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n    position: relative;\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    justify-content: space-between;\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n  }\n  .navbar > .container-2xl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,\n  .navbar > .container-fluid {\n    display: flex;\n    flex-wrap: inherit;\n    align-items: center;\n    justify-content: space-between;\n  }\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n  }\n  .navbar-brand:hover, .navbar-brand:focus {\n    color: var(--navbar-brand-hover-color);\n  }\n  .navbar-nav {\n    --nav-link-color: var(--navbar-color);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    display: flex;\n    flex-direction: column;\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n    color: var(--navbar-active-color);\n  }\n  .navbar-text {\n    color: var(--navbar-color);\n  }\n  .navbar-text a,\n  .navbar-text a:hover,\n  .navbar-text a:focus {\n    color: var(--navbar-active-color);\n  }\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    align-items: center;\n  }\n  .navbar-toggler {\n    padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);\n    font-size: var(--navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--navbar-color);\n    background-color: transparent;\n    border: var(--border-width) solid var(--navbar-toggler-border-color);\n    border-radius: var(--navbar-toggler-border-radius);\n    transition: var(--navbar-toggler-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .navbar-toggler {\n      transition: none;\n    }\n  }\n  .navbar-toggler:hover {\n    text-decoration: none;\n  }\n  .navbar-toggler:focus-visible {\n    text-decoration: none;\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n  .navbar-nav-scroll {\n    max-height: var(--scroll-height, 75vh);\n    overflow-y: auto;\n  }\n  @media (width >= 576px) {\n    .navbar-expand-sm {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-sm .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-sm .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-sm .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-sm .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-sm .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-sm .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .navbar-expand-md {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-md .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-md .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-md .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-md .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-md .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-md .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .navbar-expand-lg {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-lg .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-lg .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-lg .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-lg .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-lg .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-lg .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .navbar-expand-xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-xl .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .navbar-expand-2xl {\n      flex-wrap: nowrap;\n      justify-content: flex-start;\n    }\n    .navbar-expand-2xl .navbar-nav {\n      --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n      flex-direction: row;\n    }\n    .navbar-expand-2xl .navbar-nav-scroll {\n      overflow: visible;\n    }\n    .navbar-expand-2xl .navbar-collapse {\n      display: flex !important;\n      flex-basis: auto;\n    }\n    .navbar-expand-2xl .navbar-toggler {\n      display: none !important;\n    }\n    .navbar-expand-2xl .offcanvas {\n      position: static;\n      z-index: auto;\n      flex-grow: 1;\n      width: auto !important;\n      height: auto !important;\n      visibility: visible !important;\n      background-color: transparent !important;\n      border: 0 !important;\n      transform: none !important;\n      box-shadow: none;\n      transition: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-header {\n      display: none;\n    }\n    .navbar-expand-2xl .offcanvas .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n    }\n  }\n  .navbar-expand {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand .navbar-nav {\n    --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n    flex-direction: row;\n  }\n  .navbar-expand .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand .navbar-toggler {\n    display: none !important;\n  }\n  .navbar-expand .offcanvas {\n    position: static;\n    z-index: auto;\n    flex-grow: 1;\n    width: auto !important;\n    height: auto !important;\n    visibility: visible !important;\n    background-color: transparent !important;\n    border: 0 !important;\n    transform: none !important;\n    box-shadow: none;\n    transition: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-header {\n    display: none;\n  }\n  .navbar-expand .offcanvas .offcanvas-body {\n    display: flex;\n    flex-grow: 0;\n    padding: 0;\n    overflow-y: visible;\n  }\n  .navbar-dark,\n  .navbar[data-bs-theme=dark] {\n    --navbar-color: rgba(255, 255, 255, 0.55);\n    --navbar-hover-color: rgba(255, 255, 255, 0.75);\n    --navbar-disabled-color: rgba(255, 255, 255, 0.25);\n    --navbar-active-color: #fff;\n    --navbar-brand-color: #fff;\n    --navbar-brand-hover-color: #fff;\n    --navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n    --navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n  [data-bs-theme=dark] .navbar-toggler-icon {\n    --navbar-toggler-icon-bg: escape-svg(url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\"));\n  }\n}\n.offcanvas, .offcanvas-2xl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n  --offcanvas-zindex: 1045;\n  --offcanvas-width: 400px;\n  --offcanvas-height: 30vh;\n  --offcanvas-padding-x: 1rem;\n  --offcanvas-padding-y: 1rem;\n  --offcanvas-color: var(--fg-body);\n  --offcanvas-bg: var(--bg-body);\n  --offcanvas-border-width: var(--border-width);\n  --offcanvas-border-color: var(--border-color-translucent);\n  --offcanvas-box-shadow: var(--box-shadow-sm);\n  --offcanvas-transition: transform 0.3s ease-in-out;\n  --offcanvas-title-line-height: 1.5;\n}\n\n@layer components {\n  @media (width < 576px) {\n    .offcanvas-sm {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 576px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-sm {\n      transition: none;\n    }\n  }\n  @media (width < 576px) {\n    .offcanvas-sm.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-sm.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-sm.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-sm.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-sm.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 576px) {\n    .offcanvas-sm {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-sm .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-sm .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 768px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-md {\n      transition: none;\n    }\n  }\n  @media (width < 768px) {\n    .offcanvas-md.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-md.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-md.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-md.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-md.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 768px) {\n    .offcanvas-md {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-md .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-md .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 1024px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-lg {\n      transition: none;\n    }\n  }\n  @media (width < 1024px) {\n    .offcanvas-lg.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-lg.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-lg.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-lg.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-lg.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1024px) {\n    .offcanvas-lg {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-lg .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-lg .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 1280px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-xl {\n      transition: none;\n    }\n  }\n  @media (width < 1280px) {\n    .offcanvas-xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1280px) {\n    .offcanvas-xl {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl {\n      position: fixed;\n      bottom: 0;\n      z-index: var(--offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--offcanvas-color);\n      visibility: hidden;\n      background-color: var(--offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      box-shadow: var(--offcanvas-box-shadow);\n      transition: var(--offcanvas-transition);\n    }\n  }\n  @media (width < 1536px) and (prefers-reduced-motion: reduce) {\n    .offcanvas-2xl {\n      transition: none;\n    }\n  }\n  @media (width < 1536px) {\n    .offcanvas-2xl.offcanvas-start {\n      inset-block: 0;\n      inset-inline-start: 0;\n      width: var(--offcanvas-width);\n      border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(-100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-start {\n      transform: translateX(100%);\n    }\n    .offcanvas-2xl.offcanvas-end {\n      inset-block: 0;\n      inset-inline-end: 0;\n      width: var(--offcanvas-width);\n      border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateX(100%);\n    }\n    :root:dir(rtl) .offcanvas-2xl.offcanvas-end {\n      transform: translateX(-100%);\n    }\n    .offcanvas-2xl.offcanvas-top {\n      inset: 0 0 auto;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(-100%);\n    }\n    .offcanvas-2xl.offcanvas-bottom {\n      inset: auto 0 0;\n      height: var(--offcanvas-height);\n      max-height: 100%;\n      border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n      transform: translateY(100%);\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.show:not(.hiding) {\n      transform: none;\n    }\n    .offcanvas-2xl.showing, .offcanvas-2xl.hiding, .offcanvas-2xl.show {\n      visibility: visible;\n    }\n  }\n  @media (width >= 1536px) {\n    .offcanvas-2xl {\n      --offcanvas-height: auto;\n      --offcanvas-border-width: 0;\n      background-color: transparent !important;\n    }\n    .offcanvas-2xl .offcanvas-header {\n      display: none;\n    }\n    .offcanvas-2xl .offcanvas-body {\n      display: flex;\n      flex-grow: 0;\n      padding: 0;\n      overflow-y: visible;\n      background-color: transparent !important;\n    }\n  }\n  .offcanvas {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--offcanvas-color);\n    visibility: hidden;\n    background-color: var(--offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    box-shadow: var(--offcanvas-box-shadow);\n    transition: var(--offcanvas-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .offcanvas {\n      transition: none;\n    }\n  }\n  .offcanvas.offcanvas-start {\n    inset-block: 0;\n    inset-inline-start: 0;\n    width: var(--offcanvas-width);\n    border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-start {\n    transform: translateX(100%);\n  }\n  .offcanvas.offcanvas-end {\n    inset-block: 0;\n    inset-inline-end: 0;\n    width: var(--offcanvas-width);\n    border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  :root:dir(rtl) .offcanvas.offcanvas-end {\n    transform: translateX(-100%);\n  }\n  .offcanvas.offcanvas-top {\n    inset: 0 0 auto;\n    height: var(--offcanvas-height);\n    max-height: 100%;\n    border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas.offcanvas-bottom {\n    inset: auto 0 0;\n    height: var(--offcanvas-height);\n    max-height: 100%;\n    border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n    transform: translateY(100%);\n  }\n  .offcanvas.showing, .offcanvas.show:not(.hiding) {\n    transform: none;\n  }\n  .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n    visibility: visible;\n  }\n  .offcanvas-backdrop {\n    position: fixed;\n    inset: 0;\n    z-index: 1040;\n    background-color: #000;\n  }\n  .offcanvas-backdrop.fade {\n    opacity: 0;\n  }\n  .offcanvas-backdrop.show {\n    opacity: 0.5;\n  }\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n  }\n  .offcanvas-header .btn-close {\n    padding: calc(var(--offcanvas-padding-y) * 0.5) calc(var(--offcanvas-padding-x) * 0.5);\n    margin-inline-start: auto;\n    margin-inline-end: calc(-0.5 * var(--offcanvas-padding-x));\n    margin-top: calc(-0.5 * var(--offcanvas-padding-y));\n    margin-bottom: calc(-0.5 * var(--offcanvas-padding-y));\n  }\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n@layer components {\n  .pagination {\n    --pagination-padding-x: 0.75rem;\n    --pagination-padding-y: 0.375rem;\n    --pagination-font-size: var(--font-size-base);\n    --pagination-color: var(--link-color);\n    --pagination-bg: var(--bg-body);\n    --pagination-border-width: var(--border-width);\n    --pagination-border-color: var(--border-color);\n    --pagination-border-radius: var(--border-radius);\n    --pagination-hover-color: var(--link-hover-color);\n    --pagination-hover-bg: var(--bg-1);\n    --pagination-hover-border-color: var(--border-color);\n    --pagination-focus-color: var(--link-hover-color);\n    --pagination-focus-bg: var(--bg-2);\n    --pagination-active-color: var(--primary-contrast);\n    --pagination-active-bg: var(--primary-bg);\n    --pagination-active-border-color: var(--primary-bg);\n    --pagination-disabled-color: var(--fg-3);\n    --pagination-disabled-bg: var(--bg-2);\n    --pagination-disabled-border-color: var(--border-color);\n    display: flex;\n    padding-inline-start: 0;\n    list-style: none;\n  }\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .page-link {\n      transition: none;\n    }\n  }\n  .page-link:hover {\n    z-index: 2;\n    color: var(--pagination-hover-color);\n    background-color: var(--pagination-hover-bg);\n    border-color: var(--pagination-hover-border-color);\n  }\n  .page-link:focus-visible {\n    z-index: 3;\n    color: var(--pagination-focus-color);\n    background-color: var(--pagination-focus-bg);\n    outline: var(--focus-ring);\n    outline-offset: var(--focus-ring-offset);\n  }\n  .page-link.active, .active > .page-link {\n    z-index: 3;\n    color: var(--pagination-active-color);\n    background-color: var(--pagination-active-bg);\n    border-color: var(--pagination-active-border-color);\n  }\n  .page-link.disabled, .disabled > .page-link {\n    color: var(--pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--pagination-disabled-bg);\n    border-color: var(--pagination-disabled-border-color);\n  }\n  .page-item:not(:first-child) .page-link {\n    margin-inline-start: calc(-1 * var(--pagination-border-width));\n  }\n  .page-item:first-child .page-link {\n    border-start-start-radius: var(--pagination-border-radius);\n    border-end-start-radius: var(--pagination-border-radius);\n  }\n  .page-item:last-child .page-link {\n    border-start-end-radius: var(--pagination-border-radius);\n    border-end-end-radius: var(--pagination-border-radius);\n  }\n  .pagination-lg {\n    --pagination-padding-x: 1.5rem;\n    --pagination-padding-y: 0.75rem;\n    --pagination-font-size: 17.5px;\n    --pagination-border-radius: var(--border-radius-lg);\n  }\n  .pagination-sm {\n    --pagination-padding-x: 0.5rem;\n    --pagination-padding-y: 0.25rem;\n    --pagination-font-size: 12.25px;\n    --pagination-border-radius: var(--border-radius-sm);\n  }\n}\n@layer components {\n  .placeholder {\n    --placeholder-opacity-max: 0.5;\n    --placeholder-opacity-min: 0.2;\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n  }\n  .placeholder.btn::before {\n    display: inline-block;\n    content: \"\";\n  }\n  .placeholder-xs {\n    min-height: 0.6em;\n  }\n  .placeholder-sm {\n    min-height: 0.8em;\n  }\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n  .placeholder-glow .placeholder {\n    animation: placeholder-glow 2s ease-in-out infinite;\n  }\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, #000 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n@layer components {\n  .popover {\n    --popover-zindex: 1070;\n    --popover-max-width: 280px;\n    --popover-font-size: var(--font-size-sm);\n    --popover-bg: var(--bg-body);\n    --popover-border-width: var(--border-width);\n    --popover-border-color: var(--border-color-translucent);\n    --popover-border-radius: var(--border-radius-lg);\n    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width));\n    --popover-box-shadow: var(--box-shadow);\n    --popover-header-padding-x: 1rem;\n    --popover-header-padding-y: 0.75rem;\n    --popover-header-font-size: 14px;\n    --popover-header-color: inherit;\n    --popover-header-bg: var(--bg-1);\n    --popover-body-padding-x: 1rem;\n    --popover-body-padding-y: 0.75rem;\n    --popover-body-color: var(--fg-body);\n    --popover-arrow-width: 1rem;\n    --popover-arrow-height: 0.5rem;\n    --popover-arrow-border: var(--popover-border-color);\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    font-family: var(--font-sans-serif);\n    font-style: normal;\n    font-weight: 400;\n    line-height: 1.5;\n    text-align: start;\n    text-decoration: none;\n    text-shadow: none;\n    text-transform: none;\n    letter-spacing: normal;\n    word-break: normal;\n    white-space: normal;\n    word-spacing: normal;\n    line-break: auto;\n    font-size: var(--popover-font-size);\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    border-radius: var(--popover-border-radius);\n    box-shadow: var(--popover-box-shadow);\n  }\n  .popover .popover-arrow {\n    display: block;\n    width: var(--popover-arrow-width);\n    height: var(--popover-arrow-height);\n  }\n  .popover .popover-arrow::before, .popover .popover-arrow::after {\n    position: absolute;\n    display: block;\n    content: \"\";\n    border-color: transparent;\n    border-style: solid;\n    border-width: 0;\n  }\n  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow {\n    bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::before {\n    bottom: 0;\n    border-block-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=top] > .popover-arrow::after {\n    bottom: var(--popover-border-width);\n    border-block-start-color: var(--popover-bg);\n  }\n  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow {\n    left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * 0.5) 0;\n  }\n  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::before {\n    left: 0;\n    border-inline-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=right] > .popover-arrow::after {\n    left: var(--popover-border-width);\n    border-inline-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow {\n    top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    border-width: 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::before {\n    top: 0;\n    border-block-end-color: var(--popover-arrow-border);\n  }\n  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=bottom] > .popover-arrow::after {\n    top: var(--popover-border-width);\n    border-block-end-color: var(--popover-bg);\n  }\n  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-bs-placement^=bottom] .popover-header::before {\n    position: absolute;\n    top: 0;\n    left: 50%;\n    display: block;\n    width: var(--popover-arrow-width);\n    margin-inline-start: calc(-0.5 * var(--popover-arrow-width));\n    content: \"\";\n    border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n  }\n  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow {\n    right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n    width: var(--popover-arrow-height);\n    height: var(--popover-arrow-width);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    border-width: calc(var(--popover-arrow-width) * 0.5) 0 calc(var(--popover-arrow-width) * 0.5) var(--popover-arrow-height);\n  }\n  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::before {\n    right: 0;\n    border-inline-start-color: var(--popover-arrow-border);\n  }\n  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-bs-placement^=left] > .popover-arrow::after {\n    right: var(--popover-border-width);\n    border-inline-start-color: var(--popover-bg);\n  }\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0;\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    border-start-start-radius: var(--popover-inner-border-radius);\n    border-start-end-radius: var(--popover-inner-border-radius);\n  }\n  .popover-header:empty {\n    display: none;\n  }\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n@layer components {\n  @keyframes progress-bar-stripes {\n    0% {\n      background-position-x: var(--progress-height);\n    }\n  }\n  .progress,\n  .progress-stacked {\n    --progress-height: 1rem;\n    --progress-font-size: var(--font-size-sm);\n    --progress-bg: var(--bg-2);\n    --progress-border-radius: var(--border-radius);\n    --progress-box-shadow: var(--box-shadow-inset);\n    --progress-bar-color: var(--white);\n    --progress-bar-bg: var(--primary-bg);\n    --progress-bar-transition: width 0.6s ease;\n    --progress-bar-animation: progress-bar-stripes 1s linear infinite;\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    border-radius: var(--progress-border-radius);\n    box-shadow: var(--progress-box-shadow);\n  }\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    transition: var(--progress-bar-transition);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar {\n      transition: none;\n    }\n  }\n  .progress-bar-striped {\n    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n    background-size: var(--progress-height) var(--progress-height);\n  }\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n  .progress-bar-animated {\n    animation: var(--progress-bar-animation);\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .progress-bar-animated {\n      animation: none;\n    }\n  }\n}\n@layer components {\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n  @keyframes spinner-border {\n    to {\n      transform: rotate(360deg);\n    }\n  }\n  .spinner-border {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-border-width: 0.25em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-border;\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n  .spinner-border-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n  }\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  .spinner-grow {\n    --spinner-width: 2rem;\n    --spinner-height: 2rem;\n    --spinner-vertical-align: -0.125em;\n    --spinner-animation-speed: 0.75s;\n    --spinner-animation-name: spinner-grow;\n    background-color: currentcolor;\n    opacity: 0;\n  }\n  .spinner-grow-sm {\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .spinner-border,\n    .spinner-grow {\n      --spinner-animation-speed: 1.5s;\n    }\n  }\n}\n.stepper {\n  --stepper-size: 2rem;\n  --stepper-gap: 1rem;\n  --stepper-bg: var(--bg-2);\n  --stepper-track-size: 0.25rem;\n  --stepper-active-color: var(--primary-contrast);\n  --stepper-active-bg: var(--primary-bg);\n  display: grid;\n  grid-auto-rows: 1fr;\n  grid-auto-flow: row;\n  gap: var(--stepper-gap);\n  padding-left: 0;\n  list-style: none;\n  counter-reset: stepper;\n}\n\n.stepper-item {\n  position: relative;\n  display: grid;\n  grid-template-rows: auto;\n  grid-template-columns: var(--stepper-size) auto;\n  gap: 0.5rem;\n  place-items: center;\n  justify-items: start;\n  text-align: center;\n  text-decoration: none;\n}\n.stepper-item::before {\n  position: relative;\n  z-index: 1;\n  display: flex;\n  flex-shrink: 0;\n  align-items: center;\n  justify-content: center;\n  width: var(--stepper-size);\n  height: var(--stepper-size);\n  padding: 0.5rem;\n  font-weight: 600;\n  line-height: 1;\n  text-align: center;\n  content: counter(stepper);\n  counter-increment: stepper;\n  background-color: var(--stepper-bg);\n  border-radius: 50%;\n}\n.stepper-item::after {\n  position: absolute;\n  top: calc(var(--stepper-gap) * -1);\n  bottom: 100%;\n  left: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n  width: var(--stepper-track-size);\n  content: \"\";\n  background-color: var(--stepper-bg);\n}\n.stepper-item:first-child::after {\n  display: none;\n}\n.stepper-item.active::before, .stepper-item.active::after {\n  color: var(--theme-contrast, var(--stepper-active-color));\n  background-color: var(--theme-bg, var(--stepper-active-bg));\n}\n\n.stepper-horizontal {\n  display: inline-grid;\n  grid-auto-columns: 1fr;\n  grid-auto-flow: column;\n}\n.stepper-horizontal .stepper-item {\n  grid-template-rows: repeat(2, var(--stepper-size));\n  grid-template-columns: auto;\n  justify-items: center;\n}\n.stepper-horizontal .stepper-item::after {\n  top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n  right: 0;\n  bottom: auto;\n  left: calc(-50% - var(--stepper-gap));\n  width: auto;\n  height: var(--stepper-track-size);\n}\n.stepper-horizontal .stepper-item:last-child::after {\n  right: 50%;\n}\n\n@media (width >= 576px) {\n  .stepper-horizontal-sm {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-sm .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-sm .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-sm .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n@media (width >= 768px) {\n  .stepper-horizontal-md {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-md .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-md .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-md .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n@media (width >= 1024px) {\n  .stepper-horizontal-lg {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-lg .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-lg .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-lg .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n@media (width >= 1280px) {\n  .stepper-horizontal-xl {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-xl .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-xl .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-xl .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n@media (width >= 1536px) {\n  .stepper-horizontal-2xl {\n    display: inline-grid;\n    grid-auto-columns: 1fr;\n    grid-auto-flow: column;\n  }\n  .stepper-horizontal-2xl .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n  }\n  .stepper-horizontal-2xl .stepper-item::after {\n    top: calc(var(--stepper-size) * 0.5 - var(--stepper-track-size) * 0.5);\n    right: 0;\n    bottom: auto;\n    left: calc(-50% - var(--stepper-gap));\n    width: auto;\n    height: var(--stepper-track-size);\n  }\n  .stepper-horizontal-2xl .stepper-item:last-child::after {\n    right: 50%;\n  }\n}\n.stepper-overflow {\n  container-type: inline-size;\n  overflow-x: auto;\n  overscroll-behavior-x: contain;\n  -webkit-overflow-scrolling: touch;\n}\n.stepper-overflow > .stepper {\n  width: max-content;\n  min-width: 100%;\n}\n\n@layer components {\n  .toast {\n    --toast-zindex: 1090;\n    --toast-padding-x: 0.75rem;\n    --toast-padding-y: 0.5rem;\n    --toast-spacing: 1.5rem;\n    --toast-max-width: 350px;\n    --toast-font-size: 0.875rem;\n    --toast-color: ;\n    --toast-bg: rgba(var(--body-bg-rgb), 0.85);\n    --toast-border-width: var(--border-width);\n    --toast-border-color: var(--border-color-translucent);\n    --toast-border-radius: var(--border-radius);\n    --toast-box-shadow: var(--box-shadow);\n    --toast-header-color: var(--secondary-color);\n    --toast-header-bg: rgba(var(--body-bg-rgb), 0.85);\n    --toast-header-border-color: var(--border-color-translucent);\n    width: var(--toast-max-width);\n    max-width: 100%;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color);\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--toast-border-color);\n    box-shadow: var(--toast-box-shadow);\n    border-radius: var(--toast-border-radius);\n  }\n  .toast.showing {\n    opacity: 0;\n  }\n  .toast:not(.show) {\n    display: none;\n  }\n  .toast-container {\n    --toast-zindex: 1090;\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n  }\n  .toast-container > :not(:last-child) {\n    margin-bottom: var(--toast-spacing);\n  }\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--toast-header-color);\n    background-color: var(--toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n    border-start-start-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n    border-start-end-radius: calc(var(--toast-border-radius) - var(--toast-border-width));\n  }\n  .toast-header .btn-close {\n    margin-inline-start: var(--toast-padding-x);\n    margin-inline-end: calc(-0.5 * var(--toast-padding-x));\n  }\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n.fade {\n  transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n  .fade {\n    transition: none;\n  }\n}\n.fade:not(.show) {\n  opacity: 0;\n}\n\n.collapse:not(.show) {\n  display: none;\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing {\n    transition: none;\n  }\n}\n.collapsing.collapse-horizontal {\n  width: 0;\n  height: auto;\n  transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n  .collapsing.collapse-horizontal {\n    transition: none;\n  }\n}\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: 0.375rem;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, 0.5));\n    text-underline-offset: 0.25em;\n    backface-visibility: hidden;\n  }\n  .icon-link > .bi {\n    flex-shrink: 0;\n    width: 1em;\n    height: 1em;\n    fill: currentcolor;\n    transition: 0.2s ease-in-out transform;\n  }\n  @media (prefers-reduced-motion: reduce) {\n    .icon-link > .bi {\n      transition: none;\n    }\n  }\n  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n    transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));\n  }\n}\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: 1030;\n  }\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: 1030;\n  }\n  .sticky-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n  @media (width >= 576px) {\n    .sticky-sm-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-sm-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 768px) {\n    .sticky-md-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-md-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1024px) {\n    .sticky-lg-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-lg-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1280px) {\n    .sticky-xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n  @media (width >= 1536px) {\n    .sticky-2xl-top {\n      position: sticky;\n      top: 0;\n      z-index: 1020;\n    }\n    .sticky-2xl-bottom {\n      position: sticky;\n      bottom: 0;\n      z-index: 1020;\n    }\n  }\n}\n@layer helpers {\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=start] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n}\n@layer helpers {\n  .theme-primary {\n    --theme-base: var(--primary-base);\n    --theme-text: var(--primary-text);\n    --theme-text-emphasis: var(--primary-text-emphasis);\n    --theme-bg: var(--primary-bg);\n    --theme-bg-subtle: var(--primary-bg-subtle);\n    --theme-bg-muted: var(--primary-bg-muted);\n    --theme-border: var(--primary-border);\n    --theme-focus-ring: var(--primary-focus-ring);\n    --theme-contrast: var(--primary-contrast);\n  }\n  .theme-accent {\n    --theme-base: var(--accent-base);\n    --theme-text: var(--accent-text);\n    --theme-text-emphasis: var(--accent-text-emphasis);\n    --theme-bg: var(--accent-bg);\n    --theme-bg-subtle: var(--accent-bg-subtle);\n    --theme-bg-muted: var(--accent-bg-muted);\n    --theme-border: var(--accent-border);\n    --theme-focus-ring: var(--accent-focus-ring);\n    --theme-contrast: var(--accent-contrast);\n  }\n  .theme-success {\n    --theme-base: var(--success-base);\n    --theme-text: var(--success-text);\n    --theme-text-emphasis: var(--success-text-emphasis);\n    --theme-bg: var(--success-bg);\n    --theme-bg-subtle: var(--success-bg-subtle);\n    --theme-bg-muted: var(--success-bg-muted);\n    --theme-border: var(--success-border);\n    --theme-focus-ring: var(--success-focus-ring);\n    --theme-contrast: var(--success-contrast);\n  }\n  .theme-danger {\n    --theme-base: var(--danger-base);\n    --theme-text: var(--danger-text);\n    --theme-text-emphasis: var(--danger-text-emphasis);\n    --theme-bg: var(--danger-bg);\n    --theme-bg-subtle: var(--danger-bg-subtle);\n    --theme-bg-muted: var(--danger-bg-muted);\n    --theme-border: var(--danger-border);\n    --theme-focus-ring: var(--danger-focus-ring);\n    --theme-contrast: var(--danger-contrast);\n  }\n  .theme-warning {\n    --theme-base: var(--warning-base);\n    --theme-text: var(--warning-text);\n    --theme-text-emphasis: var(--warning-text-emphasis);\n    --theme-bg: var(--warning-bg);\n    --theme-bg-subtle: var(--warning-bg-subtle);\n    --theme-bg-muted: var(--warning-bg-muted);\n    --theme-border: var(--warning-border);\n    --theme-focus-ring: var(--warning-focus-ring);\n    --theme-contrast: var(--warning-contrast);\n  }\n  .theme-info {\n    --theme-base: var(--info-base);\n    --theme-text: var(--info-text);\n    --theme-text-emphasis: var(--info-text-emphasis);\n    --theme-bg: var(--info-bg);\n    --theme-bg-subtle: var(--info-bg-subtle);\n    --theme-bg-muted: var(--info-bg-muted);\n    --theme-border: var(--info-border);\n    --theme-focus-ring: var(--info-focus-ring);\n    --theme-contrast: var(--info-contrast);\n  }\n  .theme-inverse {\n    --theme-base: var(--inverse-base);\n    --theme-text: var(--inverse-text);\n    --theme-text-emphasis: var(--inverse-text-emphasis);\n    --theme-bg: var(--inverse-bg);\n    --theme-bg-subtle: var(--inverse-bg-subtle);\n    --theme-bg-muted: var(--inverse-bg-muted);\n    --theme-border: var(--inverse-border);\n    --theme-focus-ring: var(--inverse-focus-ring);\n    --theme-contrast: var(--inverse-contrast);\n  }\n  .theme-secondary {\n    --theme-base: var(--secondary-base);\n    --theme-text: var(--secondary-text);\n    --theme-text-emphasis: var(--secondary-text-emphasis);\n    --theme-bg: var(--secondary-bg);\n    --theme-bg-subtle: var(--secondary-bg-subtle);\n    --theme-bg-muted: var(--secondary-bg-muted);\n    --theme-border: var(--secondary-border);\n    --theme-focus-ring: var(--secondary-focus-ring);\n    --theme-contrast: var(--secondary-contrast);\n  }\n}\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    width: 1px !important;\n    height: 1px !important;\n    padding: 0 !important;\n    margin: -1px !important;\n    overflow: hidden !important;\n    clip: rect(0, 0, 0, 0) !important;\n    white-space: nowrap !important;\n    border: 0 !important;\n  }\n  .visually-hidden:not(caption),\n  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n    position: absolute !important;\n  }\n  .visually-hidden *,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) * {\n    overflow: hidden !important;\n  }\n}\n@layer helpers {\n  .stretched-link::after {\n    position: absolute;\n    inset: 0;\n    z-index: 1;\n    content: \"\";\n  }\n}\n@layer helpers {\n  .text-truncate {\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n}\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: var(--border-width);\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n@layer utilities {\n  .align-baseline {\n    vertical-align: baseline;\n  }\n  .align-top {\n    vertical-align: top;\n  }\n  .align-middle {\n    vertical-align: middle;\n  }\n  .align-bottom {\n    vertical-align: bottom;\n  }\n  .align-text-bottom {\n    vertical-align: text-bottom;\n  }\n  .align-text-top {\n    vertical-align: text-top;\n  }\n  [class*=ratio-] {\n    aspect-ratio: var(--ratio);\n  }\n  .ratio-auto {\n    --ratio: auto;\n  }\n  .ratio-1x1 {\n    --ratio: 1 / 1;\n  }\n  .ratio-4x3 {\n    --ratio: 4 / 3;\n  }\n  .ratio-16x9 {\n    --ratio: 16 / 9;\n  }\n  .ratio-21x9 {\n    --ratio: 21 / 9;\n  }\n  .float-start {\n    float: inline-start;\n  }\n  .float-end {\n    float: inline-end;\n  }\n  .float-none {\n    float: none;\n  }\n  .object-fit-contain {\n    object-fit: contain;\n  }\n  .object-fit-cover {\n    object-fit: cover;\n  }\n  .object-fit-fill {\n    object-fit: fill;\n  }\n  .object-fit-scale {\n    object-fit: scale-down;\n  }\n  .object-fit-none {\n    object-fit: none;\n  }\n  .opacity-0 {\n    opacity: 0;\n  }\n  .opacity-25 {\n    opacity: 0.25;\n  }\n  .opacity-50 {\n    opacity: 0.5;\n  }\n  .opacity-75 {\n    opacity: 0.75;\n  }\n  .opacity-100 {\n    opacity: 1;\n  }\n  .overflow-auto {\n    overflow: auto;\n  }\n  .overflow-hidden {\n    overflow: hidden;\n  }\n  .overflow-visible {\n    overflow: visible;\n  }\n  .overflow-scroll {\n    overflow: scroll;\n  }\n  .overflow-x-auto {\n    overflow-x: auto;\n  }\n  .overflow-x-hidden {\n    overflow-x: hidden;\n  }\n  .overflow-x-visible {\n    overflow-x: visible;\n  }\n  .overflow-x-scroll {\n    overflow-x: scroll;\n  }\n  .overflow-y-auto {\n    overflow-y: auto;\n  }\n  .overflow-y-hidden {\n    overflow-y: hidden;\n  }\n  .overflow-y-visible {\n    overflow-y: visible;\n  }\n  .overflow-y-scroll {\n    overflow-y: scroll;\n  }\n  .d-inline {\n    display: inline;\n  }\n  .d-inline-block {\n    display: inline-block;\n  }\n  .d-block {\n    display: block;\n  }\n  .d-grid {\n    display: grid;\n  }\n  .d-inline-grid {\n    display: inline-grid;\n  }\n  .d-table {\n    display: table;\n  }\n  .d-table-row {\n    display: table-row;\n  }\n  .d-table-cell {\n    display: table-cell;\n  }\n  .d-flex {\n    display: flex;\n  }\n  .d-inline-flex {\n    display: inline-flex;\n  }\n  .d-contents {\n    display: contents;\n  }\n  .d-flow-root {\n    display: flow-root;\n  }\n  .d-none {\n    display: none;\n  }\n  .shadow {\n    box-shadow: var(--box-shadow);\n  }\n  .shadow-sm {\n    box-shadow: var(--box-shadow-sm);\n  }\n  .shadow-lg {\n    box-shadow: var(--box-shadow-lg);\n  }\n  .shadow-none {\n    box-shadow: none;\n  }\n  .focus-ring-primary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-accent {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-success {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-danger {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-warning {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-info {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body));\n  }\n  .focus-ring-inverse {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body));\n  }\n  .focus-ring-secondary {\n    --focus-ring-color: color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body));\n  }\n  .position-static {\n    position: static;\n  }\n  .position-relative {\n    position: relative;\n  }\n  .position-absolute {\n    position: absolute;\n  }\n  .position-fixed {\n    position: fixed;\n  }\n  .position-sticky {\n    position: sticky;\n  }\n  .top-0 {\n    top: 0;\n  }\n  .top-50 {\n    top: 50%;\n  }\n  .top-100 {\n    top: 100%;\n  }\n  .bottom-0 {\n    bottom: 0;\n  }\n  .bottom-50 {\n    bottom: 50%;\n  }\n  .bottom-100 {\n    bottom: 100%;\n  }\n  .start-0 {\n    left: 0;\n  }\n  .start-50 {\n    left: 50%;\n  }\n  .start-100 {\n    left: 100%;\n  }\n  .end-0 {\n    right: 0;\n  }\n  .end-50 {\n    right: 50%;\n  }\n  .end-100 {\n    right: 100%;\n  }\n  .translate-middle {\n    transform: translate(-50%, -50%);\n  }\n  .translate-middle-x {\n    transform: translateX(-50%);\n  }\n  .translate-middle-y {\n    transform: translateY(-50%);\n  }\n  .border {\n    border: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-0 {\n    border: 0;\n  }\n  .border-top {\n    border-block-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-top-0 {\n    border-block-start: 0;\n  }\n  .border-end {\n    border-inline-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-end-0 {\n    border-inline-end: 0;\n  }\n  .border-bottom {\n    border-block-end: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-bottom-0 {\n    border-block-end: 0;\n  }\n  .border-start {\n    border-inline-start: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-start-0 {\n    border-inline-start: 0;\n  }\n  .border-block {\n    border-block: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-block-0 {\n    border-block: 0;\n  }\n  .border-inline {\n    border-inline: var(--border-width) var(--border-style) var(--border-color);\n  }\n  .border-inline-0 {\n    border-inline: 0;\n  }\n  .border-primary {\n    --border-color: var(--blue-500);\n    border-color: var(--border-color);\n  }\n  .border-accent {\n    --border-color: var(--indigo-500);\n    border-color: var(--border-color);\n  }\n  .border-success {\n    --border-color: var(--green-500);\n    border-color: var(--border-color);\n  }\n  .border-danger {\n    --border-color: var(--red-500);\n    border-color: var(--border-color);\n  }\n  .border-warning {\n    --border-color: var(--yellow-500);\n    border-color: var(--border-color);\n  }\n  .border-info {\n    --border-color: var(--cyan-500);\n    border-color: var(--border-color);\n  }\n  .border-inverse {\n    --border-color: light-dark(var(--gray-900), var(--gray-025));\n    border-color: var(--border-color);\n  }\n  .border-secondary {\n    --border-color: light-dark(var(--gray-100), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-bg {\n    --border-color: var(--bg-body);\n    border-color: var(--border-color);\n  }\n  .border-body {\n    --border-color: light-dark(var(--gray-300), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-muted {\n    --border-color: light-dark(var(--gray-200), var(--gray-800));\n    border-color: var(--border-color);\n  }\n  .border-subtle {\n    --border-color: light-dark(var(--gray-100), var(--gray-900));\n    border-color: var(--border-color);\n  }\n  .border-emphasized {\n    --border-color: light-dark(var(--gray-400), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-white {\n    --border-color: var(--white);\n    border-color: var(--border-color);\n  }\n  .border-black {\n    --border-color: var(--black);\n    border-color: var(--border-color);\n  }\n  .border-subtle-primary {\n    --border-color: light-dark(var(--blue-300), var(--blue-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-accent {\n    --border-color: light-dark(var(--indigo-300), var(--indigo-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-success {\n    --border-color: light-dark(var(--green-300), var(--green-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-danger {\n    --border-color: light-dark(var(--red-300), var(--red-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-warning {\n    --border-color: light-dark(var(--yellow-300), var(--yellow-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-info {\n    --border-color: light-dark(var(--cyan-300), var(--cyan-600));\n    border-color: var(--border-color);\n  }\n  .border-subtle-inverse {\n    --border-color: light-dark(var(--gray-400), var(--gray-100));\n    border-color: var(--border-color);\n  }\n  .border-subtle-secondary {\n    --border-color: light-dark(var(--gray-300), var(--gray-600));\n    border-color: var(--border-color);\n  }\n  .border-1 {\n    border-width: 1px;\n  }\n  .border-2 {\n    border-width: 2px;\n  }\n  .border-3 {\n    border-width: 3px;\n  }\n  .border-4 {\n    border-width: 4px;\n  }\n  .border-5 {\n    border-width: 5px;\n  }\n  .border-10 {\n    border-color: color-mix(in oklch, var(--border-color) 10%, transparent);\n  }\n  .border-20 {\n    border-color: color-mix(in oklch, var(--border-color) 20%, transparent);\n  }\n  .border-30 {\n    border-color: color-mix(in oklch, var(--border-color) 30%, transparent);\n  }\n  .border-40 {\n    border-color: color-mix(in oklch, var(--border-color) 40%, transparent);\n  }\n  .border-50 {\n    border-color: color-mix(in oklch, var(--border-color) 50%, transparent);\n  }\n  .border-60 {\n    border-color: color-mix(in oklch, var(--border-color) 60%, transparent);\n  }\n  .border-70 {\n    border-color: color-mix(in oklch, var(--border-color) 70%, transparent);\n  }\n  .border-80 {\n    border-color: color-mix(in oklch, var(--border-color) 80%, transparent);\n  }\n  .border-90 {\n    border-color: color-mix(in oklch, var(--border-color) 90%, transparent);\n  }\n  .border-100 {\n    border-color: var(--border-color);\n  }\n  .w-1 {\n    width: 1rem;\n  }\n  .w-2 {\n    width: 2rem;\n  }\n  .w-3 {\n    width: 3rem;\n  }\n  .w-4 {\n    width: 4rem;\n  }\n  .w-5 {\n    width: 5rem;\n  }\n  .w-6 {\n    width: 6rem;\n  }\n  .w-7 {\n    width: 7rem;\n  }\n  .w-8 {\n    width: 8rem;\n  }\n  .w-9 {\n    width: 9rem;\n  }\n  .w-10 {\n    width: 10rem;\n  }\n  .w-11 {\n    width: 11rem;\n  }\n  .w-12 {\n    width: 12rem;\n  }\n  .w-25 {\n    width: 25%;\n  }\n  .w-50 {\n    width: 50%;\n  }\n  .w-75 {\n    width: 75%;\n  }\n  .w-100 {\n    width: 100%;\n  }\n  .w-auto {\n    width: auto;\n  }\n  .w-min {\n    width: min-content;\n  }\n  .w-max {\n    width: max-content;\n  }\n  .w-fit {\n    width: fit-content;\n  }\n  .max-w-100 {\n    max-width: 100%;\n  }\n  .min-w-0 {\n    min-width: 0;\n  }\n  .min-w-100 {\n    min-width: 100%;\n  }\n  .vw-100 {\n    width: 100vw;\n  }\n  .min-vw-100 {\n    min-width: 100vw;\n  }\n  .h-25 {\n    height: 25%;\n  }\n  .h-50 {\n    height: 50%;\n  }\n  .h-75 {\n    height: 75%;\n  }\n  .h-100 {\n    height: 100%;\n  }\n  .h-auto {\n    height: auto;\n  }\n  .h-min {\n    height: min-content;\n  }\n  .h-max {\n    height: max-content;\n  }\n  .h-fit {\n    height: fit-content;\n  }\n  .max-h-100 {\n    max-height: 100%;\n  }\n  .min-h-0 {\n    min-height: 0;\n  }\n  .min-h-100 {\n    min-height: 100%;\n  }\n  .vh-100 {\n    height: 100vh;\n  }\n  .min-vh-100 {\n    min-height: 100vh;\n  }\n  .flex-fill {\n    flex: 1 1 auto;\n  }\n  .flex-row {\n    flex-direction: row;\n  }\n  .flex-column {\n    flex-direction: column;\n  }\n  .flex-row-reverse {\n    flex-direction: row-reverse;\n  }\n  .flex-column-reverse {\n    flex-direction: column-reverse;\n  }\n  .flex-grow-0 {\n    flex-grow: 0;\n  }\n  .flex-grow-1 {\n    flex-grow: 1;\n  }\n  .flex-shrink-0 {\n    flex-shrink: 0;\n  }\n  .flex-shrink-1 {\n    flex-shrink: 1;\n  }\n  .flex-wrap {\n    flex-wrap: wrap;\n  }\n  .flex-nowrap {\n    flex-wrap: nowrap;\n  }\n  .flex-wrap-reverse {\n    flex-wrap: wrap-reverse;\n  }\n  .justify-content-start {\n    justify-content: flex-start;\n  }\n  .justify-content-end {\n    justify-content: flex-end;\n  }\n  .justify-content-center {\n    justify-content: center;\n  }\n  .justify-content-between {\n    justify-content: space-between;\n  }\n  .justify-content-around {\n    justify-content: space-around;\n  }\n  .justify-content-evenly {\n    justify-content: space-evenly;\n  }\n  .justify-items-start {\n    justify-items: start;\n  }\n  .justify-items-end {\n    justify-items: end;\n  }\n  .justify-items-center {\n    justify-items: center;\n  }\n  .justify-items-stretch {\n    justify-items: stretch;\n  }\n  .justify-self-start {\n    justify-self: flex-start;\n  }\n  .justify-self-end {\n    justify-self: flex-end;\n  }\n  .justify-self-center {\n    justify-self: center;\n  }\n  .align-items-start {\n    align-items: flex-start;\n  }\n  .align-items-end {\n    align-items: flex-end;\n  }\n  .align-items-center {\n    align-items: center;\n  }\n  .align-items-baseline {\n    align-items: baseline;\n  }\n  .align-items-stretch {\n    align-items: stretch;\n  }\n  .align-content-start {\n    align-content: flex-start;\n  }\n  .align-content-end {\n    align-content: flex-end;\n  }\n  .align-content-center {\n    align-content: center;\n  }\n  .align-content-between {\n    align-content: space-between;\n  }\n  .align-content-around {\n    align-content: space-around;\n  }\n  .align-content-stretch {\n    align-content: stretch;\n  }\n  .align-self-auto {\n    align-self: auto;\n  }\n  .align-self-start {\n    align-self: flex-start;\n  }\n  .align-self-end {\n    align-self: flex-end;\n  }\n  .align-self-center {\n    align-self: center;\n  }\n  .align-self-baseline {\n    align-self: baseline;\n  }\n  .align-self-stretch {\n    align-self: stretch;\n  }\n  .place-items-start {\n    place-items: start;\n  }\n  .place-items-end {\n    place-items: end;\n  }\n  .place-items-center {\n    place-items: center;\n  }\n  .place-items-stretch {\n    place-items: stretch;\n  }\n  .grid-cols-3 {\n    --columns: 3;\n  }\n  .grid-cols-4 {\n    --columns: 4;\n  }\n  .grid-cols-6 {\n    --columns: 6;\n  }\n  .grid-cols-fill {\n    grid-column: 1 / -1;\n  }\n  .grid-auto-flow-row {\n    grid-auto-flow: row;\n  }\n  .grid-auto-flow-column {\n    grid-auto-flow: column;\n  }\n  .grid-auto-flow-dense {\n    grid-auto-flow: dense;\n  }\n  .order-first {\n    order: -1;\n  }\n  .order-0 {\n    order: 0;\n  }\n  .order-1 {\n    order: 1;\n  }\n  .order-2 {\n    order: 2;\n  }\n  .order-3 {\n    order: 3;\n  }\n  .order-4 {\n    order: 4;\n  }\n  .order-5 {\n    order: 5;\n  }\n  .order-last {\n    order: 6;\n  }\n  .m-0 {\n    margin: 0;\n  }\n  .m-1 {\n    margin: 0.25rem;\n  }\n  .m-2 {\n    margin: 0.5rem;\n  }\n  .m-3 {\n    margin: 1rem;\n  }\n  .m-4 {\n    margin: 1.5rem;\n  }\n  .m-5 {\n    margin: 3rem;\n  }\n  .m-auto {\n    margin: auto;\n  }\n  .mx-0 {\n    margin-inline: 0;\n  }\n  .mx-1 {\n    margin-inline: 0.25rem;\n  }\n  .mx-2 {\n    margin-inline: 0.5rem;\n  }\n  .mx-3 {\n    margin-inline: 1rem;\n  }\n  .mx-4 {\n    margin-inline: 1.5rem;\n  }\n  .mx-5 {\n    margin-inline: 3rem;\n  }\n  .mx-auto {\n    margin-inline: auto;\n  }\n  .my-0 {\n    margin-block: 0;\n  }\n  .my-1 {\n    margin-block: 0.25rem;\n  }\n  .my-2 {\n    margin-block: 0.5rem;\n  }\n  .my-3 {\n    margin-block: 1rem;\n  }\n  .my-4 {\n    margin-block: 1.5rem;\n  }\n  .my-5 {\n    margin-block: 3rem;\n  }\n  .my-auto {\n    margin-block: auto;\n  }\n  .mt-0 {\n    margin-block-start: 0;\n  }\n  .mt-1 {\n    margin-block-start: 0.25rem;\n  }\n  .mt-2 {\n    margin-block-start: 0.5rem;\n  }\n  .mt-3 {\n    margin-block-start: 1rem;\n  }\n  .mt-4 {\n    margin-block-start: 1.5rem;\n  }\n  .mt-5 {\n    margin-block-start: 3rem;\n  }\n  .mt-auto {\n    margin-block-start: auto;\n  }\n  .me-0 {\n    margin-inline-end: 0;\n  }\n  .me-1 {\n    margin-inline-end: 0.25rem;\n  }\n  .me-2 {\n    margin-inline-end: 0.5rem;\n  }\n  .me-3 {\n    margin-inline-end: 1rem;\n  }\n  .me-4 {\n    margin-inline-end: 1.5rem;\n  }\n  .me-5 {\n    margin-inline-end: 3rem;\n  }\n  .me-auto {\n    margin-inline-end: auto;\n  }\n  .mb-0 {\n    margin-block-end: 0;\n  }\n  .mb-1 {\n    margin-block-end: 0.25rem;\n  }\n  .mb-2 {\n    margin-block-end: 0.5rem;\n  }\n  .mb-3 {\n    margin-block-end: 1rem;\n  }\n  .mb-4 {\n    margin-block-end: 1.5rem;\n  }\n  .mb-5 {\n    margin-block-end: 3rem;\n  }\n  .mb-auto {\n    margin-block-end: auto;\n  }\n  .ms-0 {\n    margin-inline-start: 0;\n  }\n  .ms-1 {\n    margin-inline-start: 0.25rem;\n  }\n  .ms-2 {\n    margin-inline-start: 0.5rem;\n  }\n  .ms-3 {\n    margin-inline-start: 1rem;\n  }\n  .ms-4 {\n    margin-inline-start: 1.5rem;\n  }\n  .ms-5 {\n    margin-inline-start: 3rem;\n  }\n  .ms-auto {\n    margin-inline-start: auto;\n  }\n  .p-0 {\n    padding: 0;\n  }\n  .p-1 {\n    padding: 0.25rem;\n  }\n  .p-2 {\n    padding: 0.5rem;\n  }\n  .p-3 {\n    padding: 1rem;\n  }\n  .p-4 {\n    padding: 1.5rem;\n  }\n  .p-5 {\n    padding: 3rem;\n  }\n  .px-0 {\n    padding-inline: 0;\n  }\n  .px-1 {\n    padding-inline: 0.25rem;\n  }\n  .px-2 {\n    padding-inline: 0.5rem;\n  }\n  .px-3 {\n    padding-inline: 1rem;\n  }\n  .px-4 {\n    padding-inline: 1.5rem;\n  }\n  .px-5 {\n    padding-inline: 3rem;\n  }\n  .py-0 {\n    padding-block: 0;\n  }\n  .py-1 {\n    padding-block: 0.25rem;\n  }\n  .py-2 {\n    padding-block: 0.5rem;\n  }\n  .py-3 {\n    padding-block: 1rem;\n  }\n  .py-4 {\n    padding-block: 1.5rem;\n  }\n  .py-5 {\n    padding-block: 3rem;\n  }\n  .pt-0 {\n    padding-block-start: 0;\n  }\n  .pt-1 {\n    padding-block-start: 0.25rem;\n  }\n  .pt-2 {\n    padding-block-start: 0.5rem;\n  }\n  .pt-3 {\n    padding-block-start: 1rem;\n  }\n  .pt-4 {\n    padding-block-start: 1.5rem;\n  }\n  .pt-5 {\n    padding-block-start: 3rem;\n  }\n  .pe-0 {\n    padding-inline-end: 0;\n  }\n  .pe-1 {\n    padding-inline-end: 0.25rem;\n  }\n  .pe-2 {\n    padding-inline-end: 0.5rem;\n  }\n  .pe-3 {\n    padding-inline-end: 1rem;\n  }\n  .pe-4 {\n    padding-inline-end: 1.5rem;\n  }\n  .pe-5 {\n    padding-inline-end: 3rem;\n  }\n  .pb-0 {\n    padding-block-end: 0;\n  }\n  .pb-1 {\n    padding-block-end: 0.25rem;\n  }\n  .pb-2 {\n    padding-block-end: 0.5rem;\n  }\n  .pb-3 {\n    padding-block-end: 1rem;\n  }\n  .pb-4 {\n    padding-block-end: 1.5rem;\n  }\n  .pb-5 {\n    padding-block-end: 3rem;\n  }\n  .ps-0 {\n    padding-inline-start: 0;\n  }\n  .ps-1 {\n    padding-inline-start: 0.25rem;\n  }\n  .ps-2 {\n    padding-inline-start: 0.5rem;\n  }\n  .ps-3 {\n    padding-inline-start: 1rem;\n  }\n  .ps-4 {\n    padding-inline-start: 1.5rem;\n  }\n  .ps-5 {\n    padding-inline-start: 3rem;\n  }\n  .gap-0 {\n    gap: 0;\n  }\n  .gap-1 {\n    gap: 0.25rem;\n  }\n  .gap-2 {\n    gap: 0.5rem;\n  }\n  .gap-3 {\n    gap: 1rem;\n  }\n  .gap-4 {\n    gap: 1.5rem;\n  }\n  .gap-5 {\n    gap: 3rem;\n  }\n  .row-gap-0 {\n    row-gap: 0;\n  }\n  .row-gap-1 {\n    row-gap: 0.25rem;\n  }\n  .row-gap-2 {\n    row-gap: 0.5rem;\n  }\n  .row-gap-3 {\n    row-gap: 1rem;\n  }\n  .row-gap-4 {\n    row-gap: 1.5rem;\n  }\n  .row-gap-5 {\n    row-gap: 3rem;\n  }\n  .column-gap-0 {\n    column-gap: 0;\n  }\n  .column-gap-1 {\n    column-gap: 0.25rem;\n  }\n  .column-gap-2 {\n    column-gap: 0.5rem;\n  }\n  .column-gap-3 {\n    column-gap: 1rem;\n  }\n  .column-gap-4 {\n    column-gap: 1.5rem;\n  }\n  .column-gap-5 {\n    column-gap: 3rem;\n  }\n  .font-monospace {\n    font-family: var(--font-monospace);\n  }\n  .font-body {\n    font-family: var(--font-sans-serif);\n  }\n  .fs-xs {\n    font-size: var(--font-size-xs);\n  }\n  .fs-sm {\n    font-size: var(--font-size-sm);\n  }\n  .fs-md {\n    font-size: var(--font-size-md);\n  }\n  .fs-lg {\n    font-size: var(--font-size-lg);\n  }\n  .fs-xl {\n    font-size: var(--font-size-xl);\n  }\n  .fs-2xl {\n    font-size: var(--font-size-2xl);\n  }\n  .fs-3xl {\n    font-size: var(--font-size-3xl);\n  }\n  .fs-4xl {\n    font-size: var(--font-size-4xl);\n  }\n  .fs-5xl {\n    font-size: var(--font-size-5xl);\n  }\n  .fs-6xl {\n    font-size: var(--font-size-6xl);\n  }\n  .text-xs {\n    font-size: var(--font-size-xs);\n    line-height: var(--line-height-xs);\n  }\n  .text-sm {\n    font-size: var(--font-size-sm);\n    line-height: var(--line-height-sm);\n  }\n  .text-md {\n    font-size: var(--font-size-md);\n    line-height: var(--line-height-md);\n  }\n  .text-lg {\n    font-size: var(--font-size-lg);\n    line-height: var(--line-height-lg);\n  }\n  .text-xl {\n    font-size: var(--font-size-xl);\n    line-height: var(--line-height-xl);\n  }\n  .text-2xl {\n    font-size: var(--font-size-2xl);\n    line-height: var(--line-height-2xl);\n  }\n  .text-3xl {\n    font-size: var(--font-size-3xl);\n    line-height: var(--line-height-3xl);\n  }\n  .text-4xl {\n    font-size: var(--font-size-4xl);\n    line-height: var(--line-height-4xl);\n  }\n  .text-5xl {\n    font-size: var(--font-size-5xl);\n    line-height: var(--line-height-5xl);\n  }\n  .text-6xl {\n    font-size: var(--font-size-6xl);\n    line-height: var(--line-height-6xl);\n  }\n  .fst-italic {\n    font-style: italic;\n  }\n  .fst-normal {\n    font-style: normal;\n  }\n  .fw-lighter {\n    font-weight: lighter;\n  }\n  .fw-light {\n    font-weight: 300;\n  }\n  .fw-normal {\n    font-weight: 400;\n  }\n  .fw-medium {\n    font-weight: 500;\n  }\n  .fw-semibold {\n    font-weight: 600;\n  }\n  .fw-bold {\n    font-weight: 700;\n  }\n  .fw-bolder {\n    font-weight: bolder;\n  }\n  .lh-1 {\n    line-height: 1;\n  }\n  .lh-sm {\n    line-height: 1.25;\n  }\n  .lh-base {\n    line-height: 1.5;\n  }\n  .lh-lg {\n    line-height: 2;\n  }\n  .text-start {\n    text-align: start;\n  }\n  .text-end {\n    text-align: end;\n  }\n  .text-center {\n    text-align: center;\n  }\n  .text-decoration-none {\n    text-decoration: none;\n  }\n  .text-decoration-underline {\n    text-decoration: underline;\n  }\n  .text-decoration-line-through {\n    text-decoration: line-through;\n  }\n  .text-lowercase {\n    text-transform: lowercase;\n  }\n  .text-uppercase {\n    text-transform: uppercase;\n  }\n  .text-capitalize {\n    text-transform: capitalize;\n  }\n  .text-wrap {\n    white-space: wrap;\n  }\n  .text-nowrap {\n    white-space: nowrap;\n  }\n  .text-balance {\n    white-space: balance;\n  }\n  .text-pretty {\n    white-space: pretty;\n  }\n  .text-break {\n    word-wrap: break-word;\n    word-break: break-word;\n  }\n  .fg-primary {\n    --fg: light-dark(var(--blue-600), var(--blue-400));\n    color: var(--fg);\n  }\n  .fg-accent {\n    --fg: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n    color: var(--fg);\n  }\n  .fg-success {\n    --fg: light-dark(var(--green-600), var(--green-400));\n    color: var(--fg);\n  }\n  .fg-danger {\n    --fg: light-dark(var(--red-600), var(--red-400));\n    color: var(--fg);\n  }\n  .fg-warning {\n    --fg: light-dark(var(--yellow-700), var(--yellow-400));\n    color: var(--fg);\n  }\n  .fg-info {\n    --fg: light-dark(var(--cyan-600), var(--cyan-400));\n    color: var(--fg);\n  }\n  .fg-inverse {\n    --fg: light-dark(var(--gray-900), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-secondary {\n    --fg: light-dark(var(--gray-600), var(--gray-400));\n    color: var(--fg);\n  }\n  .fg-body {\n    --fg: light-dark(var(--gray-900), var(--gray-050));\n    color: var(--fg);\n  }\n  .fg-1 {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-2 {\n    --fg: light-dark(var(--gray-700), var(--gray-300));\n    color: var(--fg);\n  }\n  .fg-3 {\n    --fg: light-dark(var(--gray-600), var(--gray-500));\n    color: var(--fg);\n  }\n  .fg-4 {\n    --fg: light-dark(var(--gray-500), var(--gray-600));\n    color: var(--fg);\n  }\n  .fg-white {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-black {\n    --fg: var(--black);\n    color: var(--fg);\n  }\n  .fg-inherit {\n    --fg: inherit;\n    color: var(--fg);\n  }\n  .fg-emphasis-primary {\n    --fg: light-dark(var(--blue-800), var(--blue-200));\n    color: var(--fg);\n  }\n  .fg-emphasis-accent {\n    --fg: light-dark(var(--indigo-800), var(--indigo-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-success {\n    --fg: light-dark(var(--green-800), var(--green-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-danger {\n    --fg: light-dark(var(--red-800), var(--red-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-warning {\n    --fg: light-dark(var(--yellow-800), var(--yellow-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-info {\n    --fg: light-dark(var(--cyan-800), var(--cyan-300));\n    color: var(--fg);\n  }\n  .fg-emphasis-inverse {\n    --fg: light-dark(var(--gray-975), var(--white));\n    color: var(--fg);\n  }\n  .fg-emphasis-secondary {\n    --fg: light-dark(var(--gray-800), var(--gray-200));\n    color: var(--fg);\n  }\n  .fg-contrast-primary {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-accent {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-success {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-danger {\n    --fg: var(--white);\n    color: var(--fg);\n  }\n  .fg-contrast-warning {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-info {\n    --fg: var(--gray-900);\n    color: var(--fg);\n  }\n  .fg-contrast-inverse {\n    --fg: light-dark(var(--white), var(--gray-900));\n    color: var(--fg);\n  }\n  .fg-contrast-secondary {\n    --fg: light-dark(var(--gray-900), var(--white));\n    color: var(--fg);\n  }\n  .fg-10 {\n    color: color-mix(in oklch, var(--fg) 10%, transparent);\n  }\n  .fg-20 {\n    color: color-mix(in oklch, var(--fg) 20%, transparent);\n  }\n  .fg-30 {\n    color: color-mix(in oklch, var(--fg) 30%, transparent);\n  }\n  .fg-40 {\n    color: color-mix(in oklch, var(--fg) 40%, transparent);\n  }\n  .fg-50 {\n    color: color-mix(in oklch, var(--fg) 50%, transparent);\n  }\n  .fg-60 {\n    color: color-mix(in oklch, var(--fg) 60%, transparent);\n  }\n  .fg-70 {\n    color: color-mix(in oklch, var(--fg) 70%, transparent);\n  }\n  .fg-80 {\n    color: color-mix(in oklch, var(--fg) 80%, transparent);\n  }\n  .fg-90 {\n    color: color-mix(in oklch, var(--fg) 90%, transparent);\n  }\n  .fg-100 {\n    color: var(--fg);\n  }\n  .link-10 {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-10-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .link-20 {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-20-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .link-30 {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-30-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .link-40 {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-40-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .link-50 {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-50-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .link-60 {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-60-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .link-70 {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-70-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .link-80 {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-80-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .link-90 {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-90-hover:hover {\n    color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .link-100 {\n    color: var(--link-color);\n  }\n  .link-100-hover:hover {\n    color: var(--link-color);\n  }\n  .underline-offset-1 {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-1-hover:hover {\n    text-underline-offset: 0.125em;\n  }\n  .underline-offset-2 {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-2-hover:hover {\n    text-underline-offset: 0.25em;\n  }\n  .underline-offset-3 {\n    text-underline-offset: 0.375em;\n  }\n  .underline-offset-3-hover:hover {\n    text-underline-offset: 0.375em;\n  }\n  .underline-primary {\n    text-decoration-color: light-dark(var(--blue-600), var(--blue-400));\n  }\n  .underline-accent {\n    text-decoration-color: light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300)));\n  }\n  .underline-success {\n    text-decoration-color: light-dark(var(--green-600), var(--green-400));\n  }\n  .underline-danger {\n    text-decoration-color: light-dark(var(--red-600), var(--red-400));\n  }\n  .underline-warning {\n    text-decoration-color: light-dark(var(--yellow-700), var(--yellow-400));\n  }\n  .underline-info {\n    text-decoration-color: light-dark(var(--cyan-600), var(--cyan-400));\n  }\n  .underline-inverse {\n    text-decoration-color: light-dark(var(--gray-900), var(--gray-200));\n  }\n  .underline-secondary {\n    text-decoration-color: light-dark(var(--gray-600), var(--gray-400));\n  }\n  .underline-10 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-10-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 10%, transparent);\n  }\n  .underline-20 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-20-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 20%, transparent);\n  }\n  .underline-30 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-30-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 30%, transparent);\n  }\n  .underline-40 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-40-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 40%, transparent);\n  }\n  .underline-50 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-50-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 50%, transparent);\n  }\n  .underline-60 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-60-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 60%, transparent);\n  }\n  .underline-70 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-70-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 70%, transparent);\n  }\n  .underline-80 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-80-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 80%, transparent);\n  }\n  .underline-90 {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-90-hover:hover {\n    text-decoration-color: color-mix(in oklch, var(--link-color) 90%, transparent);\n  }\n  .underline-100 {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-100-hover:hover {\n    text-decoration-color: var(--link-color);\n  }\n  .underline-thickness-1 {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-1-hover:hover {\n    text-decoration-thickness: 1px;\n  }\n  .underline-thickness-2 {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-2-hover:hover {\n    text-decoration-thickness: 2px;\n  }\n  .underline-thickness-3 {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-3-hover:hover {\n    text-decoration-thickness: 3px;\n  }\n  .underline-thickness-4 {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-4-hover:hover {\n    text-decoration-thickness: 4px;\n  }\n  .underline-thickness-5 {\n    text-decoration-thickness: 5px;\n  }\n  .underline-thickness-5-hover:hover {\n    text-decoration-thickness: 5px;\n  }\n  .bg-primary {\n    --bg: var(--blue-500);\n    background-color: var(--bg);\n  }\n  .bg-accent {\n    --bg: var(--indigo-500);\n    background-color: var(--bg);\n  }\n  .bg-success {\n    --bg: var(--green-500);\n    background-color: var(--bg);\n  }\n  .bg-danger {\n    --bg: var(--red-500);\n    background-color: var(--bg);\n  }\n  .bg-warning {\n    --bg: var(--yellow-500);\n    background-color: var(--bg);\n  }\n  .bg-info {\n    --bg: var(--cyan-500);\n    background-color: var(--bg);\n  }\n  .bg-inverse {\n    --bg: light-dark(var(--gray-900), var(--gray-025));\n    background-color: var(--bg);\n  }\n  .bg-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-600));\n    background-color: var(--bg);\n  }\n  .bg-body {\n    --bg: light-dark(var(--white), var(--gray-975));\n    background-color: var(--bg);\n  }\n  .bg-1 {\n    --bg: light-dark(var(--gray-025), var(--gray-950));\n    background-color: var(--bg);\n  }\n  .bg-2 {\n    --bg: light-dark(var(--gray-050), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-3 {\n    --bg: light-dark(var(--gray-100), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-4 {\n    --bg: light-dark(var(--gray-200), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-white {\n    --bg: var(--white);\n    background-color: var(--bg);\n  }\n  .bg-black {\n    --bg: var(--black);\n    background-color: var(--bg);\n  }\n  .bg-transparent {\n    --bg: transparent;\n    background-color: var(--bg);\n  }\n  .bg-inherit {\n    --bg: inherit;\n    background-color: var(--bg);\n  }\n  .bg-subtle-primary {\n    --bg: light-dark(var(--blue-100), var(--blue-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-accent {\n    --bg: light-dark(var(--indigo-100), var(--indigo-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-success {\n    --bg: light-dark(var(--green-100), var(--green-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-danger {\n    --bg: light-dark(var(--red-100), var(--red-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-warning {\n    --bg: light-dark(var(--yellow-100), var(--yellow-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-info {\n    --bg: light-dark(var(--cyan-100), var(--cyan-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-inverse {\n    --bg: light-dark(var(--gray-100), var(--gray-900));\n    background-color: var(--bg);\n  }\n  .bg-subtle-secondary {\n    --bg: light-dark(var(--gray-050), var(--gray-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-primary {\n    --bg: light-dark(var(--blue-200), var(--blue-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-accent {\n    --bg: light-dark(var(--indigo-200), var(--indigo-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-success {\n    --bg: light-dark(var(--green-200), var(--green-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-danger {\n    --bg: light-dark(var(--red-200), var(--red-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-warning {\n    --bg: light-dark(var(--yellow-200), var(--yellow-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-info {\n    --bg: light-dark(var(--cyan-200), var(--cyan-800));\n    background-color: var(--bg);\n  }\n  .bg-muted-inverse {\n    --bg: light-dark(var(--gray-200), var(--gray-300));\n    background-color: var(--bg);\n  }\n  .bg-muted-secondary {\n    --bg: light-dark(var(--gray-100), var(--gray-700));\n    background-color: var(--bg);\n  }\n  .bg-10 {\n    background-color: color-mix(in oklch, var(--bg) 10%, transparent);\n  }\n  .bg-20 {\n    background-color: color-mix(in oklch, var(--bg) 20%, transparent);\n  }\n  .bg-30 {\n    background-color: color-mix(in oklch, var(--bg) 30%, transparent);\n  }\n  .bg-40 {\n    background-color: color-mix(in oklch, var(--bg) 40%, transparent);\n  }\n  .bg-50 {\n    background-color: color-mix(in oklch, var(--bg) 50%, transparent);\n  }\n  .bg-60 {\n    background-color: color-mix(in oklch, var(--bg) 60%, transparent);\n  }\n  .bg-70 {\n    background-color: color-mix(in oklch, var(--bg) 70%, transparent);\n  }\n  .bg-80 {\n    background-color: color-mix(in oklch, var(--bg) 80%, transparent);\n  }\n  .bg-90 {\n    background-color: color-mix(in oklch, var(--bg) 90%, transparent);\n  }\n  .bg-100 {\n    background-color: var(--bg);\n  }\n  .theme-contrast {\n    background-color: var(--theme-bg);\n    color: var(--theme-contrast);\n  }\n  .theme-subtle {\n    background-color: var(--theme-bg-subtle);\n    color: var(--theme-text);\n  }\n  .theme-muted {\n    background-color: var(--theme-bg-muted);\n    color: var(--theme-text-emphasis);\n  }\n  .theme-border {\n    border: var(--border-width) solid var(--theme-border);\n  }\n  .bg-gradient {\n    background-image: var(--gradient);\n  }\n  .user-select-all {\n    user-select: all;\n  }\n  .user-select-auto {\n    user-select: auto;\n  }\n  .user-select-none {\n    user-select: none;\n  }\n  .pe-none {\n    pointer-events: none;\n  }\n  .pe-auto {\n    pointer-events: auto;\n  }\n  .rounded {\n    border-radius: var(--border-radius);\n  }\n  .rounded-0 {\n    border-radius: 0;\n  }\n  .rounded-1 {\n    border-radius: var(--border-radius-sm);\n  }\n  .rounded-2 {\n    border-radius: var(--border-radius);\n  }\n  .rounded-3 {\n    border-radius: var(--border-radius-lg);\n  }\n  .rounded-4 {\n    border-radius: var(--border-radius-xl);\n  }\n  .rounded-5 {\n    border-radius: var(--border-radius-2xl);\n  }\n  .rounded-circle {\n    border-radius: 50%;\n  }\n  .rounded-pill {\n    border-radius: var(--border-radius-pill);\n  }\n  .rounded-top {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-top-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-top-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-top-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-top-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-top-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-top-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-top-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .rounded-end {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-end-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-end-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-end-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-end-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-end-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-end-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-end-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-bottom {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-0 {\n    border-end-end-radius: 0;\n    border-end-start-radius: 0;\n  }\n  .rounded-bottom-1 {\n    border-end-end-radius: var(--border-radius-sm);\n    border-end-start-radius: var(--border-radius-sm);\n  }\n  .rounded-bottom-2 {\n    border-end-end-radius: var(--border-radius);\n    border-end-start-radius: var(--border-radius);\n  }\n  .rounded-bottom-3 {\n    border-end-end-radius: var(--border-radius-lg);\n    border-end-start-radius: var(--border-radius-lg);\n  }\n  .rounded-bottom-4 {\n    border-end-end-radius: var(--border-radius-xl);\n    border-end-start-radius: var(--border-radius-xl);\n  }\n  .rounded-bottom-5 {\n    border-end-end-radius: var(--border-radius-2xl);\n    border-end-start-radius: var(--border-radius-2xl);\n  }\n  .rounded-bottom-circle {\n    border-end-end-radius: 50%;\n    border-end-start-radius: 50%;\n  }\n  .rounded-bottom-pill {\n    border-end-end-radius: var(--border-radius-pill);\n    border-end-start-radius: var(--border-radius-pill);\n  }\n  .rounded-start {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-0 {\n    border-start-start-radius: 0;\n    border-start-end-radius: 0;\n  }\n  .rounded-start-1 {\n    border-start-start-radius: var(--border-radius-sm);\n    border-start-end-radius: var(--border-radius-sm);\n  }\n  .rounded-start-2 {\n    border-start-start-radius: var(--border-radius);\n    border-start-end-radius: var(--border-radius);\n  }\n  .rounded-start-3 {\n    border-start-start-radius: var(--border-radius-lg);\n    border-start-end-radius: var(--border-radius-lg);\n  }\n  .rounded-start-4 {\n    border-start-start-radius: var(--border-radius-xl);\n    border-start-end-radius: var(--border-radius-xl);\n  }\n  .rounded-start-5 {\n    border-start-start-radius: var(--border-radius-2xl);\n    border-start-end-radius: var(--border-radius-2xl);\n  }\n  .rounded-start-circle {\n    border-start-start-radius: 50%;\n    border-start-end-radius: 50%;\n  }\n  .rounded-start-pill {\n    border-start-start-radius: var(--border-radius-pill);\n    border-start-end-radius: var(--border-radius-pill);\n  }\n  .visible {\n    visibility: visible;\n  }\n  .invisible {\n    visibility: hidden;\n  }\n  .z-n1 {\n    z-index: -1;\n  }\n  .z-0 {\n    z-index: 0;\n  }\n  .z-1 {\n    z-index: 1;\n  }\n  .z-2 {\n    z-index: 2;\n  }\n  .z-3 {\n    z-index: 3;\n  }\n  @media (width >= 576px) {\n    .float-sm-start {\n      float: inline-start;\n    }\n    .float-sm-end {\n      float: inline-end;\n    }\n    .float-sm-none {\n      float: none;\n    }\n    .object-fit-sm-contain {\n      object-fit: contain;\n    }\n    .object-fit-sm-cover {\n      object-fit: cover;\n    }\n    .object-fit-sm-fill {\n      object-fit: fill;\n    }\n    .object-fit-sm-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-sm-none {\n      object-fit: none;\n    }\n    .d-sm-inline {\n      display: inline;\n    }\n    .d-sm-inline-block {\n      display: inline-block;\n    }\n    .d-sm-block {\n      display: block;\n    }\n    .d-sm-grid {\n      display: grid;\n    }\n    .d-sm-inline-grid {\n      display: inline-grid;\n    }\n    .d-sm-table {\n      display: table;\n    }\n    .d-sm-table-row {\n      display: table-row;\n    }\n    .d-sm-table-cell {\n      display: table-cell;\n    }\n    .d-sm-flex {\n      display: flex;\n    }\n    .d-sm-inline-flex {\n      display: inline-flex;\n    }\n    .d-sm-contents {\n      display: contents;\n    }\n    .d-sm-flow-root {\n      display: flow-root;\n    }\n    .d-sm-none {\n      display: none;\n    }\n    .flex-sm-fill {\n      flex: 1 1 auto;\n    }\n    .flex-sm-row {\n      flex-direction: row;\n    }\n    .flex-sm-column {\n      flex-direction: column;\n    }\n    .flex-sm-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-sm-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-sm-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-sm-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-sm-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-sm-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-sm-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-sm-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-sm-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-sm-start {\n      justify-content: flex-start;\n    }\n    .justify-content-sm-end {\n      justify-content: flex-end;\n    }\n    .justify-content-sm-center {\n      justify-content: center;\n    }\n    .justify-content-sm-between {\n      justify-content: space-between;\n    }\n    .justify-content-sm-around {\n      justify-content: space-around;\n    }\n    .justify-content-sm-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-sm-start {\n      justify-items: start;\n    }\n    .justify-items-sm-end {\n      justify-items: end;\n    }\n    .justify-items-sm-center {\n      justify-items: center;\n    }\n    .justify-items-sm-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-sm-start {\n      justify-self: flex-start;\n    }\n    .justify-self-sm-end {\n      justify-self: flex-end;\n    }\n    .justify-self-sm-center {\n      justify-self: center;\n    }\n    .align-items-sm-start {\n      align-items: flex-start;\n    }\n    .align-items-sm-end {\n      align-items: flex-end;\n    }\n    .align-items-sm-center {\n      align-items: center;\n    }\n    .align-items-sm-baseline {\n      align-items: baseline;\n    }\n    .align-items-sm-stretch {\n      align-items: stretch;\n    }\n    .align-content-sm-start {\n      align-content: flex-start;\n    }\n    .align-content-sm-end {\n      align-content: flex-end;\n    }\n    .align-content-sm-center {\n      align-content: center;\n    }\n    .align-content-sm-between {\n      align-content: space-between;\n    }\n    .align-content-sm-around {\n      align-content: space-around;\n    }\n    .align-content-sm-stretch {\n      align-content: stretch;\n    }\n    .align-self-sm-auto {\n      align-self: auto;\n    }\n    .align-self-sm-start {\n      align-self: flex-start;\n    }\n    .align-self-sm-end {\n      align-self: flex-end;\n    }\n    .align-self-sm-center {\n      align-self: center;\n    }\n    .align-self-sm-baseline {\n      align-self: baseline;\n    }\n    .align-self-sm-stretch {\n      align-self: stretch;\n    }\n    .place-items-sm-start {\n      place-items: start;\n    }\n    .place-items-sm-end {\n      place-items: end;\n    }\n    .place-items-sm-center {\n      place-items: center;\n    }\n    .place-items-sm-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-sm-3 {\n      --columns: 3;\n    }\n    .grid-cols-sm-4 {\n      --columns: 4;\n    }\n    .grid-cols-sm-6 {\n      --columns: 6;\n    }\n    .grid-cols-sm-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-sm-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-sm-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-sm-dense {\n      grid-auto-flow: dense;\n    }\n    .order-sm-first {\n      order: -1;\n    }\n    .order-sm-0 {\n      order: 0;\n    }\n    .order-sm-1 {\n      order: 1;\n    }\n    .order-sm-2 {\n      order: 2;\n    }\n    .order-sm-3 {\n      order: 3;\n    }\n    .order-sm-4 {\n      order: 4;\n    }\n    .order-sm-5 {\n      order: 5;\n    }\n    .order-sm-last {\n      order: 6;\n    }\n    .m-sm-0 {\n      margin: 0;\n    }\n    .m-sm-1 {\n      margin: 0.25rem;\n    }\n    .m-sm-2 {\n      margin: 0.5rem;\n    }\n    .m-sm-3 {\n      margin: 1rem;\n    }\n    .m-sm-4 {\n      margin: 1.5rem;\n    }\n    .m-sm-5 {\n      margin: 3rem;\n    }\n    .m-sm-auto {\n      margin: auto;\n    }\n    .mx-sm-0 {\n      margin-inline: 0;\n    }\n    .mx-sm-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-sm-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-sm-3 {\n      margin-inline: 1rem;\n    }\n    .mx-sm-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-sm-5 {\n      margin-inline: 3rem;\n    }\n    .mx-sm-auto {\n      margin-inline: auto;\n    }\n    .my-sm-0 {\n      margin-block: 0;\n    }\n    .my-sm-1 {\n      margin-block: 0.25rem;\n    }\n    .my-sm-2 {\n      margin-block: 0.5rem;\n    }\n    .my-sm-3 {\n      margin-block: 1rem;\n    }\n    .my-sm-4 {\n      margin-block: 1.5rem;\n    }\n    .my-sm-5 {\n      margin-block: 3rem;\n    }\n    .my-sm-auto {\n      margin-block: auto;\n    }\n    .mt-sm-0 {\n      margin-block-start: 0;\n    }\n    .mt-sm-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-sm-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-sm-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-sm-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-sm-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-sm-auto {\n      margin-block-start: auto;\n    }\n    .me-sm-0 {\n      margin-inline-end: 0;\n    }\n    .me-sm-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-sm-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-sm-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-sm-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-sm-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-sm-auto {\n      margin-inline-end: auto;\n    }\n    .mb-sm-0 {\n      margin-block-end: 0;\n    }\n    .mb-sm-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-sm-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-sm-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-sm-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-sm-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-sm-auto {\n      margin-block-end: auto;\n    }\n    .ms-sm-0 {\n      margin-inline-start: 0;\n    }\n    .ms-sm-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-sm-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-sm-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-sm-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-sm-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-sm-auto {\n      margin-inline-start: auto;\n    }\n    .p-sm-0 {\n      padding: 0;\n    }\n    .p-sm-1 {\n      padding: 0.25rem;\n    }\n    .p-sm-2 {\n      padding: 0.5rem;\n    }\n    .p-sm-3 {\n      padding: 1rem;\n    }\n    .p-sm-4 {\n      padding: 1.5rem;\n    }\n    .p-sm-5 {\n      padding: 3rem;\n    }\n    .px-sm-0 {\n      padding-inline: 0;\n    }\n    .px-sm-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-sm-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-sm-3 {\n      padding-inline: 1rem;\n    }\n    .px-sm-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-sm-5 {\n      padding-inline: 3rem;\n    }\n    .py-sm-0 {\n      padding-block: 0;\n    }\n    .py-sm-1 {\n      padding-block: 0.25rem;\n    }\n    .py-sm-2 {\n      padding-block: 0.5rem;\n    }\n    .py-sm-3 {\n      padding-block: 1rem;\n    }\n    .py-sm-4 {\n      padding-block: 1.5rem;\n    }\n    .py-sm-5 {\n      padding-block: 3rem;\n    }\n    .pt-sm-0 {\n      padding-block-start: 0;\n    }\n    .pt-sm-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-sm-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-sm-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-sm-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-sm-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-sm-0 {\n      padding-inline-end: 0;\n    }\n    .pe-sm-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-sm-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-sm-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-sm-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-sm-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-sm-0 {\n      padding-block-end: 0;\n    }\n    .pb-sm-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-sm-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-sm-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-sm-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-sm-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-sm-0 {\n      padding-inline-start: 0;\n    }\n    .ps-sm-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-sm-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-sm-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-sm-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-sm-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-sm-0 {\n      gap: 0;\n    }\n    .gap-sm-1 {\n      gap: 0.25rem;\n    }\n    .gap-sm-2 {\n      gap: 0.5rem;\n    }\n    .gap-sm-3 {\n      gap: 1rem;\n    }\n    .gap-sm-4 {\n      gap: 1.5rem;\n    }\n    .gap-sm-5 {\n      gap: 3rem;\n    }\n    .row-gap-sm-0 {\n      row-gap: 0;\n    }\n    .row-gap-sm-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-sm-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-sm-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-sm-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-sm-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-sm-0 {\n      column-gap: 0;\n    }\n    .column-gap-sm-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-sm-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-sm-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-sm-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-sm-5 {\n      column-gap: 3rem;\n    }\n    .text-sm-start {\n      text-align: start;\n    }\n    .text-sm-end {\n      text-align: end;\n    }\n    .text-sm-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 768px) {\n    .float-md-start {\n      float: inline-start;\n    }\n    .float-md-end {\n      float: inline-end;\n    }\n    .float-md-none {\n      float: none;\n    }\n    .object-fit-md-contain {\n      object-fit: contain;\n    }\n    .object-fit-md-cover {\n      object-fit: cover;\n    }\n    .object-fit-md-fill {\n      object-fit: fill;\n    }\n    .object-fit-md-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-md-none {\n      object-fit: none;\n    }\n    .d-md-inline {\n      display: inline;\n    }\n    .d-md-inline-block {\n      display: inline-block;\n    }\n    .d-md-block {\n      display: block;\n    }\n    .d-md-grid {\n      display: grid;\n    }\n    .d-md-inline-grid {\n      display: inline-grid;\n    }\n    .d-md-table {\n      display: table;\n    }\n    .d-md-table-row {\n      display: table-row;\n    }\n    .d-md-table-cell {\n      display: table-cell;\n    }\n    .d-md-flex {\n      display: flex;\n    }\n    .d-md-inline-flex {\n      display: inline-flex;\n    }\n    .d-md-contents {\n      display: contents;\n    }\n    .d-md-flow-root {\n      display: flow-root;\n    }\n    .d-md-none {\n      display: none;\n    }\n    .flex-md-fill {\n      flex: 1 1 auto;\n    }\n    .flex-md-row {\n      flex-direction: row;\n    }\n    .flex-md-column {\n      flex-direction: column;\n    }\n    .flex-md-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-md-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-md-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-md-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-md-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-md-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-md-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-md-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-md-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-md-start {\n      justify-content: flex-start;\n    }\n    .justify-content-md-end {\n      justify-content: flex-end;\n    }\n    .justify-content-md-center {\n      justify-content: center;\n    }\n    .justify-content-md-between {\n      justify-content: space-between;\n    }\n    .justify-content-md-around {\n      justify-content: space-around;\n    }\n    .justify-content-md-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-md-start {\n      justify-items: start;\n    }\n    .justify-items-md-end {\n      justify-items: end;\n    }\n    .justify-items-md-center {\n      justify-items: center;\n    }\n    .justify-items-md-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-md-start {\n      justify-self: flex-start;\n    }\n    .justify-self-md-end {\n      justify-self: flex-end;\n    }\n    .justify-self-md-center {\n      justify-self: center;\n    }\n    .align-items-md-start {\n      align-items: flex-start;\n    }\n    .align-items-md-end {\n      align-items: flex-end;\n    }\n    .align-items-md-center {\n      align-items: center;\n    }\n    .align-items-md-baseline {\n      align-items: baseline;\n    }\n    .align-items-md-stretch {\n      align-items: stretch;\n    }\n    .align-content-md-start {\n      align-content: flex-start;\n    }\n    .align-content-md-end {\n      align-content: flex-end;\n    }\n    .align-content-md-center {\n      align-content: center;\n    }\n    .align-content-md-between {\n      align-content: space-between;\n    }\n    .align-content-md-around {\n      align-content: space-around;\n    }\n    .align-content-md-stretch {\n      align-content: stretch;\n    }\n    .align-self-md-auto {\n      align-self: auto;\n    }\n    .align-self-md-start {\n      align-self: flex-start;\n    }\n    .align-self-md-end {\n      align-self: flex-end;\n    }\n    .align-self-md-center {\n      align-self: center;\n    }\n    .align-self-md-baseline {\n      align-self: baseline;\n    }\n    .align-self-md-stretch {\n      align-self: stretch;\n    }\n    .place-items-md-start {\n      place-items: start;\n    }\n    .place-items-md-end {\n      place-items: end;\n    }\n    .place-items-md-center {\n      place-items: center;\n    }\n    .place-items-md-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-md-3 {\n      --columns: 3;\n    }\n    .grid-cols-md-4 {\n      --columns: 4;\n    }\n    .grid-cols-md-6 {\n      --columns: 6;\n    }\n    .grid-cols-md-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-md-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-md-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-md-dense {\n      grid-auto-flow: dense;\n    }\n    .order-md-first {\n      order: -1;\n    }\n    .order-md-0 {\n      order: 0;\n    }\n    .order-md-1 {\n      order: 1;\n    }\n    .order-md-2 {\n      order: 2;\n    }\n    .order-md-3 {\n      order: 3;\n    }\n    .order-md-4 {\n      order: 4;\n    }\n    .order-md-5 {\n      order: 5;\n    }\n    .order-md-last {\n      order: 6;\n    }\n    .m-md-0 {\n      margin: 0;\n    }\n    .m-md-1 {\n      margin: 0.25rem;\n    }\n    .m-md-2 {\n      margin: 0.5rem;\n    }\n    .m-md-3 {\n      margin: 1rem;\n    }\n    .m-md-4 {\n      margin: 1.5rem;\n    }\n    .m-md-5 {\n      margin: 3rem;\n    }\n    .m-md-auto {\n      margin: auto;\n    }\n    .mx-md-0 {\n      margin-inline: 0;\n    }\n    .mx-md-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-md-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-md-3 {\n      margin-inline: 1rem;\n    }\n    .mx-md-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-md-5 {\n      margin-inline: 3rem;\n    }\n    .mx-md-auto {\n      margin-inline: auto;\n    }\n    .my-md-0 {\n      margin-block: 0;\n    }\n    .my-md-1 {\n      margin-block: 0.25rem;\n    }\n    .my-md-2 {\n      margin-block: 0.5rem;\n    }\n    .my-md-3 {\n      margin-block: 1rem;\n    }\n    .my-md-4 {\n      margin-block: 1.5rem;\n    }\n    .my-md-5 {\n      margin-block: 3rem;\n    }\n    .my-md-auto {\n      margin-block: auto;\n    }\n    .mt-md-0 {\n      margin-block-start: 0;\n    }\n    .mt-md-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-md-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-md-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-md-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-md-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-md-auto {\n      margin-block-start: auto;\n    }\n    .me-md-0 {\n      margin-inline-end: 0;\n    }\n    .me-md-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-md-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-md-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-md-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-md-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-md-auto {\n      margin-inline-end: auto;\n    }\n    .mb-md-0 {\n      margin-block-end: 0;\n    }\n    .mb-md-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-md-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-md-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-md-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-md-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-md-auto {\n      margin-block-end: auto;\n    }\n    .ms-md-0 {\n      margin-inline-start: 0;\n    }\n    .ms-md-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-md-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-md-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-md-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-md-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-md-auto {\n      margin-inline-start: auto;\n    }\n    .p-md-0 {\n      padding: 0;\n    }\n    .p-md-1 {\n      padding: 0.25rem;\n    }\n    .p-md-2 {\n      padding: 0.5rem;\n    }\n    .p-md-3 {\n      padding: 1rem;\n    }\n    .p-md-4 {\n      padding: 1.5rem;\n    }\n    .p-md-5 {\n      padding: 3rem;\n    }\n    .px-md-0 {\n      padding-inline: 0;\n    }\n    .px-md-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-md-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-md-3 {\n      padding-inline: 1rem;\n    }\n    .px-md-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-md-5 {\n      padding-inline: 3rem;\n    }\n    .py-md-0 {\n      padding-block: 0;\n    }\n    .py-md-1 {\n      padding-block: 0.25rem;\n    }\n    .py-md-2 {\n      padding-block: 0.5rem;\n    }\n    .py-md-3 {\n      padding-block: 1rem;\n    }\n    .py-md-4 {\n      padding-block: 1.5rem;\n    }\n    .py-md-5 {\n      padding-block: 3rem;\n    }\n    .pt-md-0 {\n      padding-block-start: 0;\n    }\n    .pt-md-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-md-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-md-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-md-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-md-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-md-0 {\n      padding-inline-end: 0;\n    }\n    .pe-md-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-md-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-md-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-md-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-md-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-md-0 {\n      padding-block-end: 0;\n    }\n    .pb-md-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-md-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-md-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-md-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-md-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-md-0 {\n      padding-inline-start: 0;\n    }\n    .ps-md-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-md-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-md-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-md-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-md-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-md-0 {\n      gap: 0;\n    }\n    .gap-md-1 {\n      gap: 0.25rem;\n    }\n    .gap-md-2 {\n      gap: 0.5rem;\n    }\n    .gap-md-3 {\n      gap: 1rem;\n    }\n    .gap-md-4 {\n      gap: 1.5rem;\n    }\n    .gap-md-5 {\n      gap: 3rem;\n    }\n    .row-gap-md-0 {\n      row-gap: 0;\n    }\n    .row-gap-md-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-md-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-md-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-md-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-md-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-md-0 {\n      column-gap: 0;\n    }\n    .column-gap-md-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-md-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-md-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-md-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-md-5 {\n      column-gap: 3rem;\n    }\n    .text-md-start {\n      text-align: start;\n    }\n    .text-md-end {\n      text-align: end;\n    }\n    .text-md-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1024px) {\n    .float-lg-start {\n      float: inline-start;\n    }\n    .float-lg-end {\n      float: inline-end;\n    }\n    .float-lg-none {\n      float: none;\n    }\n    .object-fit-lg-contain {\n      object-fit: contain;\n    }\n    .object-fit-lg-cover {\n      object-fit: cover;\n    }\n    .object-fit-lg-fill {\n      object-fit: fill;\n    }\n    .object-fit-lg-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-lg-none {\n      object-fit: none;\n    }\n    .d-lg-inline {\n      display: inline;\n    }\n    .d-lg-inline-block {\n      display: inline-block;\n    }\n    .d-lg-block {\n      display: block;\n    }\n    .d-lg-grid {\n      display: grid;\n    }\n    .d-lg-inline-grid {\n      display: inline-grid;\n    }\n    .d-lg-table {\n      display: table;\n    }\n    .d-lg-table-row {\n      display: table-row;\n    }\n    .d-lg-table-cell {\n      display: table-cell;\n    }\n    .d-lg-flex {\n      display: flex;\n    }\n    .d-lg-inline-flex {\n      display: inline-flex;\n    }\n    .d-lg-contents {\n      display: contents;\n    }\n    .d-lg-flow-root {\n      display: flow-root;\n    }\n    .d-lg-none {\n      display: none;\n    }\n    .flex-lg-fill {\n      flex: 1 1 auto;\n    }\n    .flex-lg-row {\n      flex-direction: row;\n    }\n    .flex-lg-column {\n      flex-direction: column;\n    }\n    .flex-lg-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-lg-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-lg-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-lg-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-lg-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-lg-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-lg-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-lg-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-lg-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-lg-start {\n      justify-content: flex-start;\n    }\n    .justify-content-lg-end {\n      justify-content: flex-end;\n    }\n    .justify-content-lg-center {\n      justify-content: center;\n    }\n    .justify-content-lg-between {\n      justify-content: space-between;\n    }\n    .justify-content-lg-around {\n      justify-content: space-around;\n    }\n    .justify-content-lg-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-lg-start {\n      justify-items: start;\n    }\n    .justify-items-lg-end {\n      justify-items: end;\n    }\n    .justify-items-lg-center {\n      justify-items: center;\n    }\n    .justify-items-lg-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-lg-start {\n      justify-self: flex-start;\n    }\n    .justify-self-lg-end {\n      justify-self: flex-end;\n    }\n    .justify-self-lg-center {\n      justify-self: center;\n    }\n    .align-items-lg-start {\n      align-items: flex-start;\n    }\n    .align-items-lg-end {\n      align-items: flex-end;\n    }\n    .align-items-lg-center {\n      align-items: center;\n    }\n    .align-items-lg-baseline {\n      align-items: baseline;\n    }\n    .align-items-lg-stretch {\n      align-items: stretch;\n    }\n    .align-content-lg-start {\n      align-content: flex-start;\n    }\n    .align-content-lg-end {\n      align-content: flex-end;\n    }\n    .align-content-lg-center {\n      align-content: center;\n    }\n    .align-content-lg-between {\n      align-content: space-between;\n    }\n    .align-content-lg-around {\n      align-content: space-around;\n    }\n    .align-content-lg-stretch {\n      align-content: stretch;\n    }\n    .align-self-lg-auto {\n      align-self: auto;\n    }\n    .align-self-lg-start {\n      align-self: flex-start;\n    }\n    .align-self-lg-end {\n      align-self: flex-end;\n    }\n    .align-self-lg-center {\n      align-self: center;\n    }\n    .align-self-lg-baseline {\n      align-self: baseline;\n    }\n    .align-self-lg-stretch {\n      align-self: stretch;\n    }\n    .place-items-lg-start {\n      place-items: start;\n    }\n    .place-items-lg-end {\n      place-items: end;\n    }\n    .place-items-lg-center {\n      place-items: center;\n    }\n    .place-items-lg-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-lg-3 {\n      --columns: 3;\n    }\n    .grid-cols-lg-4 {\n      --columns: 4;\n    }\n    .grid-cols-lg-6 {\n      --columns: 6;\n    }\n    .grid-cols-lg-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-lg-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-lg-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-lg-dense {\n      grid-auto-flow: dense;\n    }\n    .order-lg-first {\n      order: -1;\n    }\n    .order-lg-0 {\n      order: 0;\n    }\n    .order-lg-1 {\n      order: 1;\n    }\n    .order-lg-2 {\n      order: 2;\n    }\n    .order-lg-3 {\n      order: 3;\n    }\n    .order-lg-4 {\n      order: 4;\n    }\n    .order-lg-5 {\n      order: 5;\n    }\n    .order-lg-last {\n      order: 6;\n    }\n    .m-lg-0 {\n      margin: 0;\n    }\n    .m-lg-1 {\n      margin: 0.25rem;\n    }\n    .m-lg-2 {\n      margin: 0.5rem;\n    }\n    .m-lg-3 {\n      margin: 1rem;\n    }\n    .m-lg-4 {\n      margin: 1.5rem;\n    }\n    .m-lg-5 {\n      margin: 3rem;\n    }\n    .m-lg-auto {\n      margin: auto;\n    }\n    .mx-lg-0 {\n      margin-inline: 0;\n    }\n    .mx-lg-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-lg-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-lg-3 {\n      margin-inline: 1rem;\n    }\n    .mx-lg-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-lg-5 {\n      margin-inline: 3rem;\n    }\n    .mx-lg-auto {\n      margin-inline: auto;\n    }\n    .my-lg-0 {\n      margin-block: 0;\n    }\n    .my-lg-1 {\n      margin-block: 0.25rem;\n    }\n    .my-lg-2 {\n      margin-block: 0.5rem;\n    }\n    .my-lg-3 {\n      margin-block: 1rem;\n    }\n    .my-lg-4 {\n      margin-block: 1.5rem;\n    }\n    .my-lg-5 {\n      margin-block: 3rem;\n    }\n    .my-lg-auto {\n      margin-block: auto;\n    }\n    .mt-lg-0 {\n      margin-block-start: 0;\n    }\n    .mt-lg-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-lg-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-lg-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-lg-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-lg-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-lg-auto {\n      margin-block-start: auto;\n    }\n    .me-lg-0 {\n      margin-inline-end: 0;\n    }\n    .me-lg-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-lg-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-lg-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-lg-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-lg-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-lg-auto {\n      margin-inline-end: auto;\n    }\n    .mb-lg-0 {\n      margin-block-end: 0;\n    }\n    .mb-lg-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-lg-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-lg-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-lg-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-lg-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-lg-auto {\n      margin-block-end: auto;\n    }\n    .ms-lg-0 {\n      margin-inline-start: 0;\n    }\n    .ms-lg-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-lg-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-lg-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-lg-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-lg-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-lg-auto {\n      margin-inline-start: auto;\n    }\n    .p-lg-0 {\n      padding: 0;\n    }\n    .p-lg-1 {\n      padding: 0.25rem;\n    }\n    .p-lg-2 {\n      padding: 0.5rem;\n    }\n    .p-lg-3 {\n      padding: 1rem;\n    }\n    .p-lg-4 {\n      padding: 1.5rem;\n    }\n    .p-lg-5 {\n      padding: 3rem;\n    }\n    .px-lg-0 {\n      padding-inline: 0;\n    }\n    .px-lg-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-lg-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-lg-3 {\n      padding-inline: 1rem;\n    }\n    .px-lg-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-lg-5 {\n      padding-inline: 3rem;\n    }\n    .py-lg-0 {\n      padding-block: 0;\n    }\n    .py-lg-1 {\n      padding-block: 0.25rem;\n    }\n    .py-lg-2 {\n      padding-block: 0.5rem;\n    }\n    .py-lg-3 {\n      padding-block: 1rem;\n    }\n    .py-lg-4 {\n      padding-block: 1.5rem;\n    }\n    .py-lg-5 {\n      padding-block: 3rem;\n    }\n    .pt-lg-0 {\n      padding-block-start: 0;\n    }\n    .pt-lg-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-lg-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-lg-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-lg-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-lg-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-lg-0 {\n      padding-inline-end: 0;\n    }\n    .pe-lg-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-lg-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-lg-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-lg-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-lg-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-lg-0 {\n      padding-block-end: 0;\n    }\n    .pb-lg-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-lg-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-lg-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-lg-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-lg-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-lg-0 {\n      padding-inline-start: 0;\n    }\n    .ps-lg-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-lg-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-lg-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-lg-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-lg-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-lg-0 {\n      gap: 0;\n    }\n    .gap-lg-1 {\n      gap: 0.25rem;\n    }\n    .gap-lg-2 {\n      gap: 0.5rem;\n    }\n    .gap-lg-3 {\n      gap: 1rem;\n    }\n    .gap-lg-4 {\n      gap: 1.5rem;\n    }\n    .gap-lg-5 {\n      gap: 3rem;\n    }\n    .row-gap-lg-0 {\n      row-gap: 0;\n    }\n    .row-gap-lg-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-lg-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-lg-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-lg-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-lg-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-lg-0 {\n      column-gap: 0;\n    }\n    .column-gap-lg-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-lg-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-lg-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-lg-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-lg-5 {\n      column-gap: 3rem;\n    }\n    .text-lg-start {\n      text-align: start;\n    }\n    .text-lg-end {\n      text-align: end;\n    }\n    .text-lg-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1280px) {\n    .float-xl-start {\n      float: inline-start;\n    }\n    .float-xl-end {\n      float: inline-end;\n    }\n    .float-xl-none {\n      float: none;\n    }\n    .object-fit-xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-xl-none {\n      object-fit: none;\n    }\n    .d-xl-inline {\n      display: inline;\n    }\n    .d-xl-inline-block {\n      display: inline-block;\n    }\n    .d-xl-block {\n      display: block;\n    }\n    .d-xl-grid {\n      display: grid;\n    }\n    .d-xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-xl-table {\n      display: table;\n    }\n    .d-xl-table-row {\n      display: table-row;\n    }\n    .d-xl-table-cell {\n      display: table-cell;\n    }\n    .d-xl-flex {\n      display: flex;\n    }\n    .d-xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-xl-contents {\n      display: contents;\n    }\n    .d-xl-flow-root {\n      display: flow-root;\n    }\n    .d-xl-none {\n      display: none;\n    }\n    .flex-xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-xl-row {\n      flex-direction: row;\n    }\n    .flex-xl-column {\n      flex-direction: column;\n    }\n    .flex-xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-xl-center {\n      justify-content: center;\n    }\n    .justify-content-xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-xl-start {\n      justify-items: start;\n    }\n    .justify-items-xl-end {\n      justify-items: end;\n    }\n    .justify-items-xl-center {\n      justify-items: center;\n    }\n    .justify-items-xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-xl-center {\n      justify-self: center;\n    }\n    .align-items-xl-start {\n      align-items: flex-start;\n    }\n    .align-items-xl-end {\n      align-items: flex-end;\n    }\n    .align-items-xl-center {\n      align-items: center;\n    }\n    .align-items-xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-xl-start {\n      align-content: flex-start;\n    }\n    .align-content-xl-end {\n      align-content: flex-end;\n    }\n    .align-content-xl-center {\n      align-content: center;\n    }\n    .align-content-xl-between {\n      align-content: space-between;\n    }\n    .align-content-xl-around {\n      align-content: space-around;\n    }\n    .align-content-xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-xl-auto {\n      align-self: auto;\n    }\n    .align-self-xl-start {\n      align-self: flex-start;\n    }\n    .align-self-xl-end {\n      align-self: flex-end;\n    }\n    .align-self-xl-center {\n      align-self: center;\n    }\n    .align-self-xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-xl-start {\n      place-items: start;\n    }\n    .place-items-xl-end {\n      place-items: end;\n    }\n    .place-items-xl-center {\n      place-items: center;\n    }\n    .place-items-xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-xl-first {\n      order: -1;\n    }\n    .order-xl-0 {\n      order: 0;\n    }\n    .order-xl-1 {\n      order: 1;\n    }\n    .order-xl-2 {\n      order: 2;\n    }\n    .order-xl-3 {\n      order: 3;\n    }\n    .order-xl-4 {\n      order: 4;\n    }\n    .order-xl-5 {\n      order: 5;\n    }\n    .order-xl-last {\n      order: 6;\n    }\n    .m-xl-0 {\n      margin: 0;\n    }\n    .m-xl-1 {\n      margin: 0.25rem;\n    }\n    .m-xl-2 {\n      margin: 0.5rem;\n    }\n    .m-xl-3 {\n      margin: 1rem;\n    }\n    .m-xl-4 {\n      margin: 1.5rem;\n    }\n    .m-xl-5 {\n      margin: 3rem;\n    }\n    .m-xl-auto {\n      margin: auto;\n    }\n    .mx-xl-0 {\n      margin-inline: 0;\n    }\n    .mx-xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-xl-auto {\n      margin-inline: auto;\n    }\n    .my-xl-0 {\n      margin-block: 0;\n    }\n    .my-xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-xl-3 {\n      margin-block: 1rem;\n    }\n    .my-xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-xl-5 {\n      margin-block: 3rem;\n    }\n    .my-xl-auto {\n      margin-block: auto;\n    }\n    .mt-xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-xl-auto {\n      margin-block-start: auto;\n    }\n    .me-xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-xl-0 {\n      padding: 0;\n    }\n    .p-xl-1 {\n      padding: 0.25rem;\n    }\n    .p-xl-2 {\n      padding: 0.5rem;\n    }\n    .p-xl-3 {\n      padding: 1rem;\n    }\n    .p-xl-4 {\n      padding: 1.5rem;\n    }\n    .p-xl-5 {\n      padding: 3rem;\n    }\n    .px-xl-0 {\n      padding-inline: 0;\n    }\n    .px-xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-xl-0 {\n      padding-block: 0;\n    }\n    .py-xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-xl-3 {\n      padding-block: 1rem;\n    }\n    .py-xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-xl-0 {\n      gap: 0;\n    }\n    .gap-xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-xl-3 {\n      gap: 1rem;\n    }\n    .gap-xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-xl-5 {\n      column-gap: 3rem;\n    }\n    .text-xl-start {\n      text-align: start;\n    }\n    .text-xl-end {\n      text-align: end;\n    }\n    .text-xl-center {\n      text-align: center;\n    }\n  }\n  @media (width >= 1536px) {\n    .float-2xl-start {\n      float: inline-start;\n    }\n    .float-2xl-end {\n      float: inline-end;\n    }\n    .float-2xl-none {\n      float: none;\n    }\n    .object-fit-2xl-contain {\n      object-fit: contain;\n    }\n    .object-fit-2xl-cover {\n      object-fit: cover;\n    }\n    .object-fit-2xl-fill {\n      object-fit: fill;\n    }\n    .object-fit-2xl-scale {\n      object-fit: scale-down;\n    }\n    .object-fit-2xl-none {\n      object-fit: none;\n    }\n    .d-2xl-inline {\n      display: inline;\n    }\n    .d-2xl-inline-block {\n      display: inline-block;\n    }\n    .d-2xl-block {\n      display: block;\n    }\n    .d-2xl-grid {\n      display: grid;\n    }\n    .d-2xl-inline-grid {\n      display: inline-grid;\n    }\n    .d-2xl-table {\n      display: table;\n    }\n    .d-2xl-table-row {\n      display: table-row;\n    }\n    .d-2xl-table-cell {\n      display: table-cell;\n    }\n    .d-2xl-flex {\n      display: flex;\n    }\n    .d-2xl-inline-flex {\n      display: inline-flex;\n    }\n    .d-2xl-contents {\n      display: contents;\n    }\n    .d-2xl-flow-root {\n      display: flow-root;\n    }\n    .d-2xl-none {\n      display: none;\n    }\n    .flex-2xl-fill {\n      flex: 1 1 auto;\n    }\n    .flex-2xl-row {\n      flex-direction: row;\n    }\n    .flex-2xl-column {\n      flex-direction: column;\n    }\n    .flex-2xl-row-reverse {\n      flex-direction: row-reverse;\n    }\n    .flex-2xl-column-reverse {\n      flex-direction: column-reverse;\n    }\n    .flex-2xl-grow-0 {\n      flex-grow: 0;\n    }\n    .flex-2xl-grow-1 {\n      flex-grow: 1;\n    }\n    .flex-2xl-shrink-0 {\n      flex-shrink: 0;\n    }\n    .flex-2xl-shrink-1 {\n      flex-shrink: 1;\n    }\n    .flex-2xl-wrap {\n      flex-wrap: wrap;\n    }\n    .flex-2xl-nowrap {\n      flex-wrap: nowrap;\n    }\n    .flex-2xl-wrap-reverse {\n      flex-wrap: wrap-reverse;\n    }\n    .justify-content-2xl-start {\n      justify-content: flex-start;\n    }\n    .justify-content-2xl-end {\n      justify-content: flex-end;\n    }\n    .justify-content-2xl-center {\n      justify-content: center;\n    }\n    .justify-content-2xl-between {\n      justify-content: space-between;\n    }\n    .justify-content-2xl-around {\n      justify-content: space-around;\n    }\n    .justify-content-2xl-evenly {\n      justify-content: space-evenly;\n    }\n    .justify-items-2xl-start {\n      justify-items: start;\n    }\n    .justify-items-2xl-end {\n      justify-items: end;\n    }\n    .justify-items-2xl-center {\n      justify-items: center;\n    }\n    .justify-items-2xl-stretch {\n      justify-items: stretch;\n    }\n    .justify-self-2xl-start {\n      justify-self: flex-start;\n    }\n    .justify-self-2xl-end {\n      justify-self: flex-end;\n    }\n    .justify-self-2xl-center {\n      justify-self: center;\n    }\n    .align-items-2xl-start {\n      align-items: flex-start;\n    }\n    .align-items-2xl-end {\n      align-items: flex-end;\n    }\n    .align-items-2xl-center {\n      align-items: center;\n    }\n    .align-items-2xl-baseline {\n      align-items: baseline;\n    }\n    .align-items-2xl-stretch {\n      align-items: stretch;\n    }\n    .align-content-2xl-start {\n      align-content: flex-start;\n    }\n    .align-content-2xl-end {\n      align-content: flex-end;\n    }\n    .align-content-2xl-center {\n      align-content: center;\n    }\n    .align-content-2xl-between {\n      align-content: space-between;\n    }\n    .align-content-2xl-around {\n      align-content: space-around;\n    }\n    .align-content-2xl-stretch {\n      align-content: stretch;\n    }\n    .align-self-2xl-auto {\n      align-self: auto;\n    }\n    .align-self-2xl-start {\n      align-self: flex-start;\n    }\n    .align-self-2xl-end {\n      align-self: flex-end;\n    }\n    .align-self-2xl-center {\n      align-self: center;\n    }\n    .align-self-2xl-baseline {\n      align-self: baseline;\n    }\n    .align-self-2xl-stretch {\n      align-self: stretch;\n    }\n    .place-items-2xl-start {\n      place-items: start;\n    }\n    .place-items-2xl-end {\n      place-items: end;\n    }\n    .place-items-2xl-center {\n      place-items: center;\n    }\n    .place-items-2xl-stretch {\n      place-items: stretch;\n    }\n    .grid-cols-2xl-3 {\n      --columns: 3;\n    }\n    .grid-cols-2xl-4 {\n      --columns: 4;\n    }\n    .grid-cols-2xl-6 {\n      --columns: 6;\n    }\n    .grid-cols-2xl-fill {\n      grid-column: 1 / -1;\n    }\n    .grid-auto-flow-2xl-row {\n      grid-auto-flow: row;\n    }\n    .grid-auto-flow-2xl-column {\n      grid-auto-flow: column;\n    }\n    .grid-auto-flow-2xl-dense {\n      grid-auto-flow: dense;\n    }\n    .order-2xl-first {\n      order: -1;\n    }\n    .order-2xl-0 {\n      order: 0;\n    }\n    .order-2xl-1 {\n      order: 1;\n    }\n    .order-2xl-2 {\n      order: 2;\n    }\n    .order-2xl-3 {\n      order: 3;\n    }\n    .order-2xl-4 {\n      order: 4;\n    }\n    .order-2xl-5 {\n      order: 5;\n    }\n    .order-2xl-last {\n      order: 6;\n    }\n    .m-2xl-0 {\n      margin: 0;\n    }\n    .m-2xl-1 {\n      margin: 0.25rem;\n    }\n    .m-2xl-2 {\n      margin: 0.5rem;\n    }\n    .m-2xl-3 {\n      margin: 1rem;\n    }\n    .m-2xl-4 {\n      margin: 1.5rem;\n    }\n    .m-2xl-5 {\n      margin: 3rem;\n    }\n    .m-2xl-auto {\n      margin: auto;\n    }\n    .mx-2xl-0 {\n      margin-inline: 0;\n    }\n    .mx-2xl-1 {\n      margin-inline: 0.25rem;\n    }\n    .mx-2xl-2 {\n      margin-inline: 0.5rem;\n    }\n    .mx-2xl-3 {\n      margin-inline: 1rem;\n    }\n    .mx-2xl-4 {\n      margin-inline: 1.5rem;\n    }\n    .mx-2xl-5 {\n      margin-inline: 3rem;\n    }\n    .mx-2xl-auto {\n      margin-inline: auto;\n    }\n    .my-2xl-0 {\n      margin-block: 0;\n    }\n    .my-2xl-1 {\n      margin-block: 0.25rem;\n    }\n    .my-2xl-2 {\n      margin-block: 0.5rem;\n    }\n    .my-2xl-3 {\n      margin-block: 1rem;\n    }\n    .my-2xl-4 {\n      margin-block: 1.5rem;\n    }\n    .my-2xl-5 {\n      margin-block: 3rem;\n    }\n    .my-2xl-auto {\n      margin-block: auto;\n    }\n    .mt-2xl-0 {\n      margin-block-start: 0;\n    }\n    .mt-2xl-1 {\n      margin-block-start: 0.25rem;\n    }\n    .mt-2xl-2 {\n      margin-block-start: 0.5rem;\n    }\n    .mt-2xl-3 {\n      margin-block-start: 1rem;\n    }\n    .mt-2xl-4 {\n      margin-block-start: 1.5rem;\n    }\n    .mt-2xl-5 {\n      margin-block-start: 3rem;\n    }\n    .mt-2xl-auto {\n      margin-block-start: auto;\n    }\n    .me-2xl-0 {\n      margin-inline-end: 0;\n    }\n    .me-2xl-1 {\n      margin-inline-end: 0.25rem;\n    }\n    .me-2xl-2 {\n      margin-inline-end: 0.5rem;\n    }\n    .me-2xl-3 {\n      margin-inline-end: 1rem;\n    }\n    .me-2xl-4 {\n      margin-inline-end: 1.5rem;\n    }\n    .me-2xl-5 {\n      margin-inline-end: 3rem;\n    }\n    .me-2xl-auto {\n      margin-inline-end: auto;\n    }\n    .mb-2xl-0 {\n      margin-block-end: 0;\n    }\n    .mb-2xl-1 {\n      margin-block-end: 0.25rem;\n    }\n    .mb-2xl-2 {\n      margin-block-end: 0.5rem;\n    }\n    .mb-2xl-3 {\n      margin-block-end: 1rem;\n    }\n    .mb-2xl-4 {\n      margin-block-end: 1.5rem;\n    }\n    .mb-2xl-5 {\n      margin-block-end: 3rem;\n    }\n    .mb-2xl-auto {\n      margin-block-end: auto;\n    }\n    .ms-2xl-0 {\n      margin-inline-start: 0;\n    }\n    .ms-2xl-1 {\n      margin-inline-start: 0.25rem;\n    }\n    .ms-2xl-2 {\n      margin-inline-start: 0.5rem;\n    }\n    .ms-2xl-3 {\n      margin-inline-start: 1rem;\n    }\n    .ms-2xl-4 {\n      margin-inline-start: 1.5rem;\n    }\n    .ms-2xl-5 {\n      margin-inline-start: 3rem;\n    }\n    .ms-2xl-auto {\n      margin-inline-start: auto;\n    }\n    .p-2xl-0 {\n      padding: 0;\n    }\n    .p-2xl-1 {\n      padding: 0.25rem;\n    }\n    .p-2xl-2 {\n      padding: 0.5rem;\n    }\n    .p-2xl-3 {\n      padding: 1rem;\n    }\n    .p-2xl-4 {\n      padding: 1.5rem;\n    }\n    .p-2xl-5 {\n      padding: 3rem;\n    }\n    .px-2xl-0 {\n      padding-inline: 0;\n    }\n    .px-2xl-1 {\n      padding-inline: 0.25rem;\n    }\n    .px-2xl-2 {\n      padding-inline: 0.5rem;\n    }\n    .px-2xl-3 {\n      padding-inline: 1rem;\n    }\n    .px-2xl-4 {\n      padding-inline: 1.5rem;\n    }\n    .px-2xl-5 {\n      padding-inline: 3rem;\n    }\n    .py-2xl-0 {\n      padding-block: 0;\n    }\n    .py-2xl-1 {\n      padding-block: 0.25rem;\n    }\n    .py-2xl-2 {\n      padding-block: 0.5rem;\n    }\n    .py-2xl-3 {\n      padding-block: 1rem;\n    }\n    .py-2xl-4 {\n      padding-block: 1.5rem;\n    }\n    .py-2xl-5 {\n      padding-block: 3rem;\n    }\n    .pt-2xl-0 {\n      padding-block-start: 0;\n    }\n    .pt-2xl-1 {\n      padding-block-start: 0.25rem;\n    }\n    .pt-2xl-2 {\n      padding-block-start: 0.5rem;\n    }\n    .pt-2xl-3 {\n      padding-block-start: 1rem;\n    }\n    .pt-2xl-4 {\n      padding-block-start: 1.5rem;\n    }\n    .pt-2xl-5 {\n      padding-block-start: 3rem;\n    }\n    .pe-2xl-0 {\n      padding-inline-end: 0;\n    }\n    .pe-2xl-1 {\n      padding-inline-end: 0.25rem;\n    }\n    .pe-2xl-2 {\n      padding-inline-end: 0.5rem;\n    }\n    .pe-2xl-3 {\n      padding-inline-end: 1rem;\n    }\n    .pe-2xl-4 {\n      padding-inline-end: 1.5rem;\n    }\n    .pe-2xl-5 {\n      padding-inline-end: 3rem;\n    }\n    .pb-2xl-0 {\n      padding-block-end: 0;\n    }\n    .pb-2xl-1 {\n      padding-block-end: 0.25rem;\n    }\n    .pb-2xl-2 {\n      padding-block-end: 0.5rem;\n    }\n    .pb-2xl-3 {\n      padding-block-end: 1rem;\n    }\n    .pb-2xl-4 {\n      padding-block-end: 1.5rem;\n    }\n    .pb-2xl-5 {\n      padding-block-end: 3rem;\n    }\n    .ps-2xl-0 {\n      padding-inline-start: 0;\n    }\n    .ps-2xl-1 {\n      padding-inline-start: 0.25rem;\n    }\n    .ps-2xl-2 {\n      padding-inline-start: 0.5rem;\n    }\n    .ps-2xl-3 {\n      padding-inline-start: 1rem;\n    }\n    .ps-2xl-4 {\n      padding-inline-start: 1.5rem;\n    }\n    .ps-2xl-5 {\n      padding-inline-start: 3rem;\n    }\n    .gap-2xl-0 {\n      gap: 0;\n    }\n    .gap-2xl-1 {\n      gap: 0.25rem;\n    }\n    .gap-2xl-2 {\n      gap: 0.5rem;\n    }\n    .gap-2xl-3 {\n      gap: 1rem;\n    }\n    .gap-2xl-4 {\n      gap: 1.5rem;\n    }\n    .gap-2xl-5 {\n      gap: 3rem;\n    }\n    .row-gap-2xl-0 {\n      row-gap: 0;\n    }\n    .row-gap-2xl-1 {\n      row-gap: 0.25rem;\n    }\n    .row-gap-2xl-2 {\n      row-gap: 0.5rem;\n    }\n    .row-gap-2xl-3 {\n      row-gap: 1rem;\n    }\n    .row-gap-2xl-4 {\n      row-gap: 1.5rem;\n    }\n    .row-gap-2xl-5 {\n      row-gap: 3rem;\n    }\n    .column-gap-2xl-0 {\n      column-gap: 0;\n    }\n    .column-gap-2xl-1 {\n      column-gap: 0.25rem;\n    }\n    .column-gap-2xl-2 {\n      column-gap: 0.5rem;\n    }\n    .column-gap-2xl-3 {\n      column-gap: 1rem;\n    }\n    .column-gap-2xl-4 {\n      column-gap: 1.5rem;\n    }\n    .column-gap-2xl-5 {\n      column-gap: 3rem;\n    }\n    .text-2xl-start {\n      text-align: start;\n    }\n    .text-2xl-end {\n      text-align: end;\n    }\n    .text-2xl-center {\n      text-align: center;\n    }\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","$file: \"\" !default;\n\n/*!\n  * Bootstrap #{$file} v6.0.0-dev (https://getbootstrap.com/)\n  * Copyright 2011-2026 The Bootstrap Authors\n  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n  */\n","@use \"config\" as *;\n\n// stylelint-disable hue-degree-notation, @stylistic/number-leading-zero\n\n// Easily convert colors to oklch() with https://oklch.com/\n$new-blue: oklch(60% 0.24 240) !default;\n$new-indigo: oklch(56% 0.26 288) !default;\n$new-violet: oklch(56% 0.24 300) !default;\n$new-purple: oklch(56% 0.24 320) !default;\n$new-pink: oklch(60% 0.22 4) !default;\n$new-red: oklch(60% 0.22 20) !default;\n$new-orange: oklch(70% 0.22 52) !default;\n$new-amber: oklch(79% 0.2 78) !default;\n$new-yellow: oklch(88% 0.24 88) !default;\n$new-lime: oklch(65% 0.24 135) !default;\n$new-green: oklch(64% 0.22 160) !default;\n$new-teal: oklch(68% 0.22 190) !default;\n$new-cyan: oklch(69% 0.22 220) !default;\n$new-brown: oklch(60% 0.12 54) !default;\n$new-gray: oklch(60% 0.02 245) !default;\n$new-pewter: oklch(65% 0.01 290) !default;\n\n$hues: (\n  \"blue\": $new-blue,\n  \"indigo\": $new-indigo,\n  \"violet\": $new-violet,\n  \"purple\": $new-purple,\n  \"pink\": $new-pink,\n  \"red\": $new-red,\n  \"orange\": $new-orange,\n  \"amber\": $new-amber,\n  \"yellow\": $new-yellow,\n  \"lime\": $new-lime,\n  \"green\": $new-green,\n  \"teal\": $new-teal,\n  \"cyan\": $new-cyan,\n  \"brown\": $new-brown,\n  \"gray\": $new-gray,\n  \"pewter\": $new-pewter\n) !default;\n\n:root {\n  @each $color, $hue in $hues {\n    --#{$color}-025: color-mix(in lab, #fff 94%, #{$hue});\n    --#{$color}-050: color-mix(in lab, #fff 90%, #{$hue});\n    --#{$color}-100: color-mix(in lab, #fff 80%, #{$hue});\n    --#{$color}-200: color-mix(in lab, #fff 60%, #{$hue});\n    --#{$color}-300: color-mix(in lab, #fff 40%, #{$hue});\n    --#{$color}-400: color-mix(in lab, #fff 20%, #{$hue});\n    --#{$color}-500: #{$hue};\n    --#{$color}-600: color-mix(in lab, #000 16%, #{$hue});\n    --#{$color}-700: color-mix(in lab, #000 32%, #{$hue});\n    --#{$color}-800: color-mix(in lab, #000 48%, #{$hue});\n    --#{$color}-900: color-mix(in lab, #000 64%, #{$hue});\n    --#{$color}-950: color-mix(in lab, #000 76%, #{$hue});\n    --#{$color}-975: color-mix(in lab, #000 88%, #{$hue});\n  }\n}\n\n$white: #fff !default;\n$black: #000 !default;\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"forms/form-variables\" as *;\n\n// mdo-do: do we need theme?\n@layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;\n\n// scss-docs-start root-tokens\n// stylelint-disable @stylistic/value-list-max-empty-lines\n$root-tokens: (\n  --black: #{$black},\n  --white: #{$white},\n  // Fonts\n  // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  --font-sans-serif: #{meta.inspect($font-family-sans-serif)},\n  --font-monospace: #{meta.inspect($font-family-monospace)},\n  --gradient: #{$gradient},\n  --body-font-family: #{meta.inspect($font-family-base)},\n\n  // scss-docs-start root-font-size-variables\n  --font-size-base: #{$font-size-base},\n  --font-size-xs: .75rem,\n  --font-size-sm: .875rem,\n  --font-size-md: 1rem,\n  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem),\n  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem),\n  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem),\n  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem),\n  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem),\n  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem),\n  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem),\n\n  --line-height-xs: 1.5,\n  --line-height-sm: 1.5,\n  --line-height-md: 1.5,\n  --line-height-lg: 1.5,\n  --line-height-xl: calc(2.5 / 1.75),\n  --line-height-2xl: calc(3 / 2.25),\n  --line-height-3xl: 1.2,\n  --line-height-4xl: 1.1,\n  --line-height-5xl: 1.1,\n  --line-height-6xl: 1,\n  // scss-docs-end root-font-size-variables\n\n  --body-font-size: #{$font-size-base},\n  --body-font-weight: #{$font-weight-base},\n  --body-line-height: #{$line-height-base},\n\n  --heading-color: #{$headings-color},\n\n  --hr-border-color: var(--border-color),\n\n  --link-color: light-dark(var(--primary-base), var(--primary-text)),\n  --link-decoration: #{$link-decoration},\n  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),\n\n  --code-color: #{$code-color},\n  --highlight-color: #{$mark-color},\n  --highlight-bg: #{$mark-bg},\n\n  // scss-docs-start root-border-var\n  --border-width: #{$border-width},\n  --border-style: #{$border-style},\n  --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),\n  --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),\n  // scss-docs-end root-border-var\n\n  // scss-docs-start root-border-radius-var\n  --border-radius: #{$border-radius},\n  --border-radius-sm: #{$border-radius-sm},\n  --border-radius-lg: #{$border-radius-lg},\n  --border-radius-xl: #{$border-radius-xl},\n  --border-radius-2xl: #{$border-radius-2xl},\n  --border-radius-pill: #{$border-radius-pill},\n  // scss-docs-end root-border-radius-var\n\n  --box-shadow: #{$box-shadow},\n  --box-shadow-sm: #{$box-shadow-sm},\n  --box-shadow-lg: #{$box-shadow-lg},\n  --box-shadow-inset: #{$box-shadow-inset},\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --focus-ring-width: 3px,\n  --focus-ring-offset: 1px,\n  --focus-ring-color: var(--primary-focus-ring),\n  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --form-valid-color: #{$form-valid-color},\n  --form-valid-border-color: #{$form-valid-border-color},\n  --form-invalid-color: #{$form-invalid-color},\n  --form-invalid-border-color: #{$form-invalid-border-color},\n  // scss-docs-end root-form-validation-variables\n) !default;\n// stylelint-enable @stylistic/value-list-max-empty-lines\n\n// Generate semantic theme colors\n@each $color-name, $color-map in $new-theme-colors {\n  @each $key, $value in $color-map {\n    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);\n  }\n}\n\n// Generate background tokens\n@each $key, $value in $theme-bgs {\n  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);\n}\n\n// Generate foreground tokens\n@each $key, $value in $theme-fgs {\n  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);\n}\n\n// Generate border tokens\n@each $key, $value in $theme-borders {\n  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);\n}\n// scss-docs-end root-tokens\n\n\n:root {\n  // scss-docs-start root-theme-variables\n  @each $prop, $value in $root-tokens {\n    #{$prop}: #{$value};\n  }\n  // scss-docs-end root-theme-variables\n\n  color-scheme: light dark;\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n\n  // // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // // Fonts\n\n  // // Note: Use `inspect` for lists so that quoted items keep the quotes.\n  // // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n  // --font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  // --font-monospace: #{meta.inspect($font-family-monospace)};\n  // --gradient: #{$gradient};\n  // --body-font-family: #{meta.inspect($font-family-base)};\n\n  // // scss-docs-start root-font-size-variables\n  // --font-size-base: #{$font-size-base}; // 14px\n\n  // --font-size-xs: .75rem;\n  // --font-size-sm: .875rem;\n  // --font-size-md: 1rem;\n  // --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);\n  // --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);\n  // --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);\n  // --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);\n  // --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);\n  // --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);\n  // --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);\n\n  // --line-height-xs: 1.5;\n  // --line-height-sm: 1.5;\n  // --line-height-md: 1.5;\n  // --line-height-lg: 1.5;\n  // --line-height-xl: calc(2.5 / 1.75);\n  // --line-height-2xl: calc(3 / 2.25);\n  // --line-height-3xl: 1.2;\n  // --line-height-4xl: 1.1;\n  // --line-height-5xl: 1.1;\n  // --line-height-6xl: 1;\n  // // scss-docs-end root-font-size-variables\n\n  // --body-font-size: #{$font-size-base};\n  // --body-font-weight: #{$font-weight-base};\n  // --body-line-height: #{$line-height-base};\n\n  // --heading-color: #{$headings-color};\n\n  // --hr-border-color: var(--border-color);\n\n  // --link-color: light-dark(var(--primary-base), var(--primary-text));\n  // --link-decoration: #{$link-decoration};\n  // --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);\n\n  // --code-color: #{$code-color};\n  // --highlight-color: #{$mark-color};\n  // --highlight-bg: #{$mark-bg};\n\n  // // scss-docs-start root-border-var\n  // --border-width: #{$border-width};\n  // --border-style: #{$border-style};\n  // --border-color: #{$border-color};\n  // --border-color-translucent: #{$border-color-translucent};\n  // // scss-docs-end root-border-var\n\n  // // scss-docs-start root-border-radius-var\n  // --border-radius: #{$border-radius};\n  // --border-radius-sm: #{$border-radius-sm};\n  // --border-radius-lg: #{$border-radius-lg};\n  // --border-radius-xl: #{$border-radius-xl};\n  // --border-radius-2xl: #{$border-radius-2xl};\n  // --border-radius-pill: #{$border-radius-pill};\n  // // scss-docs-end root-border-radius-var\n\n  // --box-shadow: #{$box-shadow};\n  // --box-shadow-sm: #{$box-shadow-sm};\n  // --box-shadow-lg: #{$box-shadow-lg};\n  // --box-shadow-inset: #{$box-shadow-inset};\n\n  // // Focus styles\n  // // scss-docs-start root-focus-variables\n  // --focus-ring-width: 3px;\n  // --focus-ring-offset: 1px;\n  // --focus-ring-color: var(--primary-focus-ring);\n  // --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);\n  // // scss-docs-end root-focus-variables\n\n  // // scss-docs-start root-form-validation-variables\n  // --form-valid-color: #{$form-valid-color};\n  // --form-valid-border-color: #{$form-valid-border-color};\n  // --form-invalid-color: #{$form-invalid-color};\n  // --form-invalid-border-color: #{$form-invalid-border-color};\n  // color-scheme: light;\n  // // scss-docs-end root-form-validation-variables\n\n  // Root and body\n  @if $font-size-root != null {\n    --root-font-size: #{$font-size-root};\n  }\n  @if $body-text-align != null {\n    --body-text-align: #{$body-text-align};\n  }\n}\n\n// @if $enable-dark-mode {\n//   @include color-mode(dark, true) {\n\n//     // scss-docs-start root-dark-mode-vars\n//     --heading-color: #{$headings-color-dark};\n\n//     --border-color: #{$border-color-dark};\n\n//     --form-valid-color: #{$form-valid-color-dark};\n//     --form-valid-border-color: #{$form-valid-border-color-dark};\n//     --form-invalid-color: #{$form-invalid-color-dark};\n//     --form-invalid-border-color: #{$form-invalid-border-color-dark};\n//     color-scheme: dark;\n//     // scss-docs-end root-dark-mode-vars\n//   }\n// }\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n\n// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n@layer reboot {\n  // Reboot\n  //\n  // Normalization of HTML elements, manually forked from Normalize.css to remove\n  // styles targeting irrelevant browsers while applying new styles.\n  //\n  // Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n  // Document\n  //\n  // Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n  *,\n  *::before,\n  *::after {\n    box-sizing: border-box;\n  }\n\n\n  // Root\n  //\n  // Ability to the value of the root font sizes, affecting the value of `rem`.\n  // null by default, thus nothing is generated.\n\n  :root {\n    @if $font-size-root != null {\n      font-size: var(--root-font-size);\n      // @include font-size(var(--root-font-size));\n    }\n\n    @if $enable-smooth-scroll {\n      @media (prefers-reduced-motion: no-preference) {\n        scroll-behavior: smooth;\n      }\n    }\n\n    accent-color: var(--primary-base);\n  }\n\n\n  // Body\n  //\n  // 1. Remove the margin in all browsers.\n  // 2. As a best practice, apply a default `background-color`.\n  // 3. Prevent adjustments of font size after orientation changes in iOS.\n  // 4. Change the default tap highlight to be completely transparent in iOS.\n\n  // scss-docs-start reboot-body-rules\n  body {\n    margin: 0; // 1\n    font-family: var(--body-font-family);\n    font-size: var(--body-font-size);\n    font-weight: var(--body-font-weight);\n    line-height: var(--body-line-height);\n    color: var(--fg-body);\n    text-align: var(--body-text-align);\n    background-color: var(--bg-body); // 2\n    -webkit-text-size-adjust: 100%; // 3\n    -webkit-tap-highlight-color: rgba($black, 0); // 4\n  }\n  // scss-docs-end reboot-body-rules\n\n  hr {\n    margin: $hr-margin-y 0;\n    border: 0;\n    border-block-start: var(--border-width) solid var(--hr-border-color);\n  }\n\n\n  // Typography\n  //\n  // 1. Remove top margins from headings\n  //    By default, `<h1>`-`<h6>` all receive top and bottom margins. We nuke the top\n  //    margin for easier control within type scales as it avoids margin collapsing.\n\n  %heading {\n    margin-top: 0; // 1\n    margin-bottom: $headings-margin-bottom;\n    font-family: $headings-font-family;\n    font-style: $headings-font-style;\n    font-weight: $headings-font-weight;\n    line-height: $headings-line-height;\n    color: var(--heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    font-size: $h1-font-size;\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    font-size: $h2-font-size;\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    font-size: $h3-font-size;\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    font-size: $h4-font-size;\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    font-size: $h5-font-size;\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    font-size: $h6-font-size;\n  }\n\n\n  // Reset margins on paragraphs\n  //\n  // Similarly, the top margin on `<p>`s get reset. However, we also reset the\n  // bottom margin to use `rem` units instead of `em`.\n\n  p {\n    margin-top: 0;\n    margin-bottom: $paragraph-margin-bottom;\n  }\n\n\n  // Abbreviations\n  //\n  // 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n  // 2. Add explicit cursor to indicate changed behavior.\n  // 3. Prevent the text-decoration to be skipped.\n\n  abbr[title] {\n    text-decoration: underline dotted; // 1\n    cursor: help; // 2\n    text-decoration-skip-ink: none; // 3\n  }\n\n\n  // Address\n\n  address {\n    margin-bottom: 1rem;\n    font-style: normal;\n    line-height: inherit;\n  }\n\n\n  // Lists\n\n  ol,\n  ul {\n    padding-inline-start: 2rem;\n  }\n\n  ol,\n  ul,\n  dl {\n    margin-top: 0;\n    margin-bottom: 1rem;\n  }\n\n  ol ol,\n  ul ul,\n  ol ul,\n  ul ol {\n    margin-bottom: 0;\n  }\n\n  dt {\n    font-weight: $dt-font-weight;\n  }\n\n  // 1. Undo browser default\n\n  dd {\n    margin-inline-start: 0; // 1\n    margin-bottom: .5rem;\n  }\n\n\n  // Blockquote\n\n  blockquote {\n    margin: 0 0 1rem;\n  }\n\n\n  // Strong\n  //\n  // Add the correct font weight in Chrome, Edge, and Safari\n\n  b,\n  strong {\n    font-weight: $font-weight-bolder;\n  }\n\n\n  // Small\n  //\n  // Add the correct font size in all browsers\n\n  small,\n  .small {\n    font-size: $small-font-size;\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--highlight-color);\n    background-color: var(--highlight-bg);\n  }\n\n\n  // Sub and Sup\n  //\n  // Prevent `sub` and `sup` elements from affecting the line height in\n  // all browsers.\n\n  sub,\n  sup {\n    position: relative;\n    font-size: $sub-sup-font-size;\n    line-height: 0;\n    vertical-align: baseline;\n  }\n\n  sub { bottom: -.25em; }\n  sup { top: -.5em; }\n\n\n  // Links\n\n  a {\n    color: var(--theme-text, var(--link-color));\n    text-decoration: var(--link-decoration);\n    text-underline-offset: $link-underline-offset;\n\n    &:hover {\n      // --link-color: var(--link-hover-color);\n      // --link-decoration: var(--link-hover-decoration, var(--link-decoration));\n      color: var(--theme-text-emphasis, var(--link-hover-color));\n      text-decoration: var(--link-hover-decoration, var(--link-decoration));\n    }\n  }\n\n  // And undo these styles for placeholder links/named anchors (without href).\n  // It would be more straightforward to just use a[href] in previous block, but that\n  // causes specificity issues in many other styles that are too complex to fix.\n  // See https://github.com/twbs/bootstrap/issues/19402\n\n  a:not([href]):not([class]) {\n    &,\n    &:hover {\n      color: inherit;\n      text-decoration: none;\n    }\n  }\n\n\n  // Code\n\n  pre,\n  code,\n  kbd,\n  samp {\n    font-family: $font-family-code;\n    font-size: 1em; // Correct the odd `em` font sizing in all browsers.\n  }\n\n  // 1. Remove browser default top margin\n  // 2. Reset browser default of `1em` to use `rem`s\n  // 3. Don't allow content to break outside\n\n  pre {\n    display: block;\n    margin-top: 0; // 1\n    margin-bottom: 1rem; // 2\n    overflow: auto; // 3\n    font-size: $code-font-size;\n    color: $pre-color;\n\n    // Account for some code outputs that place code tags in pre tags\n    code {\n      font-size: inherit;\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    font-size: $code-font-size;\n    color: var(--code-color);\n    word-wrap: break-word;\n\n    // Streamline the style when inside anchors to avoid broken underline and more\n    a > & {\n      color: inherit;\n    }\n  }\n\n  kbd {\n    padding: $kbd-padding-y $kbd-padding-x;\n    font-size: $kbd-font-size;\n    color: $kbd-color;\n    background-color: $kbd-bg;\n    @include border-radius($border-radius-sm);\n\n    kbd {\n      padding: 0;\n      font-size: 1em;\n      font-weight: inherit; // mdo-do: check if this is needed\n    }\n  }\n\n\n  // Figures\n  //\n  // Apply a consistent margin strategy (matches our type styles).\n\n  figure {\n    margin: 0 0 1rem;\n  }\n\n\n  // Images and content\n\n  img,\n  svg {\n    vertical-align: middle;\n  }\n\n\n  // Tables\n  //\n  // Prevent double borders\n\n  table {\n    caption-side: bottom;\n    border-collapse: collapse;\n  }\n\n  caption {\n    // padding-top: $table-cell-padding-y;\n    // padding-bottom: $table-cell-padding-y;\n    // color: $table-caption-color;\n    padding-block: .5rem;\n    color: var(--secondary-color);\n    text-align: start;\n  }\n\n  // 1. Removes font-weight bold by inheriting\n  // 2. Matches default `<td>` alignment by inheriting `text-align`.\n  // 3. Fix alignment for Safari\n\n  th {\n    // font-weight: $table-th-font-weight; // 1 // mdo-do: it's null by default. maybe we remove?\n    text-align: inherit; // 2\n    text-align: -webkit-match-parent; // 3\n  }\n\n  thead,\n  tbody,\n  tfoot,\n  tr,\n  td,\n  th {\n    border-color: inherit;\n    border-style: solid;\n    border-width: 0;\n  }\n\n\n  // Forms\n  //\n  // 1. Allow labels to use `margin` for spacing.\n\n  label {\n    display: inline-block; // 1\n  }\n\n  // Remove the default `border-radius` that macOS Chrome adds.\n  // See https://github.com/twbs/bootstrap/issues/24093\n\n  button {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 0;\n  }\n\n  // Explicitly remove focus outline in Chromium when it shouldn't be\n  // visible (e.g. as result of mouse click or touch tap). It already\n  // should be doing this automatically, but seems to currently be\n  // confused and applies its very visible two-tone outline anyway.\n\n  button:focus:not(:focus-visible) {\n    outline: 0;\n  }\n\n  // 1. Remove the margin in Firefox and Safari\n\n  input,\n  button,\n  select,\n  optgroup,\n  textarea {\n    margin: 0; // 1\n    font-family: inherit;\n    font-size: inherit;\n    line-height: inherit;\n  }\n\n  // Remove the inheritance of text transform in Firefox\n  button,\n  select {\n    text-transform: none;\n  }\n  // Set the cursor for non-`<button>` buttons\n  //\n  // Details at https://github.com/twbs/bootstrap/pull/30562\n  [role=\"button\"] {\n    cursor: pointer;\n  }\n\n  select {\n    // Remove the inheritance of word-wrap in Safari.\n    // See https://github.com/twbs/bootstrap/issues/24990\n    word-wrap: normal;\n\n    // Undo the opacity change from Chrome\n    &:disabled {\n      opacity: 1;\n    }\n  }\n\n  // Remove the dropdown arrow only from text type inputs built with datalists in Chrome.\n  // See https://stackoverflow.com/a/54997118\n\n  [list]:not([type=\"date\"]):not([type=\"datetime-local\"]):not([type=\"month\"]):not([type=\"week\"]):not([type=\"time\"])::-webkit-calendar-picker-indicator {\n    display: none !important;\n  }\n\n  // 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`\n  //    controls in Android 4.\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n  // 3. Opinionated: add \"hand\" cursor to non-disabled button elements.\n\n  button,\n  [type=\"button\"], // 1\n  [type=\"reset\"],\n  [type=\"submit\"] {\n    -webkit-appearance: button; // 2\n\n    @if $enable-button-pointers {\n      &:not(:disabled) {\n        cursor: pointer; // 3\n      }\n    }\n  }\n\n  // Remove inner border and padding from Firefox, but don't restore the outline like Normalize.\n\n  ::-moz-focus-inner {\n    padding: 0;\n    border-style: none;\n  }\n\n  // 1. Textareas should really only resize vertically so they don't break their (horizontal) containers.\n\n  textarea {\n    resize: vertical; // 1\n  }\n\n  // 1. Browsers set a default `min-width: min-content;` on fieldsets,\n  //    unlike e.g. `<div>`s, which have `min-width: 0;` by default.\n  //    So we reset that to ensure fieldsets behave more like a standard block element.\n  //    See https://github.com/twbs/bootstrap/issues/12359\n  //    and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements\n  // 2. Reset the default outline behavior of fieldsets so they don't affect page layout.\n\n  fieldset {\n    min-width: 0; // 1\n    padding: 0; // 2\n    margin: 0; // 2\n    border: 0; // 2\n  }\n\n  // 1. By using `float: inline-start`, the legend will behave like a block element.\n  //    This way the border of a fieldset wraps around the legend if present.\n  // 2. Fix wrapping bug.\n  //    See https://github.com/twbs/bootstrap/issues/29712\n\n  legend {\n    float: inline-start; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-size: $legend-font-size;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n\n    + * {\n      clear: inline-start; // 2\n    }\n  }\n\n  // Fix height of inputs with a type of datetime-local, date, month, week, or time\n  // See https://github.com/twbs/bootstrap/issues/18842\n\n  ::-webkit-datetime-edit-fields-wrapper,\n  ::-webkit-datetime-edit-text,\n  ::-webkit-datetime-edit-minute,\n  ::-webkit-datetime-edit-hour-field,\n  ::-webkit-datetime-edit-day-field,\n  ::-webkit-datetime-edit-month-field,\n  ::-webkit-datetime-edit-year-field {\n    padding: 0;\n  }\n\n  ::-webkit-inner-spin-button {\n    height: auto;\n  }\n\n  // 1. This overrides the extra rounded corners on search inputs in iOS so that our\n  //    `.form-control` class can properly style them. Note that this cannot simply\n  //    be added to `.form-control` as it's not specific enough. For details, see\n  //    https://github.com/twbs/bootstrap/issues/11586.\n  // 2. Correct the outline style in Safari.\n\n  [type=\"search\"] {\n    -webkit-appearance: textfield; // 1\n    outline-offset: -2px; // 2\n\n    // 3. Better affordance and consistent appearance for search cancel button\n    &::-webkit-search-cancel-button {\n      cursor: pointer;\n      filter: grayscale(1);\n    }\n  }\n\n  // A few input types should stay LTR regardless of document direction\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\n\n  // Remove the inner padding in Chrome and Safari on macOS.\n\n  ::-webkit-search-decoration {\n    -webkit-appearance: none;\n  }\n\n  // Remove padding around color pickers in webkit browsers\n\n  ::-webkit-color-swatch-wrapper {\n    padding: 0;\n  }\n\n\n  // 1. Inherit font family and line height for file input buttons\n  // 2. Correct the inability to style clickable types in iOS and Safari.\n\n  ::file-selector-button {\n    font: inherit; // 1\n    -webkit-appearance: button; // 2\n  }\n\n  // Correct element displays\n\n  output {\n    display: inline-block;\n  }\n\n  // Remove border from iframe\n\n  iframe {\n    border: 0;\n  }\n\n  // Summary\n  //\n  // 1. Add the correct display in all browsers\n\n  summary {\n    display: list-item; // 1\n    cursor: pointer;\n  }\n\n\n  // Progress\n  //\n  // Add the correct vertical alignment in Chrome, Firefox, and Opera.\n\n  progress {\n    vertical-align: baseline;\n  }\n\n\n  // Hidden attribute\n  //\n  // Always hide an element with the `hidden` HTML attribute.\n\n  [hidden] {\n    display: none !important;\n  }\n}\n","@use \"sass:color\";\n@use \"sass:string\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"functions\" as *;\n\n// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.\n\n// scss-docs-start theme-color-variables\n// $primary:       $blue-500 !default;\n// $secondary:     var(--gray-600) !default;\n// $success:       $green-500 !default;\n// $info:          $cyan-500 !default;\n// $warning:       $yellow-500 !default;\n// $danger:        $red-500 !default;\n// $light:         var(--gray-100) !default;\n// $dark:          var(--gray-900) !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n// $theme-colors: (\n//   \"primary\":    $primary,\n//   \"secondary\":  $secondary,\n//   \"success\":    $success,\n//   \"info\":       $info,\n//   \"warning\":    $warning,\n//   \"danger\":     $danger,\n//   \"light\":      $light,\n//   \"dark\":       $dark\n// ) !default;\n// scss-docs-end theme-colors-map\n\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\n// // Options\n// //\n// // Quickly modify global styling by enabling or disabling optional features.\n\n// $enable-caret:                true !default;\n// $enable-rounded:              true !default;\n// $enable-shadows:              false !default;\n// $enable-gradients:            false !default;\n// $enable-transitions:          true !default;\n// $enable-reduced-motion:       true !default;\n// $enable-smooth-scroll:        true !default;\n// $enable-grid-classes:         true !default;\n// $enable-container-classes:    true !default;\n// $enable-cssgrid:              false !default;\n// $enable-button-pointers:      true !default;\n// $enable-rfs:                  true !default;\n// $enable-validation-icons:     true !default;\n// $enable-negative-margins:     false !default;\n// $enable-deprecation-messages: true !default;\n\n// $enable-dark-mode:            true !default;\n// $color-mode-type:             data !default; // `data` or `media-query`\n\n// // Prefix for :root CSS variables\n// :                      bs- !default;\n\n// $color-mode-type:          \"media-query\" !default;\n// $color-contrast-dark:      #000 !default;\n// $color-contrast-light:     #fff !default;\n// $min-contrast-ratio:         4.5 !default;\n\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n  0: 0,\n  50: 50%,\n  100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `<body>` element.\n\n$body-text-align:           null !default;\n\n// Links\n//\n// Style anchor elements.\n\n// $link-color:                              var !default;\n$link-decoration:                         underline !default;\n$link-underline-offset:                   .2em !default;\n$link-shade-percentage:                   20% !default;\n// $link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n// $link-hover-decoration:                   $link-decoration !default;\n\n$stretched-link-pseudo-element:           after !default;\n$stretched-link-z-index:                  1 !default;\n\n// Icon links\n// scss-docs-start icon-link-variables\n$icon-link-gap:               .375rem !default;\n$icon-link-underline-offset:  .25em !default;\n$icon-link-icon-size:         1em !default;\n$icon-link-icon-transition:   .2s ease-in-out transform !default;\n$icon-link-icon-transform:    translate3d(.25em, 0, 0) !default;\n// scss-docs-end icon-link-variables\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom:   1rem !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width:                1px !default;\n$border-widths: (\n  1: 1px,\n  2: 2px,\n  3: 3px,\n  4: 4px,\n  5: 5px\n) !default;\n$border-style:                solid !default;\n$border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;\n$border-color-translucent:    color-mix(in oklch, var(--fg-body) 15%, transparent) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .5rem !default;\n$border-radius-sm:            .375rem !default;\n$border-radius-lg:            .75rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-2xl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      var(--primary-focus-ring) !default;\n$focus-ring-blur:       0 !default;\n$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;\n// scss-docs-end focus-ring-variables\n\n$component-active-color:      var(--primary-contrast) !default;\n$component-active-bg:         var(--primary-bg) !default;\n\n$transition-base:             all .2s ease-in-out !default;\n$transition-fade:             opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse:         height .35s ease !default;\n$transition-collapse-width:   width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"auto\": auto,\n  \"1x1\": #{\"1 / 1\"},\n  \"4x3\": #{\"4 / 3\"},\n  \"16x9\": #{\"16 / 9\"},\n  \"21x9\": #{\"21 / 9\"}\n) !default;\n// scss-docs-end aspect-ratios\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif:      system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, 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// stylelint-enable value-keyword-case\n$font-family-base:            var(--font-sans-serif) !default;\n$font-family-code:            var(--font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root:              16px !default;\n$font-size-base:              14px !default; // Assumes the browser default, typically `16px`\n$font-size-sm:                $font-size-base * .875 !default;\n$font-size-lg:                $font-size-base * 1.25 !default;\n\n$font-weight-lighter:         lighter !default;\n$font-weight-light:           300 !default;\n$font-weight-normal:          400 !default;\n$font-weight-medium:          500 !default;\n$font-weight-semibold:        600 !default;\n$font-weight-bold:            700 !default;\n$font-weight-bolder:          bolder !default;\n\n$font-weight-base:            $font-weight-normal !default;\n\n$line-height-base:            1.5 !default;\n$line-height-sm:              1.25 !default;\n$line-height-lg:              2 !default;\n\n$h1-font-size: var(--font-size-3xl) !default;\n$h2-font-size: var(--font-size-2xl) !default;\n$h3-font-size: var(--font-size-xl) !default;\n$h4-font-size: var(--font-size-lg) !default;\n$h5-font-size: var(--font-size-md) !default;\n$h6-font-size: var(--font-size-sm) !default;\n// scss-docs-end font-variables\n\n// Font sizes with line-height for utilities\n$font-sizes: (\n  \"xs\": (\n    \"font-size\": var(--font-size-xs),\n    \"line-height\": var(--line-height-xs)\n  ),\n  \"sm\": (\n    \"font-size\": var(--font-size-sm),\n    \"line-height\": var(--line-height-sm)\n  ),\n  \"md\": (\n    \"font-size\": var(--font-size-md),\n    \"line-height\": var(--line-height-md)\n  ),\n  \"lg\": (\n    \"font-size\": var(--font-size-lg),\n    \"line-height\": var(--line-height-lg)\n  ),\n  \"xl\": (\n    \"font-size\": var(--font-size-xl),\n    \"line-height\": var(--line-height-xl)\n  ),\n  \"2xl\": (\n    \"font-size\": var(--font-size-2xl),\n    \"line-height\": var(--line-height-2xl)\n  ),\n  \"3xl\": (\n    \"font-size\": var(--font-size-3xl),\n    \"line-height\": var(--line-height-3xl)\n  ),\n  \"4xl\": (\n    \"font-size\": var(--font-size-4xl),\n    \"line-height\": var(--line-height-4xl)\n  ),\n  \"5xl\": (\n    \"font-size\": var(--font-size-5xl),\n    \"line-height\": var(--line-height-5xl)\n  ),\n  \"6xl\": (\n    \"font-size\": var(--font-size-6xl),\n    \"line-height\": var(--line-height-6xl)\n  ),\n) !default;\n\n// scss-docs-start headings-variables\n$headings-margin-bottom:      $spacer * .5 !default;\n$headings-font-family:        null !default;\n$headings-font-style:         null !default;\n$headings-font-weight:        500 !default;\n$headings-line-height:        1.2 !default;\n$headings-color:              inherit !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start type-variables\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n$initialism-font-size:        $small-font-size !default;\n\n$blockquote-margin-y:         $spacer !default;\n$blockquote-font-size:        $font-size-base * 1.25 !default;\n$blockquote-footer-color:     var(--gray-600) !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--border-width) !default;\n// scss-docs-end vr-variables\n\n$legend-margin-bottom:        .5rem !default;\n$legend-font-size:            1.5rem !default;\n$legend-font-weight:          null !default;\n\n$dt-font-weight:              $font-weight-bold !default;\n\n$list-inline-padding:         .5rem !default;\n\n$mark-padding:                .1875em !default;\n$mark-color:                  var(--fg-body) !default;\n$mark-bg:                     light-dark(var(--yellow-100), var(--yellow-900)) !default;\n// scss-docs-end type-variables\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown:                   1000 !default;\n$zindex-sticky:                     1020 !default;\n$zindex-fixed:                      1030 !default;\n$zindex-offcanvas-backdrop:         1040 !default;\n$zindex-offcanvas:                  1045 !default;\n$zindex-dialog:                     1055 !default;\n$zindex-popover:                    1070 !default;\n$zindex-tooltip:                    1080 !default;\n$zindex-toast:                      1090 !default;\n// scss-docs-end zindex-stack\n\n// scss-docs-start zindex-levels-map\n$zindex-levels: (\n  n1: -1,\n  0: 0,\n  1: 1,\n  2: 2,\n  3: 3\n) !default;\n// scss-docs-end zindex-levels-map\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $spacer !default;\n$offcanvas-padding-x:               $spacer !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            var(--border-color-translucent) !default;\n$offcanvas-border-width:            var(--border-width) !default;\n$offcanvas-title-line-height:       $line-height-base !default;\n$offcanvas-bg-color:                var(--bg-body) !default;\n$offcanvas-color:                   var(--fg-body) !default;\n$offcanvas-box-shadow:              var(--box-shadow-sm) !default;\n$offcanvas-backdrop-bg:             $black !default;\n$offcanvas-backdrop-opacity:        .5 !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    95% !default;\n$code-color:                        var(--secondary-text) !default;\n\n$kbd-padding-y:                     .1875rem !default;\n$kbd-padding-x:                     .375rem !default;\n$kbd-font-size:                     $code-font-size !default;\n$kbd-color:                         var(--bg-body) !default;\n$kbd-bg:                            var(--fg-body) !default;\n\n$pre-color:                         null !default;\n\n// Dark color mode variables\n//\n// Custom variables for the `[data-bs-theme=\"dark\"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.\n\n//\n// Global colors\n//\n\n// scss-docs-start sass-dark-mode-vars\n// $body-color-dark:                   var(--gray-200) !default;\n// $body-bg-dark:                      var(--gray-975) !default;\n// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n// $body-secondary-bg-dark:            var(--gray-800) !default;\n// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;\n$border-color-dark:                 var(--gray-700) !default;\n$headings-color-dark:               inherit !default;\n// $mark-color-dark:                   $body-color-dark !default;\n// $mark-bg-dark:                      var(--yellow-800) !default;\n\n\n//\n// Forms\n//\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             var(--green-300) !default;\n$form-valid-border-color-dark:      var(--green-300) !default;\n$form-invalid-color-dark:           var(--red-300) !default;\n$form-invalid-border-color-dark:    var(--red-300) !default;\n// scss-docs-end form-validation-colors-dark\n// scss-docs-end sass-dark-mode-vars\n","@use \"sass:list\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// stylelint-disable property-disallowed-list\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 meta.type-of($value) == number {\n      $return: list.append($return, math.max($value, 0));\n    } @else {\n      $return: list.append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// scss-docs-start border-radius-mixins\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: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-start-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-start-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-end-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-end-start-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/lists\" as *;\n\n@layer content {\n  //\n  // Lists\n  //\n\n  .list-unstyled {\n    @include list-unstyled();\n  }\n\n  // Inline turns list items into inline-block\n  .list-inline {\n    @include list-unstyled();\n  }\n  .list-inline-item {\n    display: inline-block;\n\n    &:not(:last-child) {\n      margin-inline-end: $list-inline-padding;\n    }\n  }\n\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    font-size: $initialism-font-size;\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    margin-bottom: $blockquote-margin-y;\n    font-size: $blockquote-font-size;\n\n    > :last-child {\n      margin-bottom: 0;\n    }\n  }\n\n  .blockquote-footer {\n    margin-top: -$blockquote-margin-y;\n    margin-bottom: $blockquote-margin-y;\n    font-size: $blockquote-footer-font-size;\n    color: $blockquote-footer-color;\n\n    &::before {\n      content: \"\\2014\\00A0\"; // em dash, nbsp\n    }\n  }\n}\n","// Lists\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n@mixin list-unstyled {\n  padding-inline-start: 0;\n  list-style: none;\n}\n","// Configuration\n//\n// Variables and settings not related to theme, components, and more go here. It does include layout.\n\n$enable-caret:                true !default;\n$enable-rounded:              true !default;\n$enable-shadows:              true !default;\n$enable-gradients:            false !default;\n$enable-transitions:          true !default;\n$enable-reduced-motion:       true !default;\n$enable-smooth-scroll:        true !default;\n$enable-grid-classes:         true !default;\n$enable-container-classes:    true !default;\n$enable-cssgrid:              true !default;\n$enable-button-pointers:      true !default;\n$enable-validation-icons:     true !default;\n$enable-negative-margins:     false !default;\n$enable-deprecation-messages: true !default;\n\n$enable-dark-mode:            true !default;\n$color-mode-type:             data !default; // `data` or `media-query`\n\n// more to come here…\n\n$color-mode-type:          \"media-query\" !default;\n$color-contrast-dark:      #000 !default;\n$color-contrast-light:     #fff !default;\n$min-contrast-ratio:         4.5 !default;\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n  0: 0,\n  1: $spacer * .25,\n  2: $spacer * .5,\n  3: $spacer,\n  4: $spacer * 1.5,\n  5: $spacer * 3,\n) !default;\n// scss-docs-end spacer-variables-maps\n\n$sizes: (\n  1: $spacer,\n  2: calc($spacer * 2),\n  3: calc($spacer * 3),\n  4: calc($spacer * 4),\n  5: calc($spacer * 5),\n  6: calc($spacer * 6),\n  7: calc($spacer * 7),\n  8: calc($spacer * 8),\n  9: calc($spacer * 9),\n  10: calc($spacer * 10),\n  11: calc($spacer * 11),\n  12: calc($spacer * 12),\n) !default;\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n  xs: 0,\n  sm: 576px,\n  md: 768px,\n  lg: 1024px,\n  xl: 1280px,\n  2xl: 1536px\n) !default;\n// scss-docs-end grid-breakpoints\n\n// @include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n// @include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n  sm: 540px,\n  md: 720px,\n  lg: 960px,\n  xl: 1200px,\n  2xl: 1440px\n) !default;\n// scss-docs-end container-max-widths\n\n$container-padding-x: $grid-gutter-width !default;\n\n$utilities: () !default;\n\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","@use \"sass:color\";\n@use \"sass:map\";\n@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// scss-docs-start table-variables\n$table-cell-padding-y:        .5rem !default;\n$table-cell-padding-x:        .5rem !default;\n$table-cell-padding-y-sm:     .25rem !default;\n$table-cell-padding-x-sm:     .25rem !default;\n\n$table-cell-vertical-align:   top !default;\n\n$table-color:                 var(--fg-body) !default;\n$table-bg:                    var(--bg-body) !default;\n$table-accent-bg:             transparent !default;\n\n// $table-th-font-weight:        null !default;\n\n$table-striped-color:         $table-color !default;\n$table-striped-bg-factor:     .05 !default;\n$table-striped-bg:            color-mix(in srgb, var(--table-color) #{math.percentage($table-striped-bg-factor)}, transparent) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             color-mix(in srgb, var(--table-color) #{math.percentage($table-active-bg-factor)}, transparent) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              color-mix(in srgb, var(--table-color) #{math.percentage($table-hover-bg-factor)}, transparent) !default;\n\n$table-border-width:          var(--border-width) !default;\n$table-border-color:          var(--border-color) !default;\n\n$table-striped-order:         odd !default;\n$table-striped-columns-order: even !default;\n\n$table-group-separator-color: currentcolor !default;\n\n// $table-caption-color:         var(--secondary-color) !default;\n\n// scss-docs-end table-variables\n\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    // Reset needed for nesting tables\n    --table-color-type: initial;\n    --table-bg-type: initial;\n    --table-color-state: initial;\n    --table-bg-state: initial;\n    // End of reset\n\n    // scss-docs-start table-css-variables\n    --table-color: #{$table-color};\n    --table-bg: #{$table-bg};\n    --table-border-color: #{$table-border-color};\n    --table-accent-bg: #{$table-accent-bg};\n    --table-striped-color: #{$table-striped-color};\n    --table-striped-bg: #{$table-striped-bg};\n    --table-active-color: #{$table-active-color};\n    --table-active-bg: #{$table-active-bg};\n    --table-hover-color: #{$table-hover-color};\n    --table-hover-bg: #{$table-hover-bg};\n    // scss-docs-end table-css-variables\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: $table-cell-vertical-align;\n    border-color: var(--theme-border, var(--table-border-color));\n\n    // Target th & td\n    // We need the child combinator to prevent styles leaking to nested tables which doesn't have a `.table` class.\n    // We use the universal selectors here to simplify the selector (else we would need 6 different selectors).\n    // Another advantage is that this generates less code and makes the selector less specific making it easier to override.\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y $table-cell-padding-x;\n      // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb\n      color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));\n      background-color: var(--theme-bg-subtle, var(--table-bg));\n      border-block-end-width: $table-border-width;\n      box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));\n    }\n\n    > tbody {\n      vertical-align: inherit;\n    }\n\n    > thead {\n      vertical-align: bottom;\n    }\n  }\n\n  .table-group-divider {\n    border-block-start: calc(#{$table-border-width} * 2) solid $table-group-separator-color;\n  }\n\n  //\n  // Change placement of captions with a class\n  //\n\n  .caption-top {\n    caption-side: top;\n  }\n\n\n  //\n  // Condensed table w/ half padding\n  //\n\n  .table-sm {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;\n    }\n  }\n\n\n  // Border versions\n  //\n  // Add or remove borders all around the table and between all the columns.\n  //\n  // When borders are added on all sides of the cells, the corners can render odd when\n  // these borders do not have the same color or if they are semi-transparent.\n  // Therefore we add top and border bottoms to the `tr`s and left and right borders\n  // to the `td`s or `th`s\n\n  .table-bordered {\n    > :not(caption) > * {\n      border-width: $table-border-width 0;\n\n      // stylelint-disable-next-line selector-max-universal\n      > * {\n        border-width: 0 $table-border-width;\n      }\n    }\n  }\n\n  .table-borderless {\n    // stylelint-disable-next-line selector-max-universal\n    > :not(caption) > * > * {\n      border-block-end-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-block-start-width: 0;\n    }\n  }\n\n  // Zebra-striping\n  //\n  // Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n  // For rows\n  .table-striped {\n    > tbody > tr:nth-of-type(#{$table-striped-order}) > * {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --table-color-type: var(--theme-text, var(--table-striped-color));\n      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);\n    }\n  }\n\n  // Active table\n  //\n  // The `.table-active` class can be added to highlight rows or cells\n\n  .table-active {\n    --table-color-state: var(--theme-text, var(--table-active-color));\n    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-active-bg-factor)}, transparent);\n  }\n\n  // Hover effect\n  //\n  // Placed here since it has to come after the potential zebra striping\n\n  .table-hover {\n    > tbody > tr:hover > * {\n      --table-color-state: var(--theme-text, var(--table-hover-color));\n      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-hover-bg-factor)}, transparent);\n    }\n  }\n\n  // Responsive tables\n  //\n  // Generate series of `.table-responsive-*` classes for configuring the screen\n  // size of where your table will overflow.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @include media-breakpoint-down($breakpoint) {\n      .table-responsive#{$infix} {\n        overflow-x: auto;\n        -webkit-overflow-scrolling: touch;\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"../config\" as *;\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: 1024px, xl: 1280px, 2xl: 1536px)\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: 1024px, xl: 1280px, 2xl: 1536px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl 2xl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map.keys($breakpoints)) {\n  $n: list.index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoint-names}`\";\n  }\n  // Use @if/@else because list.nth would error if evaluated when $n equals list length\n  @if $n < list.length($breakpoint-names) {\n    @return list.nth($breakpoint-names, $n + 1);\n  } @else {\n    @return null;\n  }\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if(sass($min != 0): $min; else: null);\n}\n\n// Maximum breakpoint width for range media queries.\n// Returns the breakpoint value to use as an upper bound in range queries.\n//\n//    >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    576px\n//    >> breakpoint-max(xxl, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    null\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  @if $name == null {\n    @return null;\n  }\n  $max: map.get($breakpoints, $name);\n  @return if(sass($max and $max > 0): $max; else: 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: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 1024px, xl: 1280px, 2xl: 1536px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(sass(breakpoint-min($name, $breakpoints) == null): \"\"; else: \"-#{$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 (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 (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 (width >= $min) and (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  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (width >= $min) and (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($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/image\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--bg-body) !default;\n$thumbnail-border-width:            var(--border-width) !default;\n$thumbnail-border-color:            var(--border-color) !default;\n$thumbnail-border-radius:           var(--border-radius) !default;\n$thumbnail-box-shadow:              var(--box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--secondary-color) !default;\n// scss-docs-end figure-variables\n\n@layer content {\n  // Responsive images (ensure images don't scale beyond their parents)\n  //\n  // This is purposefully opt-in via an explicit class rather than being the default for all `<img>`s.\n  // We previously tried the \"images are responsive by default\" approach in Bootstrap v2,\n  // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps)\n  // which weren't expecting the images within themselves to be involuntarily resized.\n  // See also https://github.com/twbs/bootstrap/issues/18178\n  .img-fluid {\n    @include img-fluid();\n  }\n\n\n  // Image thumbnails\n  .img-thumbnail {\n    padding: $thumbnail-padding;\n    background-color: $thumbnail-bg;\n    border: $thumbnail-border-width solid $thumbnail-border-color;\n    @include border-radius($thumbnail-border-radius);\n    @include box-shadow($thumbnail-box-shadow);\n\n    // Keep them at most 100% wide\n    @include img-fluid();\n  }\n\n  //\n  // Figures\n  //\n\n  .figure {\n    // Ensures the caption's text aligns with the image.\n    display: inline-block;\n  }\n\n  .figure-img {\n    margin-bottom: $spacer * .5;\n    line-height: 1;\n  }\n\n  .figure-caption {\n    font-size: $figure-caption-font-size;\n    color: $figure-caption-color;\n  }\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n\n@mixin img-fluid {\n  // Part 1: Set a maximum relative to the parent\n  max-width: 100%;\n  // Part 2: Override the height to auto, otherwise images will be stretched\n  // when setting a width and height attribute on the img element.\n  height: auto;\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n@mixin box-shadow($shadow...) {\n  @if $enable-shadows {\n    $result: ();\n    $has-single-value: false;\n    $single-value: null;\n\n    @each $value in $shadow {\n      @if $value != null {\n        @if $value == none or $value == initial or $value == inherit or $value == unset {\n          $has-single-value: true;\n          $single-value: $value;\n        } @else {\n          $result: list.append($result, $value, \"comma\");\n        }\n      }\n    }\n\n    @if $has-single-value {\n      box-shadow: $single-value;\n    } @else if (list.length($result) > 0) {\n      box-shadow: $result;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer content {\n  .prose {\n    --content-font-size: var(--font-size-sm);\n    --content-gap: 20px;\n    --heading-color: light-dark(var(--gray-900), var(--white));\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    gap: var(--content-gap);\n    max-width: 1000px;\n    margin-inline: auto;\n    font-size: var(--content-font-size);\n    line-height: 1.5;\n\n    @media (width >= 1024px) {\n      --content-font-size: var(--font-size-md);\n      --content-gap: 24px;\n    }\n\n    p,\n    ul,\n    ol,\n    dl,\n    pre,\n    table,\n    blockquote {\n      margin-block: 0;\n    }\n\n    :where(ul, ol):not([class]) li:not(:last-child) {\n      margin-bottom: calc(var(--content-gap) / 4);\n    }\n\n    li ul,\n    li ol {\n      margin-top: calc(var(--content-gap) / 4);\n    }\n\n    hr {\n      margin: calc(var(--content-gap) * 1.5) 0;\n      border: 0;\n      border-block-start: var(--border-width) solid var(--hr-border-color);\n    }\n\n    h1,\n    h2,\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not([class]) {\n        margin-top: 0;\n        margin-bottom: calc(var(--content-gap) / -2);\n        font-weight: 500;\n        line-height: 1.25;\n\n        code {\n          font-weight: 600;\n          color: inherit;\n        }\n      }\n    }\n\n    h1,\n    h2 {\n      &:not(:first-child) {\n        margin-top: calc(var(--content-gap) * 1.5);\n      }\n    }\n\n    h3,\n    h4,\n    h5,\n    h6 {\n      &:not(:first-child) {\n        margin-top: calc(var(--content-gap) * 1.25);\n      }\n    }\n\n    h1 {\n      font-size: 2.25em;\n      line-height: 1.1;\n    }\n    h2 {\n      font-size: 1.75em;\n    }\n    h3 {\n      font-size: 1.5em;\n    }\n    h4 {\n      font-size: 1.25em;\n    }\n    h5 {\n      font-size: 1.125em;\n    }\n    h6 {\n      font-size: 1em;\n    }\n\n    a:not([class]) {\n      color: var(--link-color);\n      text-decoration: underline;\n      text-decoration-color: color-mix(in srgb, var(--link-color) 25%, transparent);\n      text-underline-offset: 4px;\n      @include transition(.1s text-decoration-color ease-in-out);\n    }\n\n    a:not([class]):hover {\n      text-decoration-color: var(--link-hover-color);\n    }\n\n    img {\n      max-width: 100%;\n    }\n\n    blockquote {\n      padding-inline-start: calc(var(--content-gap) / 2);\n      margin: 0;\n      border-inline-start: 4px solid var(--border-color);\n    }\n\n    table {\n      width: 100%;\n      border-spacing: 0;\n      border-collapse: collapse;\n    }\n\n    :where(table:not([class])) {\n      td,\n      th {\n        padding: 6px 12px;\n        text-align: inherit;\n        border: 1px solid var(--border-color);\n      }\n    }\n\n    dt {\n      font-weight: 500;\n    }\n\n    video,\n    img {\n      max-width: 100%;\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"../config\" as *;\n\n// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if list.length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if list.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 list.nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and list.nth($transition, 1) != null and list.nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"breakpoints\" as *;\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  width: 100%;\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-inline: auto;\n}\n\n@layer layout {\n  @if $enable-container-classes {\n    // Single container class with breakpoint max-widths\n    .container,\n    // 100% wide container at all breakpoints\n    .container-fluid {\n      @include make-container();\n    }\n\n    // Responsive containers that are 100% wide until a breakpoint\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      .container-#{$breakpoint} {\n        @extend .container-fluid;\n      }\n\n      @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\n\n        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        @each $name, $width in $grid-breakpoints {\n          @if ($extend-breakpoint) {\n            .container#{breakpoint-infix($name, $grid-breakpoints)} {\n              @extend %responsive-container-#{$breakpoint};\n            }\n\n            // Once the current breakpoint is reached, stop extending\n            @if ($breakpoint == $name) {\n              $extend-breakpoint: false;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../mixins/grid\" as *;\n@use \"breakpoints\" as *;\n\n// mdo-do\n// - check gap utilities as replacement for gutter classes from v5\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --breakpoint-#{$name}: #{$value};\n  }\n}\n\n@layer layout {\n  @if $enable-grid-classes {\n    .row {\n      @include make-row();\n\n      > * {\n        @include make-col-ready();\n      }\n    }\n\n    @include make-grid-columns();\n  }\n\n  @if $enable-cssgrid {\n    .grid {\n      --columns: #{$grid-columns};\n      --rows: 1;\n      --gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--rows), 1fr);\n      grid-template-columns: repeat(var(--columns), 1fr);\n      gap: var(--gap);\n\n    }\n\n    @include make-cssgrid();\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-subgrid {\n    grid-template-columns: subgrid;\n  }\n\n  .grid-fill {\n    --gap: #{$grid-gutter-width};\n\n    display: grid;\n    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n    grid-auto-flow: row;\n    gap: var(--gap);\n  }\n\n  // .g-col-auto {\n  //   grid-column: auto;\n  // }\n\n  // mdo-do: add to utilities?\n  // .grid-cols-3 {\n  //   --columns: 3;\n  // }\n  // .grid-cols-4 {\n  //   --columns: 4;\n  // }\n  // .grid-cols-6 {\n  //   --columns: 6;\n  // }\n\n  // .grid-full {\n  //   grid-column: 1 / -1;\n  // }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../layout/breakpoints\" as *;\n\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --gutter-x: #{$gutter};\n  --gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  // TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed\n  margin-inline: calc(-.5 * var(--gutter-x));\n  margin-top: calc(-1 * var(--gutter-y));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  box-sizing: if(sass(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing): border-box; else: null);\n  // Prevent columns from becoming too narrow when at smaller grid tiers by\n  // always setting `width: 100%;`. This works because we set the width\n  // later on to override this initial width.\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n  padding-inline: calc(var(--gutter-x) * .5);\n  margin-top: var(--gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: math.percentage(math.div($size, $columns));\n\n  } @else {\n    flex: 1 1 0;\n    max-width: 100%;\n  }\n}\n\n@mixin make-col-auto() {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n  $num: math.div($size, $columns);\n  // stylelint-disable-next-line scss/at-function-named-arguments\n  margin-inline-start: if(sass($num == 0): 0; else: math.percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// number of columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n  > * {\n    flex: 0 0 auto;\n    width: math.percentage(math.div(1, $count));\n  }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n      .col#{$infix} {\n        flex: 1 0 0;\n      }\n\n      .row-cols#{$infix}-auto > * {\n        @include make-col-auto();\n      }\n\n      @if $grid-row-columns > 0 {\n        @for $i from 1 through $grid-row-columns {\n          .row-cols#{$infix}-#{$i} {\n            @include row-cols($i);\n          }\n        }\n      }\n\n      .col#{$infix}-auto {\n        @include make-col-auto();\n      }\n\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .col#{$infix}-#{$i} {\n            @include make-col($i, $columns);\n          }\n        }\n\n        // `$columns - 1` because offsetting by the width of an entire row isn't possible\n        @for $i from 0 through ($columns - 1) {\n          @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n            .offset#{$infix}-#{$i} {\n              @include make-col-offset($i, $columns);\n            }\n          }\n        }\n      }\n\n      // Gutters\n      //\n      // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n      @each $key, $value in $gutters {\n        .g#{$infix}-#{$key},\n        .gx#{$infix}-#{$key} {\n          --gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --gutter-y: #{$value};\n        }\n      }\n    }\n  }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n  @each $breakpoint in map.keys($breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n    @include media-breakpoint-up($breakpoint, $breakpoints) {\n      @if $columns > 0 {\n        @for $i from 1 through $columns {\n          .g-col#{$infix}-#{$i} {\n            grid-column: auto / span $i;\n          }\n        }\n\n        // Start with `1` because `0` is an invalid value.\n        // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n        @for $i from 1 through ($columns - 1) {\n          .g-start#{$infix}-#{$i} {\n            grid-column-start: $i;\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size:     null !default;\n$form-label-font-style:    null !default;\n$form-label-font-weight:   null !default;\n$form-label-color:         null !default;\n// scss-docs-end form-label-variables\n\n\n@layer forms {\n  .form-label {\n    margin-bottom: $form-label-margin-bottom;\n    font-size: $form-label-font-size;\n    font-style: $form-label-font-style;\n    font-weight: $form-label-font-weight;\n    color: $form-label-color;\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 `<legend>` default\n    font-size: inherit; // Override the `<legend>` default\n    font-style: $form-label-font-style;\n    font-weight: $form-label-font-weight;\n    line-height: $input-line-height;\n    color: $form-label-color;\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    font-size: $input-font-size-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    font-size: $input-font-size-sm;\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-text-variables\n$form-text-margin-top:  .25rem !default;\n$form-text-font-size:   $small-font-size !default;\n$form-text-font-style:  null !default;\n$form-text-font-weight: null !default;\n$form-text-color:       var(--secondary-color) !default;\n// scss-docs-end form-text-variables\n\n@layer forms {\n  .form-text {\n    margin-top: $form-text-margin-top;\n    font-size: $form-text-font-size;\n    font-style: $form-text-font-style;\n    font-weight: $form-text-font-weight;\n    color: $form-text-color;\n  }\n}\n","@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n@use \"../buttons/button-variables\" as *; // mdo-do: remove?\n\n@layer forms {\n  .form-control {\n    --control-min-height: #{$control-min-height};\n    --control-padding-y: #{$control-padding-y};\n    --control-padding-x: #{$control-padding-x};\n    --control-font-size: #{$control-font-size};\n    --control-line-height: #{$control-line-height};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n    --control-select-bg-color: #{$control-select-indicator-color};\n    --control-select-bg: #{escape-svg($control-select-indicator)};\n    --control-select-bg-position: #{$control-select-bg-position};\n    --control-select-bg-size: #{$control-select-bg-size};\n\n    display: block;\n    width: 100%;\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    appearance: none;\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    &[type=\"file\"] {\n      overflow: hidden; // prevent pseudo element button overlap\n\n      &:not(:disabled):not([readonly]) {\n        cursor: pointer;\n      }\n    }\n\n    // Customize the `:focus` state to imitate native WebKit styles.\n    &:focus-visible {\n      --focus-ring-offset: -1px;\n      color: $input-focus-color;\n      background-color: $input-focus-bg;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    &::-webkit-date-and-time-value {\n      // On Android Chrome, form-control's \"width: 100%\" makes the input width too small\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      //\n      // On iOS Safari, form-control's \"appearance: none\" + \"width: 100%\" makes the input width too small\n      // Tested under iOS 16.2 / Safari 16.2\n      min-width: 85px; // Seems to be a good minimum safe width\n\n      // Add some height to date inputs on iOS\n      // https://github.com/twbs/bootstrap/issues/23307\n      // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved\n      // Multiply line-height by 1em if it has no unit\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      height: if(sass(math.unit($input-line-height) == \"\"): $input-line-height * 1em; else: $input-line-height);\n\n      // Android Chrome type=\"date\" is taller than the other inputs\n      // because of \"margin: 1px 24px 1px 4px\" inside the shadow DOM\n      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109\n      margin: 0;\n    }\n\n    // Prevent excessive date input height in Webkit\n    // https://github.com/twbs/bootstrap/issues/34433\n    &::-webkit-datetime-edit {\n      display: block;\n      padding: 0;\n    }\n\n    // Placeholder\n    &::placeholder {\n      color: $input-placeholder-color;\n      // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.\n      opacity: 1;\n    }\n\n    // Disabled 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      color: $input-disabled-color;\n      background-color: $input-disabled-bg;\n      border-color: $input-disabled-border-color;\n      // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.\n      opacity: 1;\n    }\n\n    // File input buttons theming\n    &::file-selector-button {\n      min-height: var(--control-min-height);\n      padding: var(--control-padding-y) var(--control-padding-x);\n      margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);\n      margin-inline-end: var(--control-padding-x);\n      color: $form-file-button-color;\n      @include gradient-bg($form-file-button-bg);\n      pointer-events: none;\n      border-color: inherit;\n      border-style: solid;\n      border-width: 0;\n      border-inline-end-width: var(--control-border-width);\n      border-radius: 0; // stylelint-disable-line property-disallowed-list\n      @include transition($btn-transition);\n    }\n\n    &:hover:not(:disabled):not([readonly])::file-selector-button {\n      background-color: $form-file-button-hover-bg;\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    line-height: $input-line-height;\n    color: $input-plaintext-color;\n    background-color: transparent;\n    border: solid transparent;\n    border-width: $input-border-width 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &.form-control-sm,\n    &.form-control-lg {\n      padding-inline: 0;\n    }\n  }\n\n  // stylelint-disable selector-no-qualifying-type\n  select.form-control {\n    padding-inline-end: calc(var(--control-padding-x) * 3);\n    background-image: var(--control-select-bg);\n    background-repeat: no-repeat;\n    background-position: var(--control-select-bg-position);\n    background-size: var(--control-select-bg-size);\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-inline-end: var(--control-padding-x);\n      background-image: none;\n    }\n\n    @if $enable-dark-mode {\n      @include color-mode(dark) {\n        --control-select-indicator: #{escape-svg($control-select-indicator-dark)};\n      }\n    }\n  }\n  // stylelint-enable selector-no-qualifying-type\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    --control-min-height: #{$control-min-height-sm};\n    --control-padding-y: #{$control-padding-y-sm};\n    --control-padding-x: #{$control-padding-x-sm};\n    --control-font-size: #{$control-font-size-sm};\n    --control-line-height: #{$control-line-height-sm};\n    --control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-control-lg {\n    --control-min-height: #{$control-min-height-lg};\n    --control-padding-y: #{$control-padding-y-lg};\n    --control-padding-x: #{$control-padding-x-lg};\n    --control-font-size: #{$control-font-size-lg};\n    --control-line-height: #{$control-line-height-lg};\n    --control-border-radius: #{$control-border-radius-lg};\n  }\n\n  // // Make sure textareas don't shrink too much when resized\n  // // https://github.com/twbs/bootstrap/pull/29124\n  // // stylelint-disable selector-no-qualifying-type\n  // textarea {\n  //   &.form-control {\n  //     min-height: $input-height;\n  //   }\n\n  //   &.form-control-sm {\n  //     min-height: $input-height-sm;\n  //   }\n\n  //   &.form-control-lg {\n  //     min-height: $input-height-lg;\n  //   }\n  // }\n  // // stylelint-enable selector-no-qualifying-type\n\n  .form-control-color {\n    width: $form-color-width;\n    height: $input-height;\n    padding: $input-padding-y;\n\n    &:not(:disabled):not([readonly]) {\n      cursor: pointer;\n    }\n\n    &::-moz-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &::-webkit-color-swatch {\n      border: 0 !important; // stylelint-disable-line declaration-no-important\n      @include border-radius($input-border-radius);\n    }\n\n    &.form-control-sm { height: $input-height-sm; }\n    &.form-control-lg { height: $input-height-lg; }\n  }\n\n  // Ghost input - removes all visual styling\n  // Used inside custom wrappers that handle their own styling\n  .form-ghost {\n    display: block;\n    width: 100%;\n    padding: 0;\n    font: inherit;\n    color: inherit;\n    appearance: none;\n    background: transparent;\n    border: 0;\n\n    &:focus {\n      outline: 0;\n    }\n\n    &::placeholder {\n      color: var(--fg-3);\n      opacity: 1;\n    }\n\n    &:disabled {\n      color: var(--fg-4);\n      cursor: not-allowed;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n\n$control-min-height: 2.5rem !default;\n$control-min-height-sm: 2rem !default;\n$control-min-height-lg: 3rem !default;\n$control-padding-y: .375rem !default;\n$control-padding-x: .75rem !default;\n$control-font-size: $font-size-base !default;\n$control-line-height: $line-height-base !default;\n$control-color: var(--fg-body) !default;\n$control-bg: var(--bg-body) !default;\n$control-border-width: var(--border-width) !default;\n$control-border-color: var(--border-color) !default;\n$control-border-radius: var(--border-radius) !default;\n\n$control-padding-y-sm: .25rem !default;\n$control-padding-x-sm: .5rem !default;\n$control-font-size-sm: $font-size-sm !default;\n$control-line-height-sm: $line-height-sm !default;\n$control-border-radius-sm: var(--border-radius-sm) !default;\n\n$control-padding-y-lg: .5rem !default;\n$control-padding-x-lg: 1rem !default;\n$control-font-size-lg: $font-size-lg !default;\n$control-line-height-lg: $line-height-lg !default;\n$control-border-radius-lg: var(--border-radius-lg) !default;\n\n$control-select-indicator-color:       var(--gray-600) !default;\n$control-select-indicator:             url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n$control-select-bg-position:           right $control-padding-x center !default;\n$control-select-bg-size:               16px 12px !default;\n\n$control-select-indicator-color-dark:  #fff !default;\n$control-select-indicator-dark:        url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n\n// scss-docs-start input-btn-variables\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:         $focus-ring-width !default;\n// $input-btn-focus-color-opacity: $focus-ring-opacity !default;\n// $input-btn-focus-color:         $focus-ring-color !default;\n// $input-btn-focus-blur:          $focus-ring-blur !default;\n// $input-btn-focus-box-shadow:    $focus-ring-box-shadow !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\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\n// $input-btn-border-width:      var(--border-width) !default;\n// scss-docs-end input-btn-variables\n\n// scss-docs-start form-input-variables\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\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\n$input-bg:                              var(--bg-body) !default;\n$input-disabled-color:                  null !default;\n$input-disabled-bg:                     var(--secondary-bg) !default;\n$input-disabled-border-color:           null !default;\n\n$input-color:                           var(--fg-body) !default;\n$input-border-color:                    var(--border-color) !default;\n$input-border-width:                    var(--border-width) !default;\n$input-box-shadow:                      var(--box-shadow-inset) !default;\n\n$input-border-radius:                   var(--border-radius) !default;\n$input-border-radius-sm:                var(--border-radius-sm) !default;\n$input-border-radius-lg:                var(--border-radius-lg) !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              var(--primary-border) !default;\n$input-focus-color:                     $input-color !default;\n\n$input-placeholder-color:               var(--secondary-color) !default;\n$input-plaintext-color:                 var(--fg-body) !default;\n\n$input-height-border:                   calc(#{$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 * .5) !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 * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n// $input-height-lg:                       add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n$input-height:                          2.5rem !default;\n$input-height-sm:                       2rem !default;\n$input-height-lg:                       3rem !default;\n\n$input-transition:                      border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width:                      3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color:          $input-color !default;\n$form-file-button-bg:             var(--tertiary-bg) !default;\n$form-file-button-hover-bg:       var(--secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          .5rem !default;\n$form-feedback-font-size:           $font-size-sm !default;\n$form-feedback-font-style:          null !default;\n$form-feedback-valid-color:         var(--success) !default;\n$form-feedback-invalid-color:       var(--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' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.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.1'/></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' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><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// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-colors\n$form-valid-color:                  $form-feedback-valid-color !default;\n$form-valid-border-color:           $form-feedback-valid-color !default;\n$form-invalid-color:                $form-feedback-invalid-color !default;\n$form-invalid-border-color:         $form-feedback-invalid-color !default;\n// scss-docs-end form-validation-colors\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n  \"valid\": (\n    \"color\": var(--form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--success),\n    // \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--success-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--form-valid-border-color),\n  ),\n  \"invalid\": (\n    \"color\": var(--form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--danger),\n    // \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--danger-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--form-invalid-border-color),\n  )\n) !default;\n// scss-docs-end form-validation-states\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n\n@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--focus-ring-offset);\n  }\n}\n","@use \"../colors\" as *;\n@use \"../config\" as *;\n\n// Gradients\n\n// scss-docs-start gradient-bg-mixin\n@mixin gradient-bg($color: null) {\n  background-color: $color;\n\n  @if $enable-gradients {\n    background-image: var(--gradient);\n  }\n}\n// scss-docs-end gradient-bg-mixin\n\n// scss-docs-start gradient-mixins\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: var(--gray-700), $end-color: var(--gray-800), $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\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: var(--gray-700), $end-color: var(--gray-800), $start-percent: null, $end-percent: null) {\n  background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);\n}\n\n@mixin gradient-directional($start-color: var(--gray-700), $end-color: var(--gray-800), $deg: 45deg) {\n  background-image: linear-gradient($deg, $start-color, $end-color);\n}\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}\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}\n\n@mixin gradient-radial($inner-color: var(--gray-700), $outer-color: var(--gray-800)) {\n  background-image: radial-gradient(circle, $inner-color, $outer-color);\n}\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// scss-docs-end gradient-mixins\n","@use \"../config\" as *;\n\n// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n  @if $color-mode-type == \"media-query\" {\n    @if $root == true {\n      @media (prefers-color-scheme: $mode) {\n        :root {\n          @content;\n        }\n      }\n    } @else {\n      @media (prefers-color-scheme: $mode) {\n        @content;\n      }\n    }\n  } @else {\n    [data-bs-theme=\"#{$mode}\"] {\n      @content;\n    }\n  }\n}\n// scss-docs-end color-mode-mixin\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start check-variables\n$check-border-color: var(--border-color) !default;\n$check-checked-bg: var(--primary-base) !default;\n$check-checked-border-color: $check-checked-bg !default;\n$check-indeterminate-bg: var(--primary-base) !default;\n$check-indeterminate-border-color: $check-indeterminate-bg !default;\n$check-disabled-bg: var(--bg-3) !default;\n$check-disabled-opacity: .65 !default;\n// scss-docs-end check-variables\n\n@layer forms {\n  b-checkgroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--secondary-text);\n    }\n  }\n\n  .check {\n    // scss-docs-start check-css-variables\n    --check-bg: transparent;\n    --check-border-color: #{$check-border-color};\n    --check-checked-bg: #{$check-checked-bg};\n    --check-checked-border-color: #{$check-checked-border-color};\n    --check-indeterminate-bg: #{$check-indeterminate-bg};\n    --check-indeterminate-border-color: #{$check-indeterminate-border-color};\n    --check-disabled-bg: #{$check-disabled-bg};\n    --check-disabled-opacity: #{$check-disabled-opacity};\n    // scss-docs-end check-css-variables\n\n    display: grid;\n    grid-template-columns: repeat(1, minmax(0, 1fr));\n    margin-block: .125rem;\n\n    :where(svg, input) {\n      flex-shrink: 0;\n      grid-row-start: 1;\n      grid-column-start: 1;\n      width: 1rem;\n      height: 1rem;\n    }\n\n    :where(input) {\n      appearance: none;\n      // later: maybe set a tertiary bg color?\n      background-color: var(--theme-bg, var(--check-bg));\n      border: 1px solid var(--theme-bg, var(--check-border-color));\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: .25em;\n    }\n\n    :where(input:checked, input:indeterminate) {\n      background-color: var(--theme-bg, var(--check-checked-bg));\n      border-color: var(--theme-bg, var(--check-checked-border-color));\n    }\n\n    :where(input:focus-visible) {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) .checked,\n    &:has(input:indeterminate) .indeterminate {\n      display: block;\n      color: var(--primary-contrast);\n      stroke: currentcolor;\n    }\n\n    &:has(input:disabled) {\n      --check-bg: var(--check-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n    &:has(input:disabled:checked) {\n      opacity: var(--check-disabled-opacity);\n    }\n\n    :where(svg) {\n      pointer-events: none;\n    }\n\n    :where(svg path) {\n      display: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start radio-variables\n$radio-border-color: var(--border-color) !default;\n$radio-checked-bg: var(--primary-base) !default;\n$radio-checked-border-color: $radio-checked-bg !default;\n$radio-disabled-bg: var(--bg-3) !default;\n$radio-disabled-opacity: .65 !default;\n// scss-docs-end radio-variables\n\n@layer forms {\n  b-radiogroup {\n    display: flex;\n    gap: var(--gap, .5rem);\n    align-items: var(--align-items, start);\n\n    .description {\n      color: var(--secondary-text);\n    }\n  }\n\n  .radio {\n    // scss-docs-start radio-css-variables\n    --radio-bg: transparent;\n    --radio-border-color: #{$radio-border-color};\n    --radio-checked-bg: #{$radio-checked-bg};\n    --radio-checked-border-color: #{$radio-checked-border-color};\n    --radio-disabled-bg: #{$radio-disabled-bg};\n    --radio-disabled-opacity: #{$radio-disabled-opacity};\n    // scss-docs-end radio-css-variables\n\n    position: relative;\n    flex-shrink: 0;\n    width: 1rem;\n    height: 1rem;\n    margin-block: .125rem;\n    appearance: none;\n    background-color: var(--theme-bg, var(--radio-bg));\n    border: 1px solid var(--theme-bg, var(--radio-border-color));\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n\n    &:checked {\n      color: var(--theme-contrast, var(--primary-contrast));\n      background-color: var(--theme-bg, var(--radio-checked-bg));\n      border-color: var(--theme-bg, var(--radio-checked-border-color));\n\n      &::before {\n        position: absolute;\n        inset: .25rem;\n        content: \"\";\n        background-color: currentcolor;\n        // stylelint-disable-next-line property-disallowed-list\n        border-radius: 50%;\n      }\n    }\n\n    &:disabled {\n      --radio-bg: var(--radio-disabled-bg);\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n    }\n\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n@layer forms {\n  .switch {\n    // scss-docs-start switch-css-variables\n    --switch-height: 1.25rem;\n    --switch-width: calc(var(--switch-height) * 1.5);\n    --switch-padding: .0625rem;\n    --switch-bg: var(--secondary-bg);\n    --switch-border-width: var(--border-width);\n    --switch-border-color: var(--border-color);\n    --switch-indicator-bg: var(--white);\n    --switch-checked-bg: var(--primary-base);\n    --switch-checked-border-color: var(--switch-checked-bg);\n    --switch-checked-indicator-bg: var(--white);\n    --switch-disabled-bg: var(--secondary-bg);\n    --switch-disabled-indicator-bg: var(--secondary-text);\n    // scss-docs-end switch-css-variables\n\n    position: relative;\n    display: flex;\n    flex-shrink: 0;\n    align-items: stretch;\n    justify-content: flex-start;\n    width: var(--switch-width);\n    height: var(--switch-height);\n    padding: var(--switch-padding);\n    background-color: var(--switch-bg);\n    border: var(--switch-border-width) solid var(--switch-border-color);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 10rem;\n    box-shadow: inset 0 1px 2px rgba($black, .05);\n    // stylelint-disable-next-line property-disallowed-list\n    transition: .15s ease-in-out;\n    transition-property: padding-inline-start, background-color;\n\n    &::before {\n      flex-shrink: 0;\n      width: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      height: calc(var(--switch-height) - calc(var(--switch-padding) * 2) - var(--switch-border-width) * 2);\n      content: \"\";\n      background-color: var(--switch-indicator-bg);\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: 50%;\n      box-shadow: 0 1px 2px rgba($black, .1);\n    }\n\n    input {\n      position: absolute;\n      inset: 0;\n      appearance: none;\n      background-color: transparent;\n      outline: 0;\n    }\n\n    &:focus-within {\n      @include focus-ring(true);\n    }\n\n    &:has(input:checked) {\n      padding-inline-start: calc(var(--switch-height) / 2 + var(--switch-padding));\n      background-color: var(--theme-bg, var(--switch-checked-bg));\n      border-color: var(--theme-bg, var(--switch-checked-border-color));\n    }\n\n    &:has(input:disabled) {\n      --switch-bg: var(--switch-disabled-bg);\n      --switch-indicator-bg: var(--switch-disabled-indicator-bg);\n\n      &::before { opacity: .4; }\n\n      ~ label {\n        color: var(--secondary-text);\n        cursor: default;\n      }\n    }\n  }\n  .switch-sm {\n    --switch-height: 1em;\n  }\n  .switch-lg {\n    --switch-height: 2em;\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-range-variables\n$form-range-track-width:          100% !default;\n$form-range-track-height:         .5rem !default;\n$form-range-track-cursor:         pointer !default;\n$form-range-track-bg:             var(--secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--box-shadow-inset) !default;\n\n$form-range-thumb-width:                   1rem !default;\n$form-range-thumb-height:                  $form-range-thumb-width !default;\n$form-range-thumb-bg:                      $component-active-bg !default;\n$form-range-thumb-border:                  0 !default;\n$form-range-thumb-border-radius:           1rem !default;\n$form-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--secondary-color) !default;\n$form-range-thumb-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n@layer forms {\n  .form-range {\n    width: 100%;\n    height: calc(#{$form-range-thumb-height} + (var(--focus-ring-width) * 2));\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:focus {\n      outline: 0;\n\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      &::-webkit-slider-thumb {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n      &::-moz-range-thumb     {\n        @include focus-ring(true);\n        --focus-ring-offset: 1px;\n      }\n    }\n\n    &::-moz-focus-outer {\n      border: 0;\n    }\n\n    &::-webkit-slider-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-webkit-slider-runnable-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent; // Why?\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent;\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &::-moz-range-thumb {\n      width: $form-range-thumb-width;\n      height: $form-range-thumb-height;\n      appearance: none;\n      @include gradient-bg($form-range-thumb-bg);\n      border: $form-range-thumb-border;\n      @include border-radius($form-range-thumb-border-radius);\n      @include box-shadow($form-range-thumb-box-shadow);\n      @include transition($form-range-thumb-transition);\n\n      &:active {\n        @include gradient-bg($form-range-thumb-active-bg);\n      }\n    }\n\n    &::-moz-range-track {\n      width: $form-range-track-width;\n      height: $form-range-track-height;\n      color: transparent;\n      cursor: $form-range-track-cursor;\n      background-color: $form-range-track-bg;\n      border-color: transparent; // Firefox specific?\n      @include border-radius($form-range-track-border-radius);\n      @include box-shadow($form-range-track-box-shadow);\n    }\n\n    &:disabled {\n      pointer-events: none;\n\n      &::-webkit-slider-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n\n      &::-moz-range-thumb {\n        background-color: $form-range-thumb-disabled-bg;\n      }\n    }\n  }\n}\n","@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  calc(3.5rem + #{$input-height-border}) !default;\n$form-floating-line-height:             1.25 !default;\n$form-floating-padding-x:               $input-padding-x !default;\n$form-floating-padding-y:               1rem !default;\n$form-floating-input-padding-t:         1.625rem !default;\n$form-floating-input-padding-b:         .625rem !default;\n$form-floating-label-height:            1.5em !default;\n$form-floating-label-opacity:           .65 !default;\n$form-floating-label-transform:         scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-label-disabled-color:    var(--gray-600) !default;\n$form-floating-transition:              opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n@layer forms {\n  .form-floating {\n    position: relative;\n\n    > .form-control,\n    > .form-control-plaintext,\n    > .form-select {\n      height: $form-floating-height;\n      min-height: $form-floating-height;\n      line-height: $form-floating-line-height;\n    }\n\n    > label {\n      position: absolute;\n      inset-block-start: 0;\n      inset-inline-start: 0;\n      z-index: 2;\n      max-width: 100%;\n      height: 100%; // allow textareas\n      padding: $form-floating-padding-y $form-floating-padding-x;\n      overflow: hidden;\n      color: color-mix(in oklch, var(--body-color) #{math.percentage($form-floating-label-opacity)}, transparent);\n      text-align: start;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n      pointer-events: none;\n      border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model\n      transform-origin: 0 0;\n      @include transition($form-floating-transition);\n    }\n\n    > .form-control,\n    > .form-control-plaintext {\n      padding: $form-floating-padding-y $form-floating-padding-x;\n\n      &::placeholder {\n        color: transparent;\n      }\n\n      &:focus,\n      &:not(:placeholder-shown) {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n      // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n      &:-webkit-autofill {\n        padding-top: $form-floating-input-padding-t;\n        padding-bottom: $form-floating-input-padding-b;\n      }\n    }\n\n    > .form-select {\n      padding-inline-start: $form-floating-padding-x;\n      padding-top: $form-floating-input-padding-t;\n      padding-bottom: $form-floating-input-padding-b;\n    }\n\n    > .form-control:focus,\n    > .form-control:not(:placeholder-shown),\n    > .form-control-plaintext,\n    > .form-select {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped\n    > .form-control:-webkit-autofill {\n      ~ label {\n        transform: $form-floating-label-transform;\n      }\n    }\n    > textarea:focus,\n    > textarea:not(:placeholder-shown) {\n      ~ label::after {\n        position: absolute;\n        inset: $form-floating-padding-y ($form-floating-padding-x * .5);\n        z-index: -1;\n        height: $form-floating-label-height;\n        content: \"\";\n        background-color: $input-bg;\n        @include border-radius($input-border-radius);\n      }\n    }\n    > textarea:disabled ~ label::after {\n      background-color: $input-disabled-bg;\n    }\n\n    > .form-control-plaintext {\n      ~ label {\n        border-width: $input-border-width 0; // Required to properly position label text - as explained above\n      }\n    }\n\n    > :disabled ~ label,\n    > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity\n      color: $form-floating-label-disabled-color;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"sass:string\";\n@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y:           $input-padding-y !default;\n$input-group-addon-padding-x:           $input-padding-x !default;\n// $input-group-addon-font-weight:         $input-font-weight !default;\n$input-group-addon-color:               $input-color !default;\n$input-group-addon-bg:                  var(--tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n@layer forms {\n  .input-group {\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // For form validation feedback\n    align-items: stretch;\n    width: 100%;\n\n    > .form-control,\n    > .form-select,\n    > .form-floating {\n      position: relative; // For focus state's z-index\n      flex: 1 1 auto;\n      width: 1%;\n      min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size\n    }\n\n    // Bring the \"active\" form control to the top of surrounding elements\n    > .form-control:focus,\n    > .form-select:focus,\n    > .form-floating:focus-within {\n      z-index: 5;\n    }\n\n    // Ensure buttons are always above inputs for more visually pleasing borders.\n    // This isn't needed for `.input-group-text` since it shares the same border-color\n    // as our inputs.\n    .btn {\n      position: relative;\n      z-index: 2;\n\n      &:focus {\n        z-index: 5;\n      }\n    }\n  }\n\n\n  // Textual addons\n  //\n  // Serves as a catch-all element for any text or radio/checkbox input you wish\n  // to prepend or append to an input.\n\n  .input-group-text {\n    display: flex;\n    align-items: center;\n    padding: $input-group-addon-padding-y $input-group-addon-padding-x;\n    font-size: $input-font-size; // Match inputs\n    // font-weight: $input-group-addon-font-weight;\n    line-height: $input-line-height;\n    color: $input-group-addon-color;\n    text-align: center;\n    white-space: nowrap;\n    background-color: $input-group-addon-bg;\n    border: $input-border-width solid $input-group-addon-border-color;\n    @include border-radius($input-border-radius);\n  }\n\n\n  // Sizing\n  //\n  // Remix the default form control sizing classes into new ones for easier\n  // manipulation.\n\n  .input-group-lg > .form-control,\n  .input-group-lg > .form-select,\n  .input-group-lg > .input-group-text,\n  .input-group-lg > .btn {\n    padding: $input-padding-y-lg $input-padding-x-lg;\n    font-size: $input-font-size-lg;\n    @include border-radius($input-border-radius-lg);\n  }\n\n  .input-group-sm > .form-control,\n  .input-group-sm > .form-select,\n  .input-group-sm > .input-group-text,\n  .input-group-sm > .btn {\n    padding: $input-padding-y-sm $input-padding-x-sm;\n    font-size: $input-font-size-sm;\n    @include border-radius($input-border-radius-sm);\n  }\n\n  .input-group-lg > .form-select,\n  .input-group-sm > .form-select {\n    // mdo-do: need to revisit this\n    // padding-right: $form-select-padding-x + $form-select-indicator-padding;\n  }\n\n\n  // Rounded corners\n  //\n  // These rulesets must come after the sizing ones to properly override sm and lg\n  // border-radius values when extending. They're more specific than we'd like\n  // with the `.input-group >` part, but without it, we cannot override the sizing.\n\n  // stylelint-disable-next-line no-duplicate-selectors\n  .input-group {\n\n    $validation-messages: \"\";\n    &:not(.has-validation) {\n      > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 3),\n      > .form-floating:not(:last-child) > .form-control,\n      > .form-floating:not(:last-child) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    &.has-validation {\n      > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n      > .dropdown-toggle:nth-last-child(n + 4),\n      > .form-floating:nth-last-child(n + 3) > .form-control,\n      > .form-floating:nth-last-child(n + 3) > .form-select {\n        @include border-end-radius(0);\n      }\n    }\n\n    > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n      margin-inline-start: calc(-1 * #{$input-border-width});\n      @include border-start-radius(0);\n    }\n\n    > .form-floating:not(:first-child) > .form-control,\n    > .form-floating:not(:first-child) > .form-select {\n      @include border-start-radius(0);\n    }\n    @each $state in map.keys($form-validation-states) {\n      $validation-messages: $validation-messages + \":not(.\" + string.unquote($state) + \"-tooltip)\" + \":not(.\" + string.unquote($state) + \"-feedback)\";\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start strength-variables\n$strength-height:          .375rem !default;\n$strength-gap:             .25rem !default;\n$strength-margin-top:      .25rem !default;\n$strength-border-radius:   var(--border-radius-pill) !default;\n$strength-bg:              var(--bg-2) !default;\n$strength-transition:      background-color .2s ease-in-out, width .3s ease-in-out !default;\n\n$strength-weak-color:      var(--danger-bg) !default;\n$strength-fair-color:      var(--warning-bg) !default;\n$strength-good-color:      var(--info-bg) !default;\n$strength-strong-color:    var(--success-bg) !default;\n// scss-docs-end strength-variables\n\n@layer forms {\n  // Strength meter container\n  .strength {\n    --strength-height: #{$strength-height};\n    --strength-gap: #{$strength-gap};\n    --strength-bg: #{$strength-bg};\n    --strength-border-radius: #{$strength-border-radius};\n    --strength-color: #{$strength-bg};\n\n    display: flex;\n    gap: var(--strength-gap);\n    width: 100%;\n    margin-top: $strength-margin-top;\n  }\n\n  // Individual strength segments\n  .strength-segment {\n    flex: 1;\n    height: var(--strength-height);\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n    @include transition($strength-transition);\n\n    // Filled state\n    &.active {\n      background-color: var(--strength-color);\n    }\n  }\n\n  // Strength levels - set the color variable\n  .strength[data-bs-strength=\"weak\"] {\n    --strength-color: #{$strength-weak-color};\n  }\n\n  .strength[data-bs-strength=\"fair\"] {\n    --strength-color: #{$strength-fair-color};\n  }\n\n  .strength[data-bs-strength=\"good\"] {\n    --strength-color: #{$strength-good-color};\n  }\n\n  .strength[data-bs-strength=\"strong\"] {\n    --strength-color: #{$strength-strong-color};\n  }\n\n  // Optional text feedback\n  .strength-text {\n    display: block;\n    margin-top: $strength-margin-top;\n    font-size: $small-font-size;\n    color: var(--strength-color, var(--secondary-color));\n    @include transition(color .2s ease-in-out);\n\n    // Hide when empty\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Alternative: Single bar variant (like a progress bar)\n  .strength-bar {\n    --strength-height: #{$strength-height};\n    --strength-bg: #{$strength-bg};\n    --strength-border-radius: #{$strength-border-radius};\n    --strength-color: transparent;\n    --strength-width: 0%;\n\n    width: 100%;\n    height: var(--strength-height);\n    margin-top: $strength-margin-top;\n    overflow: hidden;\n    background-color: var(--strength-bg);\n    @include border-radius(var(--strength-border-radius));\n\n    &::after {\n      display: block;\n      width: var(--strength-width);\n      height: 100%;\n      content: \"\";\n      background-color: var(--strength-color);\n      @include border-radius(var(--strength-border-radius));\n      @include transition($strength-transition);\n    }\n\n    &[data-bs-strength=\"weak\"] {\n      --strength-color: #{$strength-weak-color};\n      --strength-width: 25%;\n    }\n\n    &[data-bs-strength=\"fair\"] {\n      --strength-color: #{$strength-fair-color};\n      --strength-width: 50%;\n    }\n\n    &[data-bs-strength=\"good\"] {\n      --strength-color: #{$strength-good-color};\n      --strength-width: 75%;\n    }\n\n    &[data-bs-strength=\"strong\"] {\n      --strength-color: #{$strength-strong-color};\n      --strength-width: 100%;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start otp-input-variables\n$otp-input-size:              3rem !default;\n$otp-input-size-sm:           2.25rem !default;\n$otp-input-size-lg:           3.5rem !default;\n$otp-input-font-size:         $font-size-lg !default;\n$otp-input-font-size-sm:      $font-size-base !default;\n$otp-input-font-size-lg:      $font-size-lg * 1.25 !default;\n$otp-input-gap:               .5rem !default;\n// scss-docs-end otp-input-variables\n\n@layer forms {\n  .otp {\n    --otp-size: #{$otp-input-size};\n    --otp-font-size: #{$otp-input-font-size};\n    --otp-gap: #{$otp-input-gap};\n\n    display: inline-flex;\n    gap: var(--otp-gap);\n\n    .form-control {\n      width: var(--otp-size);\n      min-height: var(--otp-size);\n      padding: 0;\n      font-size: var(--otp-font-size);\n      font-weight: 500;\n      line-height: 1;\n      text-align: center;\n\n      // Remove default number spinners\n      &::-webkit-outer-spin-button,\n      &::-webkit-inner-spin-button {\n        margin: 0;\n        appearance: none;\n      }\n\n      &[type=\"number\"] {\n        appearance: textfield;\n      }\n\n      &:focus,\n      &:focus-visible {\n        z-index: 1;\n      }\n    }\n\n    &.is-valid .form-control,\n    .was-validated &:valid .form-control {\n      border-color: var(--form-valid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--success-rgb), .25);\n        border-color: var(--form-valid-border-color);\n      }\n    }\n\n    &.is-invalid .form-control,\n    .was-validated &:invalid .form-control {\n      border-color: var(--form-invalid-border-color);\n\n      &:focus {\n        --focus-ring-color: rgba(var(--danger-rgb), .25);\n        border-color: var(--form-invalid-border-color);\n      }\n    }\n  }\n\n  // When used with .input-group, disable the gap and prevent inputs from stretching\n  .otp.input-group {\n    gap: 0;\n    width: auto; // Override input-group's width: 100%\n\n    .form-control {\n      flex: 0 0 auto; // Don't grow or shrink, use fixed width\n    }\n  }\n\n  .otp-separator {\n    display: flex;\n    align-items: center;\n    padding-inline: var(--otp-gap);\n    font-size: var(--otp-font-size);\n    color: var(--fg-4);\n    user-select: none;\n  }\n\n  .otp-sm {\n    --otp-size: #{$otp-input-size-sm};\n    --otp-font-size: #{$otp-input-font-size-sm};\n  }\n\n  .otp-lg {\n    --otp-size: #{$otp-input-size-lg};\n    --otp-font-size: #{$otp-input-font-size-lg};\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start form-adorn-variables\n$form-adorn-gap:           .375rem !default;\n$form-adorn-icon-size:     1rem !default;\n$form-adorn-icon-color:    var(--fg-2) !default;\n// scss-docs-end form-adorn-variables\n\n@layer forms {\n  .form-adorn {\n    // Inherit form-control CSS variables for sizing\n    --control-min-height: #{$control-min-height};\n    --control-padding-y: #{$control-padding-y};\n    --control-padding-x: #{$control-padding-x};\n    --control-font-size: #{$control-font-size};\n    --control-line-height: #{$control-line-height};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n\n    // Adorn-specific variables\n    --form-adorn-gap: #{$form-adorn-gap};\n    --form-adorn-icon-size: #{$form-adorn-icon-size};\n    --form-adorn-icon-color: #{$form-adorn-icon-color};\n\n    // Flexbox layout\n    display: flex;\n    gap: var(--form-adorn-gap);\n    align-items: center;\n\n    // Replicate .form-control styles on the wrapper\n    min-height: var(--control-min-height);\n    padding: var(--control-padding-y) var(--control-padding-x);\n    font-size: var(--control-font-size);\n    line-height: var(--control-line-height);\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    background-clip: padding-box;\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1;\n      min-width: 0; // Prevent text overflow\n    }\n\n\n    // Adornment at end (right in LTR) - input comes first visually\n    &.form-adorn-end > .form-ghost {\n      order: -1;\n    }\n  }\n\n  .form-adorn-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n\n    > svg {\n      width: var(--form-adorn-icon-size);\n      height: var(--form-adorn-icon-size);\n    }\n  }\n\n  .form-adorn-text {\n    flex-shrink: 0;\n    color: var(--form-adorn-icon-color);\n    pointer-events: none;\n    user-select: none;\n  }\n\n  // Sizing variants\n  .form-adorn-sm {\n    --control-min-height: #{$control-min-height-sm};\n    --control-padding-y: #{$control-padding-y-sm};\n    --control-padding-x: #{$control-padding-x-sm};\n    --control-font-size: #{$control-font-size-sm};\n    --control-line-height: #{$control-line-height-sm};\n    --control-border-radius: #{$control-border-radius-sm};\n  }\n\n  .form-adorn-lg {\n    --control-min-height: #{$control-min-height-lg};\n    --control-padding-y: #{$control-padding-y-lg};\n    --control-padding-x: #{$control-padding-x-lg};\n    --control-font-size: #{$control-font-size-lg};\n    --control-line-height: #{$control-line-height-lg};\n    --control-border-radius: #{$control-border-radius-lg};\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../theme\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/transition\" as *;\n@use \"form-variables\" as *;\n\n// scss-docs-start chip-input-variables\n$chip-input-gap:                    .375rem !default;\n$chip-input-padding-y:              .75rem !default;\n$chip-input-padding-x:              .75rem !default;\n$chip-input-chip-padding-y:         .75rem !default;\n$chip-input-chip-padding-x:         .5rem !default;\n$chip-input-ghost-min-width:        5rem !default;\n// scss-docs-end chip-input-variables\n\n@layer forms {\n  .chip-input {\n    // Inherit form-control CSS variables for sizing\n    // --control-min-height: #{$control-min-height};\n    --chip-input-padding-y: #{$chip-input-padding-y};\n    --chip-input-padding-x: #{$chip-input-padding-x};\n    --control-padding-x: #{$control-padding-x};\n    --control-color: #{$control-color};\n    --control-bg: #{$control-bg};\n    --control-border-width: #{$control-border-width};\n    --control-border-color: #{$control-border-color};\n    --control-border-radius: #{$control-border-radius};\n\n    // Chip input specific\n    --chip-input-gap: #{$chip-input-gap};\n    // --chip-input-chip-padding-y: #{$chip-input-chip-padding-y};\n    // --chip-input-chip-padding-x: #{$chip-input-chip-padding-x};\n    // --chip-input-chip-font-size: #{$chip-input-chip-font-size};\n    --chip-input-ghost-min-width: #{$chip-input-ghost-min-width};\n\n    // Flexbox wrapping layout\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--chip-input-gap);\n    align-items: center;\n    padding: var(--chip-input-padding-y) var(--chip-input-padding-x);\n\n    color: var(--control-color);\n    background-color: var(--control-bg);\n    border: var(--control-border-width) solid var(--control-border-color);\n    @include border-radius(var(--control-border-radius), 0);\n\n    // Focus state when ghost input is focused\n    &:focus-within {\n      --focus-ring-offset: -1px;\n      border-color: $input-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    // Ghost input fills remaining space\n    > .form-ghost {\n      flex: 1 1 0;\n      min-width: var(--chip-input-ghost-min-width);\n      min-height: 1.75rem;\n    }\n\n    // Disabled state\n    &.disabled,\n    &:has(.form-ghost:disabled) {\n      background-color: $input-disabled-bg;\n      opacity: 1;\n\n      > .chip {\n        opacity: .65;\n\n        .chip-dismiss {\n          pointer-events: none;\n        }\n      }\n\n      > .form-ghost {\n        cursor: not-allowed;\n      }\n    }\n  }\n\n  // Theme cascade: .chip-input.theme-* passes theme to child chips\n  // Chips inherit theme variables from parent\n  // @each $color-name, $theme-props in $theme-map {\n  //   .chip-input.theme-#{$color-name} > .chip {\n  //     // Subtle default state\n  //     --chip-color: var(--theme-text);\n  //     --chip-bg: var(--theme-bg-subtle);\n\n  //     // Selected/active solid state\n  //     --chip-selected-color: var(--theme-contrast);\n  //     --chip-selected-bg: var(--theme-bg);\n  //     --chip-selected-border-color: var(--theme-bg);\n  //   }\n  // }\n\n  // // Sizing variants\n  // .chip-input-sm {\n  //   --control-min-height: #{$control-min-height-sm};\n  //   --control-padding-y: #{$control-padding-y-sm};\n  //   --control-padding-x: #{$control-padding-x-sm};\n  //   --control-font-size: #{$control-font-size-sm};\n  //   --control-line-height: #{$control-line-height-sm};\n  //   --control-border-radius: #{$control-border-radius-sm};\n  //   --chip-input-gap: .25rem;\n  //   --chip-input-chip-font-size: .8125em;\n  // }\n\n  // .chip-input-lg {\n  //   --control-min-height: #{$control-min-height-lg};\n  //   --control-padding-y: #{$control-padding-y-lg};\n  //   --control-padding-x: #{$control-padding-x-lg};\n  //   --control-font-size: #{$control-font-size-lg};\n  //   --control-line-height: #{$control-line-height-lg};\n  //   --control-border-radius: #{$control-border-radius-lg};\n  //   --chip-input-gap: .5rem;\n  //   --chip-input-chip-font-size: .9375em;\n  // }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"mixins/reset-text\" as *;\n\n\n// scss-docs-start tooltip-tokens\n$tooltip-tokens: (\n  --tooltip-zindex: #{$zindex-tooltip},\n  --tooltip-max-width: 200px,\n  --tooltip-padding-x: #{$spacer * .75},\n  --tooltip-padding-y: #{$spacer * .375},\n  --tooltip-font-size: var(--font-size-sm),\n  --tooltip-color: var(--bg-body),\n  --tooltip-bg: var(--fg-body),\n  --tooltip-border-radius: var(--border-radius),\n  --tooltip-opacity: .95,\n  --tooltip-arrow-width: .8rem,\n  --tooltip-arrow-height: .4rem,\n) !default;\n// scss-docs-end tooltip-tokens\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y:     var(--tooltip-padding-y) !default;\n$form-feedback-tooltip-padding-x:     var(--tooltip-padding-x) !default;\n$form-feedback-tooltip-font-size:     var(--tooltip-font-size) !default;\n$form-feedback-tooltip-line-height:   null !default;\n$form-feedback-tooltip-opacity:       var(--tooltip-opacity) !default;\n$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;\n// scss-docs-end tooltip-feedback-variables\n\n@layer components {\n  .tooltip {\n    @each $prop, $value in $tooltip-tokens {\n      #{$prop}: #{$value};\n    }\n\n    z-index: var(--tooltip-zindex);\n    display: block;\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--tooltip-font-size);\n    // Allow breaking very long words so they don't overflow the tooltip's bounds\n    word-wrap: break-word;\n    opacity: 0;\n\n    &.show { opacity: var(--tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--tooltip-arrow-width);\n      height: var(--tooltip-arrow-height);\n\n      &::before {\n        position: absolute;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n      }\n    }\n  }\n\n  .bs-tooltip-top .tooltip-arrow {\n    bottom: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-block-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height) calc(var(--tooltip-arrow-width) * .5) 0;\n      border-inline-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-block-end-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--tooltip-arrow-height));\n    width: var(--tooltip-arrow-height);\n    height: var(--tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--tooltip-arrow-width) * .5) 0 calc(var(--tooltip-arrow-width) * .5) var(--tooltip-arrow-height);\n      border-inline-start-color: var(--tooltip-bg);\n    }\n  }\n\n  .bs-tooltip-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--tooltip-max-width);\n    padding: var(--tooltip-padding-y) var(--tooltip-padding-x);\n    color: var(--tooltip-color);\n    text-align: center;\n    background-color: var(--tooltip-bg);\n    @include border-radius(var(--tooltip-border-radius));\n  }\n}\n","@use \"../variables\" as *;\n\n@mixin reset-text {\n  font-family: $font-family-base;\n  // We deliberately do NOT reset font-size or overflow-wrap / word-wrap.\n  font-style: normal;\n  font-weight: $font-weight-normal;\n  line-height: $line-height-base;\n  text-align: start;\n  text-decoration: none;\n  text-shadow: none;\n  text-transform: none;\n  letter-spacing: normal;\n  word-break: normal;\n  white-space: normal;\n  word-spacing: normal;\n  line-break: auto;\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"form-variables\" as *;\n@use \"../tooltip\" as *; // bring in tooltip variables\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// 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\n// scss-docs-start form-validation-mixins\n@mixin form-validation-state-selector($state) {\n  @if ($state == \"valid\" or $state == \"invalid\") {\n    .was-validated #{if(sass(&): \"&\"; else: \"\")}:#{$state},\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(sass(&): \"&\"; else: \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\n  $state,\n  $color,\n  $icon,\n  $tooltip-color: color-contrast($color),\n  $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),\n  $focus-box-shadow: null, // mdo-do: fix\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    font-size: $form-feedback-font-size;\n    font-style: $form-feedback-font-style;\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    font-size: $form-feedback-tooltip-font-size;\n    line-height: $form-feedback-tooltip-line-height;\n    color: $tooltip-color;\n    background-color: $tooltip-bg-color;\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: $border-color;\n\n      @if $enable-validation-icons {\n        padding-inline-end: $input-height-inner;\n        background-image: escape-svg($icon);\n        background-repeat: no-repeat;\n        background-position: right $input-height-inner-quarter center;\n        background-size: $input-height-inner-half $input-height-inner-half;\n      }\n\n      &:focus {\n        border-color: $border-color;\n        @if $enable-shadows {\n          @include box-shadow($input-box-shadow, $focus-box-shadow);\n        } @else {\n          // Avoid using mixin so we can pass custom focus shadow properly\n          box-shadow: $focus-box-shadow;\n        }\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        padding-inline-end: $input-height-inner;\n        background-position: top $input-height-inner-quarter right $input-height-inner-quarter;\n      }\n    }\n  }\n\n  // .form-select {\n  //   @include form-validation-state-selector($state) {\n  //     border-color: $border-color;\n\n  //     @if $enable-validation-icons {\n  //       &:not([multiple]):not([size]),\n  //       &:not([multiple])[size=\"1\"] {\n  //         --form-select-bg-icon: #{escape-svg($icon)};\n  //         padding-right: $form-select-feedback-icon-padding-end;\n  //         background-position: $form-select-bg-position, $form-select-feedback-icon-position;\n  //         background-size: $form-select-bg-size, $form-select-feedback-icon-size;\n  //       }\n  //     }\n\n  //     &:focus {\n  //       border-color: $border-color;\n  //       @if $enable-shadows {\n  //         @include box-shadow($form-select-box-shadow, $focus-box-shadow);\n  //       } @else {\n  //         // Avoid using mixin so we can pass custom focus shadow properly\n  //         box-shadow: $focus-box-shadow;\n  //       }\n  //     }\n  //   }\n  // }\n\n  .form-control-color {\n    @include form-validation-state-selector($state) {\n      @if $enable-validation-icons {\n        width: add($form-color-width, $input-height-inner);\n      }\n    }\n  }\n\n  .form-check-input {\n    @include form-validation-state-selector($state) {\n      border-color: $border-color;\n\n      &:checked {\n        background-color: $color;\n      }\n\n      &:focus {\n        box-shadow: $focus-box-shadow;\n      }\n\n      ~ .form-check-label {\n        color: $color;\n      }\n    }\n  }\n  .form-check-inline .form-check-input {\n    ~ .#{$state}-feedback {\n      margin-inline-start: .5em;\n    }\n  }\n\n  .input-group {\n    > .form-control:not(:focus),\n    > .form-select:not(:focus),\n    > .form-floating:not(:focus-within) {\n      @include form-validation-state-selector($state) {\n        @if $state == \"valid\" {\n          z-index: 3;\n        } @else if $state == \"invalid\" {\n          z-index: 4;\n        }\n      }\n    }\n  }\n}\n// scss-docs-end form-validation-mixins\n\n@layer forms {\n  // scss-docs-start form-validation-states-loop\n  @each $state, $data in $form-validation-states {\n    @include form-validation-state($state, $data...);\n  }\n  // scss-docs-end form-validation-states-loop\n}\n","@use \"sass:color\";\n@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../theme\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"../mixins/focus-ring\" as *;\n@use \"../mixins/gradients\" as *;\n@use \"../mixins/transition\" as *;\n@use \"button-variables\" as *;\n\n// scss-docs-start btn-variants\n$button-variants: (\n  \"solid\": (\n    \"base\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"border-color\": \"bg\",\n      \"color\": \"contrast\"\n    )\n  ),\n  \"outline\": (\n    \"base\": (\n      \"bg\": \"transparent\",\n      \"color\": \"text\",\n      \"border-color\": \"border\"\n    ),\n    \"hover\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    ),\n    \"active\": (\n      \"bg\": \"bg\",\n      \"color\": \"contrast\",\n      \"border-color\": \"bg\"\n    )\n  ),\n  \"subtle\": (\n    \"base\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"bg\": (\"bg-muted\", \"bg-subtle\"),\n      \"color\": \"text-emphasis\"\n    ),\n    \"active\": (\n      \"bg\": \"bg-subtle\",\n      \"color\": \"text-emphasis\"\n    )\n  ),\n  \"text\": (\n    \"base\": (\n      \"color\": \"text\",\n      \"bg\": \"transparent\",\n      \"border-color\": \"transparent\"\n    ),\n    \"hover\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    ),\n    \"active\": (\n      \"color\": \"text\",\n      \"bg\": \"bg-subtle\"\n    )\n  )\n) !default;\n// scss-docs-end btn-variants\n\n// scss-docs-start btn-sizes\n$button-sizes: (\n  \"xs\": (\n    \"padding-y\": $btn-padding-y-xs,\n    \"padding-x\": $btn-padding-x-xs,\n    \"font-size\": $btn-font-size-xs,\n    \"line-height\": $btn-line-height-xs,\n    \"border-radius\": $btn-border-radius-xs,\n    \"min-height\": 1.5rem\n  ),\n  \"sm\": (\n    \"padding-y\": $btn-padding-y-sm,\n    \"padding-x\": $btn-padding-x-sm,\n    \"font-size\": $btn-font-size-sm,\n    \"line-height\": $btn-line-height-sm,\n    \"border-radius\": $btn-border-radius-sm,\n    \"min-height\": 2rem\n  ),\n  \"lg\": (\n    \"padding-y\": $btn-padding-y-lg,\n    \"padding-x\": $btn-padding-x-lg,\n    \"font-size\": $btn-font-size-lg,\n    \"line-height\": $btn-line-height-lg,\n    \"border-radius\": $btn-border-radius-lg,\n    \"min-height\": 2.75rem\n  ),\n  // Commented out by default on purpose\n  // \"xl\": (\n  //   \"padding-y\": $btn-padding-y-xl,\n  //   \"padding-x\": $btn-padding-x-xl,\n  //   \"font-size\": $btn-font-size-xl,\n  //   \"line-height\": $btn-line-height-xl,\n  //   \"border-radius\": $btn-border-radius-xl,\n  //   \"min-height\": 3.25rem\n  // ),\n) !default;\n// scss-docs-end btn-sizes\n\n//\n// Base styles\n//\n\n$btn-variant-selectors: () !default;\n@each $variant in map.keys($button-variants) {\n  $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(\".btn-#{$variant}\"), comma);\n}\n\n@layer components {\n  .btn,\n  #{$btn-variant-selectors} {\n    // scss-docs-start btn-css-vars\n    --btn-min-height: 2.25rem;\n    --btn-padding-x: #{$btn-padding-x};\n    --btn-padding-y: #{$btn-padding-y};\n    // --btn-font-family: #{$btn-font-family};\n    --btn-font-size: #{$btn-font-size};\n    --btn-font-weight: #{$btn-font-weight};\n    --btn-line-height: #{$btn-line-height};\n    --btn-color: #{$btn-color};\n    --btn-border-width: #{$btn-border-width};\n    --btn-border-color: transparent;\n    --btn-border-radius: #{$btn-border-radius};\n    --btn-hover-border-color: transparent;\n    --btn-disabled-opacity: #{$btn-disabled-opacity};\n    // scss-docs-end btn-css-vars\n\n    display: inline-flex;\n    gap: var(--btn-gap, .25rem);\n    align-items: center;\n    justify-content: center;\n    min-height: var(--btn-min-height);\n    padding: var(--btn-padding-y) var(--btn-padding-x);\n    // font-family: var(--btn-font-family);\n    font-size: var(--btn-font-size);\n    font-weight: var(--btn-font-weight);\n    line-height: var(--btn-line-height);\n    color: var(--btn-color);\n    text-decoration: none;\n    white-space: $btn-white-space;\n    vertical-align: middle;\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    cursor: if(sass($enable-button-pointers): pointer; else: null);\n    user-select: none;\n    background-color: var(--btn-bg, var(--bg-2));\n    border: var(--btn-border-width) solid var(--btn-border-color);\n    @include border-radius(var(--btn-border-radius));\n    @include transition($btn-transition);\n\n    &:hover {\n      color: var(--btn-hover-color);\n      background-color: var(--btn-hover-bg, var(--bg-3));\n      border-color: var(--btn-hover-border-color);\n    }\n\n    &:focus-visible {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &.active,\n    &.show {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      border-color: var(--btn-active-border-color);\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n    }\n  }\n\n\n  // Main button style generator mixin\n  // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)\n  // scss-docs-start btn-variant-mixin\n  @each $variant, $_ in $button-variants {\n    .btn-#{$variant} {\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-#{$property}: transparent;\n        } @else {\n          --btn-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      @each $property, $value in map.get($button-variants, $variant, \"active\") {\n        @if $value == \"transparent\" {\n          --btn-active-#{$property}: transparent;\n        } @else if $value == \"bg-subtle\" {\n          --btn-active-#{$property}: var(--theme-#{$value});\n        } @else {\n          --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n        }\n      }\n      @each $property, $value in map.get($button-variants, $variant, \"base\") {\n        @if $value == \"transparent\" {\n          --btn-disabled-#{$property}: transparent;\n        } @else {\n          --btn-disabled-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n\n      &:hover {\n        @each $property, $value in map.get($button-variants, $variant, \"hover\") {\n          @if $value == \"transparent\" {\n            --btn-hover-#{$property}: transparent;\n          } @else if meta.type-of($value) == \"list\" {\n            $first-value: list.nth($value, 1);\n            $second-value: list.nth($value, 2);\n            --btn-hover-#{$property}: color-mix(in oklch, var(--theme-#{$first-value}) 50%, var(--theme-#{$second-value}));\n          } @else if $value == \"bg-subtle\" {\n            --btn-hover-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-hover-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .95) calc(c * 1.1) h);\n          }\n        }\n      }\n\n      &:focus-visible {\n        outline-color: var(--theme-focus-ring);\n      }\n\n      &:active,\n      &.active,\n      &.btn-check:has(input:checked) {\n        @each $property, $value in map.get($button-variants, $variant, \"active\") {\n          @if $value == \"transparent\" {\n            --btn-active-#{$property}: transparent;\n          } @else if $value == \"bg-subtle\" {\n            --btn-active-#{$property}: var(--theme-#{$value});\n          } @else {\n            --btn-active-#{$property}: oklch(from var(--theme-#{$value}) calc(l * .9) calc(c * 1.15) h);\n          }\n        }\n      }\n\n      // Disabled state for toggle buttons\n      &:disabled,\n      &.disabled,\n      &.btn-check:has(input:disabled) {\n        @each $property, $value in map.get($button-variants, $variant, \"base\") {\n          @if $value == \"transparent\" {\n            --btn-disabled-#{$property}: transparent;\n          } @else {\n            --btn-disabled-#{$property}: var(--theme-#{$value});\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end btn-variant-mixin\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    --btn-font-weight: #{$font-weight-normal};\n    --btn-color: #{$btn-link-color};\n    --btn-bg: transparent;\n    --btn-border-color: transparent;\n    --btn-hover-color: #{$btn-link-hover-color};\n    --btn-hover-bg: transparent;\n    --btn-hover-border-color: transparent;\n    --btn-active-color: #{$btn-link-hover-color};\n    --btn-active-bg: transparent;\n    --btn-active-border-color: transparent;\n    --btn-disabled-color: #{$btn-link-disabled-color};\n    --btn-disabled-border-color: transparent;\n\n    color: var(--theme-text, var(--btn-color));\n    text-decoration: var(--link-decoration);\n\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:focus-visible {\n      color: var(--theme-text, var(--btn-color));\n    }\n\n    &:hover {\n      color: var(--theme-text-emphasis, var(--btn-hover-color));\n    }\n\n    // No need for an active state here\n  }\n\n\n  //\n  // Button Sizes\n  //\n\n  // Generate button size classes from the $button-sizes map\n  // Skip \"md\" as it's the default size for .btn\n  @each $size, $properties in $button-sizes {\n    .btn-#{$size},\n    .btn-group-#{$size} > [class*=\"btn-\"] {\n      --btn-min-height: #{map.get($properties, \"min-height\")};\n      --btn-padding-y: #{map.get($properties, \"padding-y\")};\n      --btn-padding-x: #{map.get($properties, \"padding-x\")};\n      --btn-font-size: #{map.get($properties, \"font-size\")};\n      --btn-line-height: #{map.get($properties, \"line-height\")};\n      --btn-border-radius: #{map.get($properties, \"border-radius\")};\n    }\n  }\n\n  .btn-icon {\n    align-items: center;\n    justify-content: center;\n    aspect-ratio: 1;\n    padding: 0;\n  }\n\n  //\n  // Toggle buttons (.btn-check)\n  //\n  // Checkbox and radio inputs that look like buttons. Add .btn-check to a\n  // label with button classes, with the input nested inside.\n  //\n  // Example: <label class=\"btn-check btn-solid theme-primary\"><input type=\"checkbox\">Toggle</label>\n\n  .btn-check {\n    > input {\n      position: absolute;\n      clip: rect(0, 0, 0, 0);\n      pointer-events: none;\n    }\n\n    &:has(input:checked) {\n      color: var(--btn-active-color);\n      background-color: var(--btn-active-bg, var(--bg-3));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-active-border-color);\n      @include box-shadow(var(--btn-active-shadow));\n    }\n\n    &:has(input:focus-visible) {\n      @include focus-ring(true);\n      --focus-ring-offset: 1px;\n    }\n\n    &:has(input:disabled) {\n      color: var(--btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--btn-disabled-bg, var(--bg-1));\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n      border-color: var(--btn-disabled-border-color);\n      opacity: var(--btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n  //\n  // Styled buttons\n  //\n  // Add visual depth with gradients and shadows. Customize via CSS variables.\n\n  .btn-styled {\n    --btn-gradient-start: rgb(255 255 255 / 12.5%);\n    --btn-gradient-end: rgb(0 0 0 / 7.5%);\n    --btn-border-mix-color: #000;\n    --btn-border-mix-amount: 10%;\n    --btn-border-hover-mix-amount: 12.5%;\n    --btn-border-active-mix-amount: 20%;\n    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);\n    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);\n\n    background-image:\n      linear-gradient(\n        to bottom,\n        var(--btn-gradient-start),\n        var(--btn-gradient-end)\n      );\n    border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-mix-amount));\n    box-shadow: var(--btn-shadow);\n\n    &:hover {\n      background-image:\n        linear-gradient(\n          to bottom,\n          var(--btn-gradient-start),\n          var(--btn-gradient-end)\n        );\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-hover-mix-amount));\n    }\n\n    &:active,\n    &.active {\n      background-image: none;\n      border-color: color-mix(in lab, var(--theme-bg), var(--btn-border-mix-color) var(--btn-border-active-mix-amount));\n      box-shadow: var(--btn-active-shadow);\n    }\n\n    &:disabled,\n    &.disabled {\n      background-image: none;\n      box-shadow: none;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/box-shadow\" as *;\n@use \"button-variables\" as *;\n\n@layer components {\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    > [class*=\"btn-\"] {\n      position: relative;\n      flex: 1 1 auto;\n\n      &:hover {\n        z-index: 1;\n      }\n    }\n\n    > .btn-check:has(input:checked),\n    > [class*=\"btn-\"]:active,\n    > [class*=\"btn-\"].active {\n      z-index: 2;\n    }\n\n    > .btn-check:has(input:focus),\n    > [class*=\"btn-\"]:focus {\n      z-index: 3;\n    }\n  }\n\n  // Optional: Group multiple button groups together for a toolbar\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    gap: .5rem;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius($btn-border-radius);\n\n    // Prevent double borders when buttons are next to each other\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-inline-start: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-start-radius(0);\n    }\n  }\n\n  // Sizing\n  //\n  // Remix the default button sizing classes into new ones for easier manipulation.\n\n  // .btn-group-sm > [class*=\"btn-\"] { @extend .btn-sm; }\n  // .btn-group-lg > [class*=\"btn-\"] { @extend .btn-lg; }\n\n\n  //\n  // Split button dropdowns\n  //\n\n  .dropdown-toggle-split {\n    padding-inline: $btn-padding-x * .75;\n\n    &::after,\n    .dropup &::after,\n    .dropend &::after {\n      margin-inline-start: 0;\n    }\n\n    .dropstart &::before {\n      margin-inline-end: 0;\n    }\n  }\n\n  .btn-sm + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-sm * .75;\n  }\n\n  .btn-lg + .dropdown-toggle-split {\n    padding-inline: $btn-padding-x-lg * .75;\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    > [class*=\"btn-\"],\n    > .btn-group {\n      width: 100%;\n    }\n\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > [class*=\"btn-\"]:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > [class*=\"btn-\"] {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is not the first child\n    > [class*=\"btn-\"]:not(:first-child),\n    > .btn-group:not(:first-child) > [class*=\"btn-\"] {\n      @include border-top-radius(0);\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/border-radius\" as *;\n@use \"../mixins/color-mode\" as *;\n@use \"../mixins/focus-ring\" as *;\n\n// scss-docs-start close-variables\n$btn-close-size:             1.25rem !default;\n$btn-close-color:            var(--fg-body) !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    .85 !default;\n$btn-close-disabled-opacity: .25 !default;\n// scss-docs-end close-variables\n\n// Transparent background and border properties included for button version.\n// iOS requires the button element instead of an anchor tag.\n// If you want the anchor version, it requires `href=\"#\"`.\n// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n@layer components {\n  .btn-close {\n    // scss-docs-start close-css-vars\n    --btn-close-size: #{$btn-close-size};\n    --btn-close-color: #{$btn-close-color};\n    --btn-close-opacity: #{$btn-close-opacity};\n    --btn-close-hover-opacity: #{$btn-close-hover-opacity};\n    --btn-close-focus-opacity: #{$btn-close-focus-opacity};\n    --btn-close-disabled-opacity: #{$btn-close-disabled-opacity};\n    // scss-docs-end close-css-vars\n\n    box-sizing: content-box;\n    width: var(--btn-close-size);\n    height: var(--btn-close-size);\n    padding: 0;\n    color: var(--btn-close-color);\n    background: transparent;\n    border: 0; // for button elements\n    @include border-radius(var(--border-radius-sm));\n    opacity: var(--btn-close-opacity);\n\n    > svg {\n      display: block;\n      width: 100%;\n      height: 100%;\n      fill: currentcolor;\n    }\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--btn-close-color);\n      text-decoration: none;\n      opacity: var(--btn-close-hover-opacity);\n    }\n\n    &:focus {\n      @include focus-ring();\n      opacity: var(--btn-close-focus-opacity);\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--btn-close-disabled-opacity);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// scss-docs-start accordion-tokens\n$accordion-tokens: (\n  --accordion-padding-x: 1.25rem,\n  --accordion-padding-y: 1rem,\n  --accordion-color: var(--fg-body),\n  --accordion-bg: var(--bg-body),\n  --accordion-transition-property: \"color, background-color, border-radius\",\n  --accordion-transition-timing: \".15s ease-in-out\",\n  --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),\n  --accordion-border-color: var(--border-color),\n  --accordion-border-width: var(--border-width),\n  --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),\n  --accordion-btn-color: var(--fg-2),\n  --accordion-btn-bg: var(--bg-body),\n  --accordion-btn-icon-width: 1rem,\n  --accordion-btn-icon-transform: rotate(-180deg),\n  --accordion-btn-icon-transition: transform .2s ease-in-out,\n  --accordion-active-color: var(--fg),\n  --accordion-active-bg: var(--bg-2),\n) !default;\n// scss-docs-end accordion-tokens\n\n@layer components {\n  .accordion {\n    @each $prop, $value in $accordion-tokens {\n      #{$prop}: #{$value};\n    }\n  }\n\n  .accordion-header {\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));\n    font-size: var(--accordion-font-size, var(--font-size-base));\n    color: var(--accordion-btn-color);\n    text-align: start;\n    list-style: none; // Remove default marker\n    cursor: pointer;\n    background-color: var(--accordion-btn-bg);\n    @include transition(var(--accordion-transition));\n\n    .accordion-icon {\n      flex-shrink: 0;\n      width: var(--accordion-btn-icon-width);\n      height: var(--accordion-btn-icon-width);\n      margin-inline-start: auto;\n      color: currentcolor;\n      @include transition(var(--accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus-visible {\n      position: relative;\n      z-index: 3;\n      @include focus-ring(true);\n      outline-offset: -1px;\n    }\n  }\n\n  .accordion-item {\n    color: var(--accordion-color);\n    background-color: var(--accordion-bg);\n    border: var(--accordion-border-width) solid var(--accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-top-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-block-start: 0;\n    }\n\n    // Only set a border-radius on the last item if the accordion is collapsed\n    &:last-of-type {\n      @include border-bottom-radius(var(--accordion-border-radius));\n\n      > .accordion-header {\n        @include border-bottom-radius(calc(var(--accordion-border-radius) - var(--accordion-border-width)));\n      }\n\n      > .accordion-body {\n        @include border-bottom-radius(var(--accordion-border-radius));\n      }\n    }\n\n    // Open state - details[open] applies these styles\n    &[open] {\n      border-color: var(--theme-border, var(--accordion-border-color));\n\n      > .accordion-header {\n        color: var(--theme-text, var(--accordion-active-color));\n        background-color: var(--theme-bg-subtle, var(--accordion-active-bg));\n        box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0 var(--theme-border, var(--accordion-border-color));\n\n        .accordion-icon {\n          transform: var(--accordion-btn-icon-transform);\n        }\n      }\n\n      // Remove bottom radius from header when open (even on last item)\n      &:last-of-type > .accordion-header {\n        @include border-bottom-radius(0);\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));\n  }\n\n\n  // Flush accordion items\n  //\n  // Remove borders and border-radius to keep accordion items edge-to-edge.\n\n  .accordion-flush {\n    > .accordion-item {\n      border-inline: 0;\n      @include border-radius(0);\n\n      &:first-child {\n        border-block-start: 0;\n      }\n\n      &:last-child {\n        border-block-end: 0;\n      }\n\n      > .accordion-header,\n      > .accordion-body {\n        @include border-radius(0);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"theme\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start alert-tokens\n$alert-tokens: (\n  --alert-gap: #{$spacer * .75},\n  --alert-bg: var(--theme-bg-subtle, var(--bg-1)),\n  --alert-padding-x: #{$spacer},\n  --alert-padding-y: #{$spacer},\n  --alert-color: var(--theme-text, inherit),\n  --alert-border-color: var(--theme-border, var(--border-color)),\n  --alert-border: var(--border-width) solid var(--alert-border-color),\n  --alert-border-radius: var(--border-radius),\n  --alert-link-color: inherit,\n  --hr-border-color: var(--theme-border, var(--border-color)),\n) !default;\n// scss-docs-end alert-tokens\n\n@layer components {\n  .alert {\n    @each $prop, $value in $alert-tokens {\n      #{$prop}: #{$value};\n    }\n\n    display: flex;\n    gap: var(--alert-gap);\n    align-items: start;\n    padding: var(--alert-padding-y) var(--alert-padding-x);\n    color: var(--alert-color);\n    background-color: var(--alert-bg);\n    border: var(--alert-border);\n    @include border-radius(var(--alert-border-radius));\n  }\n\n  .alert-heading {\n    // Specified to prevent conflicts of changing $headings-color\n    color: inherit;\n  }\n\n  // Provide class for links that match alerts\n  .alert-link {\n    font-weight: var(--font-weight-semibold);\n    color: var(--alert-link-color);\n  }\n}\n","@use \"sass:map\";\n@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start avatar-tokens\n$avatar-tokens: (\n  --avatar-size: 2.5rem,\n  --avatar-border-radius: 50%,\n  --avatar-border-width: 2px,\n  --avatar-border-color: var(--bg-body),\n  --avatar-bg: var(--bg-2),\n  --avatar-color: var(--fg-body),\n  --avatar-status-size: .75rem,\n  --avatar-status-border-width: 2px,\n  --avatar-status-border-color: var(--bg-body),\n  --avatar-stack-spacing: -.3,\n  --avatar-stack-transition: \"transform .2s ease-in-out\",\n) !default;\n// scss-docs-end avatar-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start avatar-sizes\n$avatar-sizes: (\n  \"xs\": (\n    size: 1.5rem,\n    status-size: .625rem,\n  ),\n  \"sm\": (\n    size: 2rem,\n  ),\n  \"lg\": (\n    size: 3rem,\n    status-size: 1rem,\n  ),\n  \"xl\": (\n    size: 4rem,\n    status-size: 1.25rem,\n  ),\n) !default;\n// scss-docs-end avatar-sizes\n\n@layer components {\n  .avatar {\n    @each $prop, $value in $avatar-tokens {\n      #{$prop}: #{$value};\n    }\n\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    width: var(--avatar-size);\n    height: var(--avatar-size);\n    font-size: calc(var(--avatar-size) * .4);\n    font-weight: $font-weight-medium;\n    line-height: 1;\n    color: var(--theme-contrast, var(--avatar-color));\n    text-transform: uppercase;\n    vertical-align: middle;\n    background-color: var(--theme-bg, var(--avatar-bg));\n    @include border-radius(var(--avatar-border-radius));\n  }\n\n  .avatar-subtle {\n    color: var(--theme-text, var(--avatar-color));\n    background-color: var(--theme-bg-subtle, var(--avatar-bg));\n  }\n\n  .avatar-img {\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n    @include border-radius(inherit);\n  }\n\n  .avatar-status {\n    position: absolute;\n    right: calc(var(--avatar-status-border-width) * -1);\n    bottom: calc(var(--avatar-status-border-width) * -1);\n    width: var(--avatar-status-size);\n    height: var(--avatar-status-size);\n    background-color: var(--gray-400);\n    border: var(--avatar-status-border-width) solid var(--avatar-status-border-color);\n    @include border-radius(50%);\n\n    &.status-online {\n      background-color: var(--green-500);\n    }\n\n    &.status-offline {\n      background-color: var(--gray-400);\n      @include border-radius(20%);\n    }\n\n    &.status-busy {\n      background-color: var(--red-500);\n      @include border-radius(20%);\n    }\n\n    &.status-away {\n      background-color: var(--yellow-500);\n    }\n  }\n\n  .avatar-stack {\n    display: inline-flex;\n    flex-direction: row-reverse;\n\n    .avatar {\n      // Stack spacing is calculated as a percentage of avatar size\n      margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));\n      border: var(--avatar-border-width) solid var(--avatar-border-color);\n      mask-image: none;\n      @include transition(var(--avatar-stack-transition));\n\n      &:last-child {\n        margin-left: 0;\n      }\n\n      &:hover {\n        z-index: 1;\n        transform: translateY(-2px);\n      }\n    }\n  }\n\n  @each $size, $tokens in $avatar-sizes {\n    .avatar-#{$size},\n    .avatar-stack-#{$size} {\n      --avatar-size: #{map.get($tokens, size)};\n\n      @if map.has-key($tokens, status-size) {\n        --avatar-status-size: #{map.get($tokens, status-size)};\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n\n// scss-docs-start badge-tokens\n$badge-tokens: (\n  --badge-padding-x: .625em,\n  --badge-padding-y: .25em,\n  --badge-font-size: clamp(12px, .75em, .75em),\n  --badge-font-weight: var(--font-weight-semibold),\n  --badge-color: inherit,\n  --badge-bg: var(--bg-2),\n  --badge-border-width: var(--border-width),\n  --badge-border-color: transparent,\n  --badge-border-radius: var(--border-radius-lg),\n) !default;\n// scss-docs-end badge-tokens\n\n// scss-docs-start badge-variants\n$badge-variants: (\n  \"subtle\": (\n    \"color\": \"text\",\n    \"bg\": \"bg-subtle\",\n    \"border-color\": \"transparent\"\n  ),\n  \"outline\": (\n    \"color\": \"text\",\n    \"bg\": \"transparent\",\n    \"border-color\": \"border\"\n  )\n) !default;\n// scss-docs-end badge-variants\n\n@layer components {\n  .badge {\n    @each $prop, $value in $badge-tokens {\n      #{$prop}: #{$value};\n    }\n\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 1.375rem;\n    padding: var(--badge-padding-y) var(--badge-padding-x);\n    font-size: var(--badge-font-size);\n    font-weight: var(--badge-font-weight);\n    line-height: 1;\n    color: var(--theme-contrast, var(--badge-color));\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    background-color: var(--theme-bg, var(--badge-bg));\n    border: var(--badge-border-width) solid var(--badge-border-color);\n    @include border-radius(var(--badge-border-radius));\n    @include gradient-bg();\n\n    // Empty badges collapse automatically\n    &:empty {\n      display: none;\n    }\n  }\n\n  // Quick fix for badges in buttons\n  .btn .badge {\n    position: relative;\n    top: -1px;\n  }\n\n  // scss-docs-start badge-variant-loop\n  @each $variant, $properties in $badge-variants {\n    .badge-#{$variant} {\n      @each $property, $value in $properties {\n        @if $value == \"transparent\" {\n          --badge-#{$property}: transparent;\n        } @else {\n          --badge-#{$property}: var(--theme-#{$value});\n        }\n      }\n\n      color: var(--badge-color);\n      background-color: var(--badge-bg);\n      border-color: var(--badge-border-color);\n    }\n  }\n  // scss-docs-end badge-variant-loop\n}\n","@use \"sass:string\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start breadcrumb-tokens\n$breadcrumb-tokens: (\n  --breadcrumb-margin-bottom: 1rem,\n  --breadcrumb-font-size: inherit,\n  --breadcrumb-bg: transparent,\n  --breadcrumb-border-radius: var(--border-radius),\n  --breadcrumb-divider-color: var(--fg-4),\n  --breadcrumb-link-padding-x: .75rem,\n  --breadcrumb-link-padding-y: .25rem,\n  --breadcrumb-link-color: var(--fg-3),\n  --breadcrumb-link-hover-color: var(--fg-2),\n  --breadcrumb-link-hover-bg: var(--bg-1),\n  --breadcrumb-link-active-color: var(--fg-1),\n  --breadcrumb-link-border-radius: var(--border-radius-lg),\n) !default;\n// scss-docs-end breadcrumb-tokens\n\n@layer components {\n  .breadcrumb {\n    @each $prop, $value in $breadcrumb-tokens {\n      #{$prop}: #{$value};\n    }\n\n    display: flex;\n    flex-wrap: wrap;\n    align-items: center;\n    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);\n    font-size: var(--breadcrumb-font-size);\n    list-style: none;\n    background-color: var(--breadcrumb-bg);\n    @include border-radius(var(--breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    display: flex;\n  }\n\n  .breadcrumb-divider {\n    margin-inline: calc(var(--breadcrumb-link-padding-x) / 4);\n    color: var(--breadcrumb-divider-color);\n  }\n\n  .breadcrumb-link {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    min-height: 2.25rem;\n    padding: var(--breadcrumb-link-padding-y) var(--breadcrumb-link-padding-x);\n    color: var(--breadcrumb-link-color);\n    text-decoration: none;\n    @include border-radius(var(--breadcrumb-link-border-radius));\n    @include transition(.1s text-decoration-color ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--breadcrumb-link-hover-color);\n      background-color: var(--breadcrumb-link-hover-bg);\n    }\n\n    &.active {\n      color: var(--breadcrumb-link-active-color);\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start chip-tokens\n$chip-tokens: (\n  --chip-height: 1.75rem,\n  --chip-padding-x: .625rem,\n  --chip-gap: .3125rem,\n  --chip-border-radius: var(--border-radius-pill),\n  --chip-img-size: 1.25rem,\n  --chip-icon-size: 1rem,\n  --chip-dismiss-size: 1rem,\n  --chip-dismiss-opacity: .65,\n  --chip-dismiss-hover-opacity: 1,\n  --chip-color: var(--theme-text, var(--fg-body)),\n  --chip-bg: var(--theme-bg-subtle, var(--bg-2)),\n  --chip-border-color: transparent,\n  --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),\n  --chip-selected-bg: var(--theme-bg, var(--primary-bg)),\n  --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),\n) !default;\n// scss-docs-end chip-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n@layer components {\n  .chip {\n    @each $prop, $value in $chip-tokens {\n      #{$prop}: #{$value};\n    }\n\n    display: inline-flex;\n    gap: var(--chip-gap);\n    align-items: center;\n    height: var(--chip-height);\n    padding-inline: var(--chip-padding-x);\n    // font-size: var(--chip-font-size);\n    // font-weight: var(--chip-font-weight);\n    // line-height: 1.25;\n    color: var(--chip-color);\n    text-decoration: none;\n    white-space: nowrap;\n    vertical-align: middle;\n    cursor: pointer;\n    background-color: var(--chip-bg);\n    border: var(--border-width) solid var(--chip-border-color);\n    @include border-radius(var(--chip-border-radius));\n\n    &:hover {\n      --chip-bg: var(--theme-bg-muted, var(--bg-3));\n    }\n\n    &:focus-visible {\n      outline: 0;\n      // @include focus-ring();\n    }\n\n    &.active {\n      --chip-color: var(--chip-selected-color);\n      --chip-bg: var(--chip-selected-bg);\n      --chip-border-color: var(--chip-selected-border-color);\n\n      &:hover {\n        --chip-bg: var(--chip-selected-bg);\n        opacity: .9;\n      }\n    }\n\n    &.disabled,\n    &:disabled {\n      pointer-events: none;\n      opacity: .65;\n    }\n  }\n\n  .chip-img {\n    width: var(--chip-img-size);\n    height: var(--chip-img-size);\n    @include border-radius(50%);\n\n    &:first-child {\n      margin-inline-start: -.375rem;\n    }\n  }\n\n  // Chip icon (left side)\n  .chip-icon {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    margin-inline-start: calc(var(--chip-gap) * -.25);\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n    }\n\n    > img {\n      width: var(--chip-icon-size);\n      height: var(--chip-icon-size);\n      object-fit: cover;\n      @include border-radius(50%);\n    }\n  }\n\n  // Dismiss button (right side)\n  .chip-dismiss {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--chip-min-height);\n    height: var(--chip-min-height);\n    padding: 0;\n    // margin-inline-start: calc(var(--chip-padding-x) * -.5);\n    margin-inline-end: calc(var(--chip-padding-x) * -.25);\n    color: inherit;\n    cursor: pointer;\n    background: transparent;\n    border: 0;\n    opacity: var(--chip-dismiss-opacity);\n    // @include transition(opacity .15s ease-in-out);\n\n    &:hover {\n      opacity: var(--chip-dismiss-hover-opacity);\n    }\n\n    &:focus-visible {\n      outline: 0;\n      opacity: 1;\n      @include focus-ring();\n    }\n\n    > svg {\n      display: block; // Prevents baseline alignment issues\n      width: var(--chip-dismiss-size);\n      height: var(--chip-dismiss-size);\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start card-tokens\n$card-tokens: (\n  --card-spacer-y: #{$spacer},\n  --card-spacer-x: #{$spacer},\n  --card-subtitle-color: inherit,\n  --card-border-width: var(--border-width),\n  --card-border-color: var(--border-color-translucent),\n  --card-border-radius: var(--border-radius-lg),\n  --card-box-shadow: none,\n  --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n  --card-cap-padding-y: #{$spacer * .75},\n  --card-cap-padding-x: #{$spacer},\n  --card-cap-bg: var(--bg-1),\n  --card-cap-color: inherit,\n  --card-height: auto,\n  --card-color: inherit,\n  --card-bg: var(--bg-body),\n  --card-img-overlay-padding: #{$spacer},\n  --card-group-margin: #{$grid-gutter-width * .5},\n  --card-body-gap: #{$spacer * .5},\n) !default;\n// scss-docs-end card-tokens\n\n@layer components {\n  .card {\n    @each $prop, $value in $card-tokens {\n      #{$prop}: #{$value};\n    }\n\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106\n    height: var(--card-height);\n    color: var(--fg-body);\n    word-wrap: break-word;\n    background-color: var(--card-bg);\n    // border: var(--card-border-width) solid var(--card-border-color);\n    // @include border-radius(var(--card-border-radius));\n    @include box-shadow(var(--card-box-shadow));\n\n    > hr {\n      margin-inline: 0;\n    }\n  }\n\n  .card-body {\n    display: flex;\n    // Enable `flex-grow: 1` for decks and groups so that card blocks take up\n    // as much space as possible, ensuring footers are aligned to the bottom.\n    flex: 1 1 auto;\n    flex-direction: column;\n    gap: var(--card-body-gap);\n    align-items: flex-start;\n    padding: var(--card-spacer-y) var(--card-spacer-x);\n    color: var(--card-color);\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    > * {\n      margin-block: 0;\n    }\n  }\n\n  .card-body,\n  .card-list {\n    border: solid var(--theme-bg, var(--card-border-color));\n    border-width: 0 var(--card-border-width);\n\n    &:first-child {\n      @include border-top-radius(var(--card-border-radius));\n      border-top-width: var(--card-border-width);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(var(--card-border-radius));\n      border-bottom-width: var(--card-border-width);\n    }\n\n    &:not(:first-child):not(:last-child) {\n      border-block-end-width: var(--card-border-width);\n    }\n  }\n\n  .card-subtitle {\n    margin-top: calc(var(--card-body-gap) * -.5);\n  }\n\n  .card-header {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--theme-contrast, var(--card-cap-color));\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:first-child {\n      @include border-radius(var(--card-inner-border-radius) var(--card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--card-cap-padding-y) var(--card-cap-padding-x);\n    color: var(--card-cap-color);\n    background-color: var(--theme-bg, var(--card-cap-bg));\n    border: var(--card-border-width) solid var(--theme-bg, var(--card-border-color));\n\n    &:last-child {\n      @include border-radius(0 0 var(--card-inner-border-radius) var(--card-inner-border-radius));\n    }\n  }\n\n  .card-subtle {\n    border-color: var(--theme-border, var(--card-border-color));\n\n    .card-header {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-footer {\n      color: var(--theme-text-emphasis, currentcolor);\n      background-color: var(--theme-bg-subtle, var(--card-cap-bg));\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n\n    .card-body,\n    .card-list {\n      border-color: var(--theme-border, var(--card-border-color));\n    }\n  }\n\n  //\n  // Header navs\n  //\n\n  // Combined selector because of specificity match with `.nav` base class\n  .nav.card-header-tabs {\n    margin-inline: calc(-.5 * var(--card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--card-cap-padding-y));\n    border-block-end: 0;\n\n    .nav-link.active {\n      background-color: var(--card-bg);\n      border-block-end-color: var(--card-bg);\n    }\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    inset: 0;\n    padding: var(--card-img-overlay-padding);\n    @include border-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-top,\n  .card-img-bottom {\n    width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch\n    outline: var(--card-border-width) solid var(--card-border-color);\n    outline-offset: calc(var(--card-border-width) * -1);\n  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--card-inner-border-radius));\n  }\n\n\n  .card-row {\n    flex-direction: row;\n\n    .card-body,\n    .card-list {\n      border-width: var(--card-border-width) 0;\n      @include border-radius(0);\n\n      &:first-child {\n        @include border-start-radius(var(--card-inner-border-radius));\n        border-inline-start-width: var(--card-border-width);\n      }\n\n      &:last-child {\n        @include border-end-radius(var(--card-inner-border-radius));\n        border-inline-end-width: var(--card-border-width);\n      }\n\n      &:not(:first-child):not(:last-child) {\n        border-inline-end-width: var(--card-border-width);\n      }\n    }\n  }\n\n  .card-img-start {\n    @include border-start-radius(var(--card-inner-border-radius));\n  }\n\n  .card-img-end {\n    @include border-end-radius(var(--card-inner-border-radius));\n  }\n\n  //\n  // Card groups\n  //\n\n  .card-group {\n    // The child selector allows nested `.card` within `.card-group`\n    // to display properly.\n    > .card {\n      margin-bottom: var(--card-group-margin);\n    }\n\n    @include media-breakpoint-up(sm) {\n      display: flex;\n      flex-flow: row wrap;\n      // The child selector allows nested `.card` within `.card-group`\n      // to display properly.\n      > .card {\n        flex: 1 0 0;\n        margin-bottom: 0;\n\n        + .card {\n          margin-inline-start: 0;\n          border-inline-start: 0;\n        }\n\n        // Handle rounded corners\n        @if $enable-rounded {\n          &:not(:last-child) {\n            @include border-end-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-end-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-end-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              border-start-start-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              border-end-start-radius: 0;\n            }\n          }\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/color-mode\" as *;\n\n// scss-docs-start carousel-tokens\n$carousel-tokens: (\n  --carousel-control-color: #{$white},\n  --carousel-control-width: 15%,\n  --carousel-control-opacity: .5,\n  --carousel-control-hover-opacity: .9,\n  --carousel-control-transition: opacity .15s ease,\n  --carousel-control-icon-filter: none,\n  --carousel-indicator-width: 30px,\n  --carousel-indicator-height: 3px,\n  --carousel-indicator-hit-area-height: 10px,\n  --carousel-indicator-spacer: 3px,\n  --carousel-indicator-opacity: .5,\n  --carousel-indicator-active-bg: var(--white),\n  --carousel-indicator-active-opacity: 1,\n  --carousel-indicator-transition: opacity .6s ease,\n  --carousel-caption-width: 70%,\n  --carousel-caption-color: var(--white),\n  --carousel-caption-padding-y: 1.25rem,\n  --carousel-caption-spacer: 1.25rem,\n  --carousel-control-icon-width: 2rem,\n  --carousel-control-prev-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>\"),\n  --carousel-control-next-icon-bg: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>\"),\n  --carousel-transition-duration: .6s,\n  --carousel-transition: transform .6s ease-in-out,\n) !default;\n// scss-docs-end carousel-tokens\n\n// scss-docs-start carousel-dark-tokens\n$carousel-dark-tokens: (\n  --carousel-indicator-active-bg: #{$black},\n  --carousel-caption-color: #{$black},\n  --carousel-control-icon-filter: invert(1) grayscale(100),\n) !default;\n// scss-docs-end carousel-dark-tokens\n\n// Notes on the classes:\n//\n// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically)\n//    even when their scroll action started on a carousel, but for compatibility (with Firefox)\n//    we're preventing all actions instead\n// 2. The .carousel-item-start and .carousel-item-end is used to indicate where\n//    the active slide is heading.\n// 3. .active.carousel-item is the current slide.\n// 4. .active.carousel-item-start and .active.carousel-item-end is the current\n//    slide in its in-transition state. Only one of these occurs at a time.\n// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end\n//    is the upcoming slide in transition.\n\n@layer components {\n  .carousel {\n    position: relative;\n\n    @each $prop, $value in $carousel-tokens {\n      #{$prop}: #{$value};\n    }\n  }\n\n  .carousel.pointer-event {\n    touch-action: pan-y;\n  }\n\n  .carousel-inner {\n    position: relative;\n    display: flow-root;\n    width: 100%;\n    overflow: hidden;\n  }\n\n  .carousel-item {\n    position: relative;\n    display: none;\n    float: inline-start;\n    width: 100%;\n    margin-inline-end: -100%;\n    backface-visibility: hidden;\n    @include transition(var(--carousel-transition));\n  }\n\n  .carousel-item.active,\n  .carousel-item-next,\n  .carousel-item-prev {\n    display: block;\n  }\n\n  .carousel-item-next:not(.carousel-item-start),\n  .active.carousel-item-end {\n    transform: translateX(100%);\n  }\n\n  .carousel-item-prev:not(.carousel-item-end),\n  .active.carousel-item-start {\n    transform: translateX(-100%);\n  }\n\n\n  //\n  // Alternate transitions\n  //\n\n  .carousel-fade {\n    .carousel-item {\n      opacity: 0;\n      transition-property: opacity;\n      transform: none;\n    }\n\n    .carousel-item.active,\n    .carousel-item-next.carousel-item-start,\n    .carousel-item-prev.carousel-item-end {\n      z-index: 1;\n      opacity: 1;\n    }\n\n    .active.carousel-item-start,\n    .active.carousel-item-end {\n      z-index: 0;\n      opacity: 0;\n      @include transition(opacity 0s var(--carousel-transition-duration));\n    }\n  }\n\n\n  //\n  // Left/right controls for nav\n  //\n\n  .carousel-control-prev,\n  .carousel-control-next {\n    position: absolute;\n    inset-block: 0;\n    z-index: 1;\n    // Use flex for alignment (1-3)\n    display: flex; // 1. allow flex styles\n    align-items: center; // 2. vertically center contents\n    justify-content: center; // 3. horizontally center contents\n    width: var(--carousel-control-width);\n    padding: 0;\n    color: var(--carousel-control-color);\n    text-align: center;\n    background: none;\n    filter: var(--carousel-control-icon-filter);\n    border: 0;\n    opacity: var(--carousel-control-opacity);\n    @include transition(var(--carousel-control-transition));\n\n    // Hover/focus state\n    &:hover,\n    &:focus {\n      color: var(--carousel-control-color);\n      text-decoration: none;\n      outline: 0;\n      opacity: var(--carousel-control-hover-opacity);\n    }\n  }\n  .carousel-control-prev {\n    inset-inline-start: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n  .carousel-control-next {\n    inset-inline-end: 0;\n    // stylelint-disable-next-line scss/at-function-named-arguments, @stylistic/function-whitespace-after\n    background-image: if(sass($enable-gradients): linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); else: null);\n  }\n\n  // Icons for within\n  .carousel-control-prev-icon,\n  .carousel-control-next-icon {\n    display: inline-block;\n    width: var(--carousel-control-icon-width);\n    height: var(--carousel-control-icon-width);\n    background-repeat: no-repeat;\n    background-position: 50%;\n    background-size: 100% 100%;\n  }\n\n  .carousel-control-prev-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-prev-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  .carousel-control-next-icon {\n    background-image: var(--carousel-control-next-icon-bg);\n  }\n\n  [dir=\"rtl\"] .carousel-control-next-icon {\n    background-image: var(--carousel-control-prev-icon-bg);\n  }\n\n  // Optional indicator pips/controls\n  //\n  // Add a container (such as a list) with the following class and add an item (ideally a focusable control,\n  // like a button) with data-bs-target for each slide your carousel holds.\n\n  .carousel-indicators {\n    position: absolute;\n    inset: auto 0 0;\n    z-index: 2;\n    display: flex;\n    justify-content: center;\n    padding: 0;\n    // Use the .carousel-control's width as margin so we don't overlay those\n    margin-inline: var(--carousel-control-width);\n    margin-bottom: 1rem;\n\n    [data-bs-target] {\n      box-sizing: content-box;\n      flex: 0 1 auto;\n      width: var(--carousel-indicator-width);\n      height: var(--carousel-indicator-height);\n      padding: 0;\n      margin-inline: var(--carousel-indicator-spacer);\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--carousel-indicator-active-bg);\n      background-clip: padding-box;\n      border: 0;\n      // Use transparent borders to increase the hit area by 10px on top and bottom.\n      border-block: var(--carousel-indicator-hit-area-height) solid transparent;\n      opacity: var(--carousel-indicator-opacity);\n      @include transition(var(--carousel-indicator-transition));\n    }\n\n    .active {\n      opacity: var(--carousel-indicator-active-opacity);\n    }\n  }\n\n\n  // Optional captions\n  //\n  //\n\n  .carousel-caption {\n    position: absolute;\n    right: calc((100% - var(--carousel-caption-width)) * .5);\n    bottom: var(--carousel-caption-spacer);\n    left: calc((100% - var(--carousel-caption-width)) * .5);\n    padding-top: var(--carousel-caption-padding-y);\n    padding-bottom: var(--carousel-caption-padding-y);\n    color: var(--carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    @each $prop, $value in $carousel-dark-tokens {\n      #{$prop}: #{$value};\n    }\n  }\n\n  .carousel-dark {\n    @include carousel-dark();\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include carousel-dark();\n    }\n  }\n}\n","// stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection\n\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n\n// scss-docs-start datepicker-tokens\n$datepicker-tokens: (\n  --datepicker-padding: 1rem,\n  --datepicker-bg: var(--bg-body),\n  --datepicker-color: var(--fg-body),\n  --datepicker-border-color: var(--border-color-translucent),\n  --datepicker-border-width: var(--border-width),\n  --datepicker-border-radius: var(--border-radius-lg),\n  --datepicker-box-shadow: var(--box-shadow),\n  --datepicker-font-size: var(--font-size-sm),\n  --datepicker-min-width: 280px,\n  --datepicker-zindex: #{$zindex-dropdown},\n  --datepicker-header-font-weight: 600,\n  --datepicker-weekday-color: var(--fg-3),\n  --datepicker-day-hover-bg: var(--bg-1),\n  --datepicker-day-selected-bg: var(--primary-bg),\n  --datepicker-day-selected-color: var(--primary-contrast),\n  --datepicker-day-today-bg: var(--bg-2),\n  --datepicker-day-today-color: var(--fg-1),\n  --datepicker-day-disabled-color: var(--fg-4),\n) !default;\n// scss-docs-end datepicker-tokens\n\n@layer components {\n  [data-vc=\"calendar\"] {\n    @each $prop, $value in $datepicker-tokens {\n      #{$prop}: #{$value};\n    }\n\n    position: absolute;\n    z-index: var(--datepicker-zindex);\n    box-sizing: border-box;\n    display: flex;\n    flex-direction: column;\n    min-width: var(--datepicker-min-width);\n    padding: var(--datepicker-padding);\n    font-family: var(--font-sans-serif);\n    font-size: var(--datepicker-font-size);\n    color: var(--datepicker-color);\n    color-scheme: light dark;\n    background-color: var(--datepicker-bg);\n    border: var(--datepicker-border-width) solid var(--datepicker-border-color);\n    @include border-radius(var(--datepicker-border-radius));\n    box-shadow: var(--datepicker-box-shadow);\n    opacity: 1;\n\n    // Respond to Bootstrap's color mode system\n    &[data-bs-theme=\"light\"] {\n      color-scheme: light;\n    }\n\n    &[data-bs-theme=\"dark\"] {\n      color-scheme: dark;\n    }\n\n    // Catch-all for focus styles\n    button:focus-visible {\n      position: relative;\n      z-index: 1;\n      @include focus-ring();\n    }\n  }\n\n  [data-vc-calendar-hidden] {\n    pointer-events: none;\n    opacity: 0;\n  }\n\n  // Inline calendars\n  //\n  // Remove popover styling for more neutral styling\n  [data-vc=\"calendar\"]:not([data-vc-input]) {\n    position: relative;\n    width: fit-content;\n    padding: 0;\n    border: 0;\n    box-shadow: none;\n  }\n\n  [data-vc-position=\"bottom\"] {\n    margin-block-start: .25rem;\n  }\n\n  [data-vc-position=\"top\"] {\n    margin-block-end: -.25rem;\n  }\n\n  [data-vc-arrow] {\n    position: relative;\n    display: block;\n    width: 2rem;\n    height: 2rem;\n    color: var(--datepicker-color);\n    pointer-events: auto;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &::before {\n      position: absolute;\n      inset: .25rem;\n      content: \"\";\n      background-image: url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%236b7280' d='M12 16c-.3 0-.5-.1-.7-.3l-6-6c-.4-.4-.4-1 0-1.4s1-.4 1.4 0l5.3 5.3 5.3-5.3c.4-.4 1-.4 1.4 0s.4 1 0 1.4l-6 6c-.2.2-.4.3-.7.3'/></svg>\");\n      background-repeat: no-repeat;\n      background-position: center;\n    }\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  [data-vc-arrow=\"prev\"]::before {\n    transform: rotate(90deg);\n  }\n\n  [data-vc-arrow=\"next\"]::before {\n    transform: rotate(-90deg);\n  }\n\n  // Grid layout\n  [data-vc=\"controls\"] {\n    position: absolute;\n    top: 0;\n    right: 0;\n    left: 0;\n    z-index: 20;\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    padding-top: 1rem;\n    padding-right: 1rem;\n    padding-left: 1rem;\n    pointer-events: none;\n  }\n\n  [data-vc=\"grid\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-wrap: wrap;\n    gap: 1.75rem;\n  }\n\n  [data-vc=\"column\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n    min-width: 240px;\n  }\n\n  //\n  // Header\n  //\n\n  [data-vc=\"header\"] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    margin-bottom: .75rem;\n  }\n\n  // Month and year\n  [data-vc-header=\"content\"] {\n    display: inline-flex;\n    flex-grow: 1;\n    align-items: center;\n    justify-content: center;\n    white-space: pre-wrap;\n  }\n\n  [data-vc=\"month\"],\n  [data-vc=\"year\"] {\n    padding: .25rem .5rem;\n    margin-inline: -.125rem;\n    font-size: 1rem;\n    font-weight: var(--datepicker-header-font-weight);\n    color: var(--datepicker-color);\n    // cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n\n  [data-vc=\"content\"] {\n    display: flex;\n    flex-grow: 1;\n    flex-direction: column;\n  }\n\n  // Month/Year grids\n  [data-vc=\"months\"],\n  [data-vc=\"years\"] {\n    display: grid;\n    flex-grow: 1;\n    grid-template-columns: repeat(var(--vc-columns, 4), minmax(0, 1fr));\n    row-gap: 1rem;\n    column-gap: .25rem;\n    align-items: center;\n  }\n\n  [data-vc=\"years\"] {\n    --vc-columns: 5;\n  }\n\n  [data-vc-months-month],\n  [data-vc-years-year] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    height: 2.5rem;\n    padding: .25rem;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    text-align: center;\n    word-break: break-all;\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    @include border-radius($border-radius);\n\n    &:disabled {\n      color: var(--datepicker-day-disabled-color);\n      pointer-events: none;\n    }\n\n    &:hover:not(:disabled) {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n\n    &[data-vc-months-month-selected],\n    &[data-vc-years-year-selected] {\n      color: var(--datepicker-day-selected-color);\n      background-color: var(--datepicker-day-selected-bg);\n\n      &:hover {\n        color: var(--datepicker-day-selected-color);\n        background-color: var(--datepicker-day-selected-bg);\n      }\n    }\n  }\n\n  // Week days header\n  [data-vc=\"week\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    justify-items: center;\n    margin-bottom: .5rem;\n  }\n\n  [data-vc-week-day] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    padding: 0;\n    margin: 0;\n    font-size: .75rem;\n    font-weight: 600;\n    line-height: 1rem;\n    color: var(--datepicker-weekday-color);\n    background-color: transparent;\n    border: 0;\n  }\n\n  button[data-vc-week-day] {\n    cursor: pointer;\n  }\n\n  // Dates grid\n  [data-vc=\"dates\"] {\n    pointer-events: none;\n  }\n\n  [data-vc-dates=\"row\"] {\n    display: grid;\n    grid-template-columns: repeat(7, 1fr);\n    align-items: center;\n    justify-items: center;\n    width: 100%;\n  }\n\n  [data-vc-date] {\n    position: relative;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    padding-top: .125rem;\n    padding-bottom: .125rem;\n    pointer-events: auto;\n\n    &:not(:has([data-vc-date-btn])),\n    &[data-vc-date-disabled],\n    &[data-vc-date-disabled] [data-vc-date-btn] {\n      pointer-events: none;\n    }\n  }\n\n  // Date button\n  [data-vc-date-btn] {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    width: 100%;\n    min-width: 1.875rem;\n    height: 100%;\n    min-height: 1.875rem;\n    padding: 0;\n    font-size: .75rem;\n    font-weight: 400;\n    line-height: 1rem;\n    color: var(--datepicker-color);\n    cursor: pointer;\n    background-color: transparent;\n    border: 0;\n    border-radius: $border-radius;\n\n    &:hover {\n      background-color: var(--datepicker-day-hover-bg);\n    }\n  }\n\n  // Today\n  [data-vc-date-today] [data-vc-date-btn] {\n    font-weight: 600;\n    color: var(--datepicker-day-today-color);\n    background-color: var(--datepicker-day-today-bg);\n  }\n\n\n  // Outside month\n  [data-vc-date-month=\"next\"] [data-vc-date-btn],\n  [data-vc-date-month=\"prev\"] [data-vc-date-btn] {\n    opacity: .5;\n  }\n\n  // Disabled\n  [data-vc-date-disabled] [data-vc-date-btn] {\n    color: var(--datepicker-day-disabled-color);\n  }\n\n  // Range selection styles\n  [data-vc-date-hover] [data-vc-date-btn] {\n    background-color: var(--datepicker-day-hover-bg);\n    border-radius: 0;\n  }\n\n  [data-vc-date-hover=\"first\"] [data-vc-date-btn] {\n    border-start-start-radius: $border-radius;\n    border-end-start-radius: $border-radius;\n  }\n\n  [data-vc-date-hover=\"last\"] [data-vc-date-btn] {\n    border-start-end-radius: $border-radius;\n    border-end-end-radius: $border-radius;\n  }\n\n  [data-vc-date-hover=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: $border-radius;\n  }\n\n  [data-vc-date-selected=\"middle\"] [data-vc-date-btn] {\n    border-radius: 0;\n    opacity: .8;\n  }\n\n  // Selected\n  [data-vc-date-selected] [data-vc-date-btn] {\n    color: var(--datepicker-day-selected-color);\n    background-color: var(--datepicker-day-selected-bg);\n\n  }\n\n  [data-vc-date-selected=\"first\"] [data-vc-date-btn] {\n    border-top-left-radius: $border-radius;\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n    border-bottom-left-radius: $border-radius;\n  }\n\n  [data-vc-date-selected=\"last\"] [data-vc-date-btn] {\n    border-top-left-radius: 0;\n    border-top-right-radius: $border-radius;\n    border-bottom-right-radius: $border-radius;\n    border-bottom-left-radius: 0;\n  }\n\n  [data-vc-date-selected=\"first-and-last\"] [data-vc-date-btn] {\n    border-radius: $border-radius;\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n\n// Native <dialog> component\n// Uses the browser's native dialog element with showModal()/show()/close() APIs\n// Leverages native [open] attribute and ::backdrop pseudo-element\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start dialog-tokens\n$dialog-tokens: (\n  --dialog-padding: 1rem,\n  --dialog-width: 500px,\n  --dialog-margin: 1.75rem,\n  --dialog-color: var(--fg-body),\n  --dialog-bg: var(--bg-body),\n  --dialog-border-color: var(--border-color-translucent),\n  --dialog-border-width: var(--border-width),\n  --dialog-border-radius: var(--border-radius-lg),\n  --dialog-box-shadow: var(--box-shadow-lg),\n  --dialog-backdrop-bg: rgba(0, 0, 0, .5),\n  --dialog-header-padding: 1rem,\n  --dialog-header-border-color: var(--border-color),\n  --dialog-header-border-width: var(--border-width),\n  --dialog-footer-padding: 1rem,\n  --dialog-footer-border-color: var(--border-color),\n  --dialog-footer-border-width: var(--border-width),\n  --dialog-footer-gap: .5rem,\n) !default;\n// scss-docs-end dialog-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start dialog-sizes\n$dialog-sizes: (\n  sm: 280px,\n  lg: 800px,\n  xl: 1140px,\n) !default;\n// scss-docs-end dialog-sizes\n\n@layer components {\n  // Prevent body scroll when dialog is open\n  .dialog-open {\n    overflow: hidden;\n    scrollbar-gutter: stable;\n  }\n\n  .dialog {\n    @each $prop, $value in $dialog-tokens {\n      #{$prop}: #{$value};\n    }\n\n    // Reset native dialog styles\n    max-width: var(--dialog-width);\n    max-height: calc(100% - var(--dialog-margin) * 2);\n    padding: 0;\n    margin: auto;\n    color: var(--dialog-color);\n    background-color: var(--dialog-bg);\n    background-clip: padding-box;\n    border: var(--dialog-border-width) solid var(--dialog-border-color);\n    @include border-radius(var(--dialog-border-radius));\n    @include box-shadow(var(--dialog-box-shadow));\n\n    // Native backdrop styling via ::backdrop pseudo-element\n    &::backdrop {\n      background-color: var(--dialog-backdrop-bg);\n    }\n\n    // Animation support using native [open] attribute\n    &.fade {\n      opacity: 0;\n      @include transition(opacity .15s linear);\n\n      &::backdrop {\n        opacity: 0;\n        @include transition(opacity .15s linear);\n      }\n\n      &[open] {\n        opacity: 1;\n\n        &::backdrop {\n          opacity: 1;\n        }\n      }\n    }\n\n    // Static backdrop \"bounce\" animation (modal dialogs only)\n    &.dialog-static {\n      transform: scale(1.02);\n    }\n\n    // Non-modal dialog positioning\n    // show() doesn't use the top layer, so we need explicit positioning and z-index\n    &.dialog-nonmodal {\n      position: fixed;\n      inset-block-start: 50%;\n      inset-inline-start: 50%;\n      z-index: $zindex-dialog;\n      margin-inline: 0;\n      transform: translate(-50%, -50%);\n    }\n\n    // Overflow dialog - scrollable viewport container with dialog box inside\n    &.dialog-overflow {\n      // Make dialog element the full-viewport scrollable container\n      position: fixed;\n      inset: 0;\n      width: 100%;\n      max-width: 100%;\n      height: 100%;\n      max-height: 100%;\n      padding: var(--dialog-margin);\n      margin: 0;\n      overflow-y: auto;\n      overscroll-behavior: contain;\n      background: transparent;\n      border: 0;\n      box-shadow: none;\n\n      // The visual dialog box is a child wrapper\n      > .dialog-box {\n        max-width: var(--dialog-width);\n        margin-block-end: var(--dialog-margin);\n        margin-inline: auto;\n        color: var(--dialog-color);\n        background-color: var(--dialog-bg);\n        background-clip: padding-box;\n        border: var(--dialog-border-width) solid var(--dialog-border-color);\n        @include border-radius(var(--dialog-border-radius));\n        @include box-shadow(var(--dialog-box-shadow));\n      }\n    }\n\n    // Scrollable dialog body (header/footer stay fixed)\n    &.dialog-scrollable[open] {\n      display: flex;\n      flex-direction: column;\n      max-height: calc(100% - var(--dialog-margin) * 2);\n\n      .dialog-body {\n        overflow-y: auto;\n      }\n    }\n  }\n\n  // Dialog sizes\n  @each $size, $value in $dialog-sizes {\n    .dialog-#{$size} { --dialog-width: #{$value}; }\n  }\n\n  // Fullscreen dialog\n  .dialog-fullscreen {\n    --dialog-width: 100vw;\n    --dialog-margin: 0;\n    --dialog-border-radius: 0;\n\n    width: 100%;\n    max-width: none;\n    height: 100%;\n    max-height: none;\n  }\n\n  // Responsive fullscreen dialogs\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $postfix: if(sass($infix != \"\"): #{$infix}-down; else: \"\");\n\n    @if $postfix != \"\" {\n      @include media-breakpoint-down($breakpoint) {\n        .dialog-fullscreen#{$postfix} {\n          --dialog-width: 100vw;\n          --dialog-margin: 0;\n          --dialog-border-radius: 0;\n\n          width: 100%;\n          max-width: none;\n          height: 100%;\n          max-height: none;\n        }\n      }\n    }\n  }\n\n  // Dialog header\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--dialog-header-padding);\n    border-block-end: var(--dialog-header-border-width) solid var(--dialog-header-border-color);\n\n    .btn-close {\n      margin-inline-start: auto;\n    }\n  }\n\n  // Dialog title\n  .dialog-title {\n    margin-bottom: 0;\n    font-size: var(--font-size-md);\n    line-height: 1.5;\n  }\n\n  // Dialog body\n  .dialog-body {\n    position: relative;\n    flex: 1 1 auto;\n    padding: var(--dialog-padding);\n    overflow-y: auto;\n  }\n\n  // Dialog footer\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    gap: var(--dialog-footer-gap);\n    align-items: center;\n    justify-content: flex-end;\n    padding: var(--dialog-footer-padding);\n    border-block-start: var(--dialog-footer-border-width) solid var(--dialog-footer-border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start dropdown-tokens\n$dropdown-tokens: (\n  --dropdown-zindex: #{$zindex-dropdown},\n  --dropdown-gap: .125rem,\n  --dropdown-min-width: 10rem,\n  --dropdown-padding-x: .25rem,\n  --dropdown-padding-y: .25rem,\n  --dropdown-spacer: .125rem,\n  --dropdown-font-size: #{$font-size-base},\n  --dropdown-color: var(--fg-body),\n  --dropdown-bg: var(--bg-body),\n  --dropdown-border-color: var(--border-color-translucent),\n  --dropdown-border-radius: var(--border-radius-lg),\n  --dropdown-border-width: var(--border-width),\n  --dropdown-inner-border-radius: calc(var(--dropdown-border-radius) - var(--dropdown-border-width)),\n  --dropdown-box-shadow: var(--box-shadow),\n  --dropdown-divider-bg: var(--border-color-translucent),\n  --dropdown-divider-margin-y: .125rem,\n  --dropdown-divider-margin-x: .25rem,\n  --dropdown-link-color: var(--fg-body),\n  --dropdown-link-hover-color: var(--fg-body),\n  --dropdown-link-hover-bg: var(--bg-1),\n  --dropdown-link-active-color: var(--primary-contrast),\n  --dropdown-link-active-bg: var(--primary-bg),\n  --dropdown-link-disabled-color: var(--fg-3),\n  --dropdown-item-gap: .5rem,\n  --dropdown-item-padding-x: .75rem,\n  --dropdown-item-padding-y: .25rem,\n  --dropdown-item-border-radius: var(--border-radius),\n  --dropdown-header-color: var(--fg-2),\n  --dropdown-header-padding-x: .75rem,\n  --dropdown-header-padding-y: .25rem,\n) !default;\n// scss-docs-end dropdown-tokens\n\n@layer components {\n  .dropdown {\n    position: relative;\n  }\n\n  .dropdown-menu {\n    @each $prop, $value in $dropdown-tokens {\n      #{$prop}: #{$value};\n    }\n\n    position: absolute;\n    z-index: var(--dropdown-zindex);\n    display: none; // none by default, but flex on \"open\" of the menu\n    flex-direction: column;\n    gap: var(--dropdown-gap);\n    min-width: var(--dropdown-min-width);\n    padding: var(--dropdown-padding-y) var(--dropdown-padding-x);\n    margin: 0; // Override default margin of ul\n    font-size: var(--dropdown-font-size);\n    color: var(--dropdown-color);\n    text-align: start; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n    list-style: none;\n    background-color: var(--dropdown-bg);\n    background-clip: padding-box;\n    border: var(--dropdown-border-width) solid var(--dropdown-border-color);\n    @include border-radius(var(--dropdown-border-radius));\n    @include box-shadow(var(--dropdown-box-shadow));\n  }\n\n  .dropdown-menu.show {\n    display: flex;\n  }\n\n  .dropdown-divider {\n    height: 0;\n    margin: var(--dropdown-divider-margin-y) var(--dropdown-divider-margin-x);\n    overflow: hidden;\n    border-block-start: 1px solid var(--dropdown-divider-bg);\n    opacity: 1;\n  }\n\n  // Links, buttons, and more within the dropdown menu\n  //\n  // `<button>`-specific styles are denoted with `// For <button>s`\n  .dropdown-item {\n    display: flex;\n    gap: var(--dropdown-item-gap);\n    align-items: center;\n    width: 100%; // For `<button>`s\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    font-weight: $font-weight-normal;\n    color: var(--dropdown-link-color);\n    text-align: inherit; // For `<button>`s\n    text-decoration: none;\n    white-space: nowrap; // prevent links from randomly breaking onto new lines\n    background-color: transparent; // For `<button>`s\n    border: 0; // For `<button>`s\n    @include border-radius(var(--dropdown-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--dropdown-link-hover-color);\n      @include gradient-bg(var(--dropdown-link-hover-bg));\n    }\n\n    &.active,\n    &:active {\n      color: var(--dropdown-link-active-color);\n      @include gradient-bg(var(--dropdown-link-active-bg));\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--dropdown-link-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // Remove CSS gradients if they're enabled\n      // stylelint-disable-next-line scss/at-function-named-arguments\n      background-image: if(sass($enable-gradients): none; else: null);\n    }\n  }\n\n  .dropdown-header {\n    display: block;\n    padding: var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);\n    margin-bottom: 0; // for use with heading elements\n    font-size: $font-size-sm;\n    color: var(--dropdown-header-color);\n    white-space: nowrap; // as with > li > a\n  }\n\n  .dropdown-item-text {\n    display: block;\n    padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);\n    color: var(--fg-2);\n  }\n\n  // scss-docs-start dropdown-submenu\n  // Submenus\n  //\n  // Nested dropdown menus with hover/click activation and keyboard support.\n\n  .dropdown-submenu {\n    position: relative;\n\n    > .dropdown-item {\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .dropdown-item::after {\n      display: inline-block;\n      flex-shrink: 0;\n      width: .375em;\n      height: .375em;\n      margin-inline-start: auto;\n      content: \"\";\n      border-color: currentcolor;\n      border-style: solid;\n      border-width: 0 .125em .125em 0;\n      transform: rotate(-45deg);\n\n      // RTL: flip the chevron direction\n      [dir=\"rtl\"] & {\n        transform: rotate(135deg);\n      }\n    }\n\n    // Submenu positioning (set by JS via Floating UI)\n    > .dropdown-menu {\n      top: 0;\n      // Offset to align with parent item\n      margin-top: calc(-1 * var(--dropdown-padding-y));\n    }\n\n    &:hover > .dropdown-item,\n    &:focus-within > .dropdown-item {\n      color: var(--dropdown-link-hover-color);\n      background-color: var(--dropdown-link-hover-bg);\n    }\n\n    &.show > .dropdown-item {\n      color: var(--dropdown-link-hover-color);\n      background-color: var(--dropdown-link-hover-bg);\n    }\n  }\n  // scss-docs-end dropdown-submenu\n}\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"theme\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start list-group-tokens\n$list-group-tokens: (\n  --list-group-color: var(--fg-body),\n  --list-group-bg: var(--bg-body),\n  --list-group-border-color: var(--border-color),\n  --list-group-border-width: var(--border-width),\n  --list-group-border-radius: var(--border-radius),\n  --list-group-item-padding-x: #{$spacer},\n  --list-group-item-padding-y: #{$spacer * .5},\n  --list-group-action-color: var(--fg-2),\n  --list-group-action-hover-color: var(--fg-1),\n  --list-group-action-hover-bg: var(--bg-1),\n  --list-group-action-active-color: var(--fg-body),\n  --list-group-action-active-bg: var(--bg-2),\n  --list-group-disabled-color: var(--fg-3),\n  --list-group-disabled-bg: var(--bg-body),\n  --list-group-active-color: var(--primary-contrast),\n  --list-group-active-bg: var(--primary-bg),\n  --list-group-active-border-color: var(--primary-bg),\n) !default;\n// scss-docs-end list-group-tokens\n\n@layer components {\n  .list-group {\n    @each $prop, $value in $list-group-tokens {\n      #{$prop}: #{$value};\n    }\n\n    display: flex;\n    flex-direction: column;\n\n    // No need to set list-style: none; since .list-group-item is block level\n    padding-inline-start: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--list-group-border-radius));\n  }\n\n  .list-group-numbered {\n    list-style-type: none;\n    counter-reset: section;\n\n    > .list-group-item::before {\n      // Increments only this instance of the section counter\n      content: counters(section, \".\") \". \";\n      counter-increment: section;\n    }\n  }\n\n  // Individual list items\n  //\n  // Use on `li`s or `div`s within the `.list-group` parent.\n\n  .list-group-item {\n    position: relative;\n    display: block;\n    padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);\n    color: var(--theme-text, var(--list-group-color));\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    text-decoration: if(sass($link-decoration == none): null);\n    background-color: var(--theme-bg-subtle, var(--list-group-bg));\n    border: var(--list-group-border-width) solid var(--theme-border, var(--list-group-border-color));\n\n    &:first-child {\n      @include border-top-radius(inherit);\n    }\n\n    &:last-child {\n      @include border-bottom-radius(inherit);\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--list-group-disabled-bg);\n    }\n\n    // Include both here for `<a>`s and `<button>`s\n    &.active {\n      z-index: 2; // Place active items above their siblings for proper border styling\n      color: var(--list-group-active-color);\n      background-color: var(--list-group-active-bg);\n      border-color: var(--list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-block-start-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--list-group-border-width));\n        border-block-start-width: var(--list-group-border-width);\n      }\n    }\n  }\n\n  // Interactive list items\n  //\n  // Use anchor or button elements instead of `li`s or `div`s to create interactive\n  // list items. Includes an extra `.active` modifier class for selected items.\n\n  .list-group-item-action {\n    width: 100%; // For `<button>`s (anchors become 100% by default though)\n    color: var(--theme-text, var(--list-group-action-color));\n    text-align: inherit; // For `<button>`s (anchors inherit)\n    text-decoration: none;\n\n    &:not(.active) {\n      // Hover state\n      &:hover,\n      &:focus {\n        z-index: 1; // Place hover/focus items above their siblings for proper border styling\n        color: var(--theme-text-emphasis, var(--list-group-action-hover-color));\n        text-decoration: none;\n        background-color: var(--theme-bg-muted, var(--list-group-action-hover-bg));\n      }\n\n      &:active {\n        color: var(--theme-text-emphasis, var(--list-group-action-active-color));\n        background-color: var(--theme-bg-muted, var(--list-group-action-active-bg));\n      }\n    }\n  }\n\n  // Horizontal\n  //\n  // Change the layout of list group items from vertical (default) to horizontal.\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .list-group-horizontal#{$infix} {\n        flex-direction: row;\n\n        > .list-group-item {\n          &:first-child:not(:last-child) {\n            @include border-bottom-start-radius(var(--list-group-border-radius));\n            @include border-top-end-radius(0);\n          }\n\n          &:last-child:not(:first-child) {\n            @include border-top-end-radius(var(--list-group-border-radius));\n            @include border-bottom-start-radius(0);\n          }\n\n          &.active {\n            margin-top: 0;\n          }\n\n          + .list-group-item {\n            border-block-start-width: var(--list-group-border-width);\n            border-inline-start-width: 0;\n\n            &.active {\n              margin-inline-start: calc(-1 * var(--list-group-border-width));\n              border-inline-start-width: var(--list-group-border-width);\n            }\n          }\n        }\n      }\n    }\n  }\n\n\n  // Flush list items\n  //\n  // Remove borders and border-radius to keep list group items edge-to-edge. Most\n  // useful within other components (e.g., cards).\n\n  .list-group-flush {\n    @include border-radius(0);\n\n    > .list-group-item {\n      border-width: 0 0 var(--list-group-border-width);\n\n      &:last-child {\n        border-block-end-width: 0;\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start nav-variables\n$nav-gap:                           .125rem !default;\n$nav-link-gap:                      .5rem !default;\n$nav-link-align:                    center !default;\n$nav-link-justify:                  center !default;\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-color:                    var(--fg-2) !default;\n$nav-link-hover-color:              var(--fg-1) !default;\n$nav-link-hover-bg:                 var(--bg-1) !default;\n$nav-link-transition:               color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color:           var(--fg-4) !default;\n$nav-link-active-color:             var(--fg-body) !default;\n$nav-link-active-bg:                var(--bg-2) !default;\n\n$nav-tabs-border-color:             var(--border-color) !default;\n$nav-tabs-border-width:             var(--border-width) !default;\n$nav-tabs-border-radius:            var(--border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--border-subtle) !default;\n$nav-tabs-link-active-color:        var(--fg-color) !default;\n$nav-tabs-link-active-bg:           var(--bg-body) !default;\n$nav-tabs-link-active-border-color: var(--border-color) var(--border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-link-active-color:       $component-active-color !default;\n$nav-pills-link-active-bg:          $component-active-bg !default;\n\n$nav-underline-gap:                 1rem !default;\n$nav-underline-border-width:        .125rem !default;\n$nav-underline-link-active-color:   var(--fg-color) !default;\n// scss-docs-end nav-variables\n\n// Base class\n//\n// Kickstart any navigation component with a set of style resets. Works with\n// `<nav>`s, `<ul>`s or `<ol>`s.\n\n@layer components {\n  .nav {\n    // scss-docs-start nav-css-vars\n    --nav-gap: #{$nav-gap};\n    --nav-link-gap: #{$nav-link-gap};\n    --nav-link-align: #{$nav-link-align};\n    --nav-link-justify: #{$nav-link-justify};\n    --nav-link-padding-x: #{$nav-link-padding-x};\n    --nav-link-padding-y: #{$nav-link-padding-y};\n    --nav-link-color: #{$nav-link-color};\n    --nav-link-hover-color: #{$nav-link-hover-color};\n    --nav-link-hover-bg: #{$nav-link-hover-bg};\n    --nav-link-active-color: #{$nav-link-active-color};\n    --nav-link-active-bg: #{$nav-link-active-bg};\n    --nav-link-disabled-color: #{$nav-link-disabled-color};\n    // scss-docs-end nav-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    gap: var(--nav-gap);\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-item {\n    display: flex;\n\n  }\n\n  .nav-link {\n    display: flex;\n    gap: var(--nav-link-gap);\n    align-items: var(--nav-link-align);\n    justify-content: var(--nav-link-justify);\n    padding: var(--nav-link-padding-y) var(--nav-link-padding-x);\n    font-weight: var(--nav-link-font-weight);\n    color: var(--nav-link-color);\n    text-decoration: none;\n    background: none;\n    border: 0;\n    @include border-radius(var(--border-radius));\n    // @include font-size(var(--nav-link-font-size));\n    @include transition($nav-link-transition);\n\n    &:hover,\n    &:focus {\n      color: var(--nav-link-hover-color);\n      background-color: var(--nav-link-hover-bg);\n    }\n\n    &:focus-visible {\n      --focus-ring-offset: 1px;\n      color: var(--nav-link-hover-color);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    &:active {\n      color: var(--nav-link-active-color);\n      background-color: var(--nav-link-active-bg);\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--nav-link-disabled-color);\n      pointer-events: none;\n      cursor: default;\n    }\n  }\n\n  //\n  // Tabs\n  //\n\n  .nav-tabs {\n    // scss-docs-start nav-tabs-css-vars\n    --nav-tabs-border-width: #{$nav-tabs-border-width};\n    --nav-tabs-border-color: #{$nav-tabs-border-color};\n    --nav-tabs-border-radius: #{$nav-tabs-border-radius};\n    --nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n    --nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n    --nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n    --nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n    // scss-docs-end nav-tabs-css-vars\n\n    border-block-end: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);\n\n    .nav-link {\n      margin-bottom: calc(-1 * var(--nav-tabs-border-width));\n      border: var(--nav-tabs-border-width) solid transparent;\n      @include border-bottom-radius(0);\n\n      &:hover {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--nav-tabs-link-hover-border-color);\n        border-bottom-color: var(--nav-tabs-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--nav-tabs-link-active-color);\n      background-color: var(--nav-tabs-link-active-bg);\n      border-color: var(--nav-tabs-link-active-border-color);\n      border-bottom-color: var(--nav-tabs-link-active-bg);\n    }\n\n    .dropdown-menu {\n      // Make dropdown border overlap tab border\n      margin-top: calc(-1 * var(--nav-tabs-border-width));\n      // Remove the top rounded corners here since there is a hard edge above the menu\n      @include border-top-radius(0);\n    }\n  }\n\n\n  //\n  // Pills\n  //\n\n  .nav-pills {\n    // scss-docs-start nav-pills-css-vars\n    --nav-pills-link-active-color: #{$nav-pills-link-active-color};\n    --nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n    // scss-docs-end nav-pills-css-vars\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--nav-pills-link-active-color);\n      @include gradient-bg(var(--nav-pills-link-active-bg));\n    }\n  }\n\n\n  //\n  // Underline\n  //\n\n  .nav-underline {\n    // scss-docs-start nav-underline-css-vars\n    --nav-gap: #{$nav-underline-gap};\n    --nav-link-active-bg: transparent;\n    // --nav-underline-gap: #{$nav-underline-gap};\n    --nav-underline-border-width: #{$nav-underline-border-width};\n    --nav-underline-link-active-color: #{$nav-underline-link-active-color};\n    // scss-docs-end nav-underline-css-vars\n\n    .nav-link {\n      padding-inline: 0;\n      border-block-end: var(--nav-underline-border-width) solid transparent;\n      @include border-radius(0);\n\n      &:hover,\n      &:focus {\n        border-block-end-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--nav-underline-link-active-color);\n      border-block-end-color: currentcolor;\n    }\n  }\n\n\n  //\n  // Justified variants\n  //\n\n  .nav-fill {\n    > .nav-link,\n    .nav-item {\n      flex: 1 1 auto;\n      text-align: center;\n    }\n  }\n\n  .nav-justified {\n    > .nav-link,\n    .nav-item {\n      flex-grow: 1;\n      flex-basis: 0;\n      text-align: center;\n    }\n  }\n\n  .nav-fill,\n  .nav-justified {\n    .nav-item .nav-link {\n      width: 100%; // Make sure button will grow\n    }\n  }\n\n\n  // Tabbable tabs\n  //\n  // Hide tabbable panes to start, show them when `.active`\n\n  .tab-content {\n    > .tab-pane {\n      display: none;\n    }\n    > .active {\n      display: block;\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start navbar-variables\n$navbar-padding-y:                  $spacer * .5 !default;\n$navbar-padding-x:                  null !default;\n\n$navbar-nav-link-padding-x:         .75rem !default;\n\n$navbar-brand-font-size:            $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n// mdo-do: fix this\n// $nav-link-height:                   $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n// $navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-height:               1.5rem !default;\n// $navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-padding-y:            $navbar-brand-height * .5 !default;\n$navbar-brand-margin-end:           1rem !default;\n\n$navbar-toggler-padding-y:          .25rem !default;\n$navbar-toggler-padding-x:          .75rem !default;\n$navbar-toggler-font-size:          $font-size-lg !default;\n$navbar-toggler-border-radius:      var(--border-radius) !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                var(--fg-2) !default;\n$navbar-light-hover-color:          var(--fg-1) !default;\n$navbar-light-active-color:         var(--fg) !default;\n$navbar-light-disabled-color:       var(--fg-3) !default;\n$navbar-light-icon-color:           color-mix(in oklch, var(--body-color) 75%, transparent) !default;\n$navbar-light-toggler-icon-bg:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-light-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent) !default;\n$navbar-light-brand-color:          $navbar-light-active-color !default;\n$navbar-light-brand-hover-color:    $navbar-light-active-color !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-dark-variables\n$navbar-dark-color:                 rgba($white, .55) !default;\n$navbar-dark-hover-color:           rgba($white, .75) !default;\n$navbar-dark-active-color:          $white !default;\n$navbar-dark-disabled-color:        rgba($white, .25) !default;\n$navbar-dark-icon-color:            $navbar-dark-color !default;\n$navbar-dark-toggler-icon-bg:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>\") !default;\n$navbar-dark-toggler-border-color:  rgba($white, .1) !default;\n$navbar-dark-brand-color:           $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color:     $navbar-dark-active-color !default;\n// scss-docs-end navbar-dark-variables\n\n@layer components {\n  .navbar {\n    // scss-docs-start navbar-css-vars\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    --navbar-padding-x: #{if(sass($navbar-padding-x == null): 0; else: $navbar-padding-x)};\n    --navbar-padding-y: #{$navbar-padding-y};\n    --navbar-color: #{$navbar-light-color};\n    --navbar-hover-color: #{$navbar-light-hover-color};\n    --navbar-disabled-color: #{$navbar-light-disabled-color};\n    --navbar-active-color: #{$navbar-light-active-color};\n    --navbar-brand-padding-y: #{$navbar-brand-padding-y};\n    --navbar-brand-margin-end: #{$navbar-brand-margin-end};\n    --navbar-brand-font-size: #{$navbar-brand-font-size};\n    --navbar-brand-color: #{$navbar-light-brand-color};\n    --navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n    --navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n    --navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n    --navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n    --navbar-toggler-font-size: #{$navbar-toggler-font-size};\n    --navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n    --navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n    --navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n    --navbar-toggler-transition: #{$navbar-toggler-transition};\n    // scss-docs-end navbar-css-vars\n\n    position: relative;\n    display: flex;\n    flex-wrap: wrap; // allow us to do the line break for collapsing content\n    align-items: center;\n    justify-content: space-between; // space out brand from logo\n    padding: var(--navbar-padding-y) var(--navbar-padding-x);\n    @include gradient-bg();\n\n    // Because flex properties aren't inherited, we need to redeclare these first\n    // few properties so that content nested within behave properly.\n    // The `flex-wrap` property is inherited to simplify the expanded navbars\n    %container-flex-properties {\n      display: flex;\n      flex-wrap: inherit;\n      align-items: center;\n      justify-content: space-between;\n    }\n\n    > .container,\n    > .container-fluid {\n      @extend %container-flex-properties;\n    }\n\n    @each $breakpoint, $container-max-width in $container-max-widths {\n      > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {\n        @extend %container-flex-properties;\n      }\n    }\n  }\n\n\n  // Navbar brand\n  //\n  // Used for brand, project, or site names.\n\n  .navbar-brand {\n    padding-top: var(--navbar-brand-padding-y);\n    padding-bottom: var(--navbar-brand-padding-y);\n    margin-inline-end: var(--navbar-brand-margin-end);\n    font-size: var(--navbar-brand-font-size);\n    color: var(--navbar-brand-color);\n    text-decoration: none;\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--navbar-brand-hover-color);\n    }\n  }\n\n\n  // Navbar nav\n  //\n  // Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).\n\n  .navbar-nav {\n    // scss-docs-start navbar-nav-css-vars\n    // --nav-link-padding-x: 0;\n    // @mdo-do: fix this, navbar shouldn't need to reuse nav link variables mb? or we need to bring them in…\n    // --nav-link-padding-y: #{$nav-link-padding-y};\n    // @include rfs($nav-link-font-size, --nav-link-font-size);\n    // --nav-link-font-weight: #{$nav-link-font-weight};\n    --nav-link-color: var(--navbar-color);\n    --nav-link-hover-color: var(--navbar-hover-color);\n    --nav-link-disabled-color: var(--navbar-disabled-color);\n    // scss-docs-end navbar-nav-css-vars\n\n    display: flex;\n    flex-direction: column; // cannot use `inherit` to get the `.navbar`s value\n    padding-inline-start: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--navbar-active-color);\n      }\n    }\n\n    // .dropdown-menu {\n    //   position: static;\n    // }\n  }\n\n\n  // Navbar text\n  //\n  //\n\n  .navbar-text {\n    // @mdo-do: fix this too\n    // padding-top: $nav-link-padding-y;\n    // padding-bottom: $nav-link-padding-y;\n    color: var(--navbar-color);\n\n    a,\n    a:hover,\n    a:focus  {\n      color: var(--navbar-active-color);\n    }\n  }\n\n\n  // Responsive navbar\n  //\n  // Custom styles for responsive collapsing and toggling of navbar contents.\n  // Powered by the collapse Bootstrap JavaScript plugin.\n\n  // When collapsed, prevent the toggleable navbar contents from appearing in\n  // the default flexbox row orientation. Requires the use of `flex-wrap: wrap`\n  // on the `.navbar` parent.\n  .navbar-collapse {\n    flex-grow: 1;\n    flex-basis: 100%;\n    // For always expanded or extra full navbars, ensure content aligns itself\n    // properly vertically. Can be easily overridden with flex utilities.\n    align-items: center;\n  }\n\n  // Button for toggling the navbar when in its collapsed state\n  .navbar-toggler {\n    padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);\n    font-size: var(--navbar-toggler-font-size);\n    line-height: 1;\n    color: var(--navbar-color);\n    background-color: transparent; // remove default button style\n    border: var(--border-width) solid var(--navbar-toggler-border-color); // remove default button style\n    @include border-radius(var(--navbar-toggler-border-radius));\n    @include transition(var(--navbar-toggler-transition));\n\n    &:hover {\n      text-decoration: none;\n    }\n\n    &:focus-visible {\n      text-decoration: none;\n      @include focus-ring(true);\n    }\n  }\n\n  // Keep as a separate element so folks can easily override it with another icon\n  // or image file as needed.\n  .navbar-toggler-icon {\n    display: inline-block;\n    width: 1.5em;\n    height: 1.5em;\n    vertical-align: middle;\n    background-image: var(--navbar-toggler-icon-bg);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: 100%;\n  }\n\n  .navbar-nav-scroll {\n    max-height: var(--scroll-height, 75vh);\n    overflow-y: auto;\n  }\n\n  // scss-docs-start navbar-expand-loop\n  // Generate series of `.navbar-expand-*` responsive classes for configuring\n  // where your navbar collapses.\n  .navbar-expand {\n    @each $breakpoint in map.keys($grid-breakpoints) {\n      $next: breakpoint-next($breakpoint, $grid-breakpoints);\n      $infix: breakpoint-infix($next, $grid-breakpoints);\n\n      // stylelint-disable-next-line scss/selector-no-union-class-name\n      &#{$infix} {\n        @include media-breakpoint-up($next) {\n          flex-wrap: nowrap;\n          justify-content: flex-start;\n\n          .navbar-nav {\n            --nav-link-padding-x: var(--navbar-nav-link-padding-x);\n            flex-direction: row;\n\n            // .dropdown-menu {\n            //   position: absolute;\n            // }\n\n            // .nav-link {\n            //   padding-inline: var(--navbar-nav-link-padding-x);\n            // }\n          }\n\n          .navbar-nav-scroll {\n            overflow: visible;\n          }\n\n          .navbar-collapse {\n            display: flex !important; // stylelint-disable-line declaration-no-important\n            flex-basis: auto;\n          }\n\n          .navbar-toggler {\n            display: none !important; // stylelint-disable-line declaration-no-important\n          }\n\n          .offcanvas {\n            // stylelint-disable declaration-no-important\n            position: static;\n            z-index: auto;\n            flex-grow: 1;\n            width: auto !important;\n            height: auto !important;\n            visibility: visible !important;\n            background-color: transparent !important;\n            border: 0 !important;\n            transform: none !important;\n            @include box-shadow(none);\n            @include transition(none);\n            // stylelint-enable declaration-no-important\n\n            .offcanvas-header {\n              display: none;\n            }\n\n            .offcanvas-body {\n              display: flex;\n              flex-grow: 0;\n              padding: 0;\n              overflow-y: visible;\n            }\n          }\n        }\n      }\n    }\n  }\n  // scss-docs-end navbar-expand-loop\n\n  // Navbar themes\n  //\n  // Styles for switching between navbars with light or dark background.\n\n  .navbar-dark,\n  .navbar[data-bs-theme=\"dark\"] {\n    // scss-docs-start navbar-dark-css-vars\n    --navbar-color: #{$navbar-dark-color};\n    --navbar-hover-color: #{$navbar-dark-hover-color};\n    --navbar-disabled-color: #{$navbar-dark-disabled-color};\n    --navbar-active-color: #{$navbar-dark-active-color};\n    --navbar-brand-color: #{$navbar-dark-brand-color};\n    --navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n    --navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n    --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n    // scss-docs-end navbar-dark-css-vars\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark) {\n      .navbar-toggler-icon {\n        --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"layout/breakpoints\" as *;\n\n%offcanvas-css-vars {\n  // scss-docs-start offcanvas-css-vars\n  --offcanvas-zindex: #{$zindex-offcanvas};\n  --offcanvas-width: #{$offcanvas-horizontal-width};\n  --offcanvas-height: #{$offcanvas-vertical-height};\n  --offcanvas-padding-x: #{$offcanvas-padding-x};\n  --offcanvas-padding-y: #{$offcanvas-padding-y};\n  --offcanvas-color: #{$offcanvas-color};\n  --offcanvas-bg: #{$offcanvas-bg-color};\n  --offcanvas-border-width: #{$offcanvas-border-width};\n  --offcanvas-border-color: #{$offcanvas-border-color};\n  --offcanvas-box-shadow: #{$offcanvas-box-shadow};\n  --offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};\n  --offcanvas-title-line-height: #{$offcanvas-title-line-height};\n  // scss-docs-end offcanvas-css-vars\n}\n\n@layer components {\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @extend %offcanvas-css-vars;\n    }\n  }\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $next: breakpoint-next($breakpoint, $grid-breakpoints);\n    $infix: breakpoint-infix($next, $grid-breakpoints);\n\n    .offcanvas#{$infix} {\n      @include media-breakpoint-down($next) {\n        position: fixed;\n        bottom: 0;\n        z-index: var(--offcanvas-zindex);\n        display: flex;\n        flex-direction: column;\n        max-width: 100%;\n        color: var(--offcanvas-color);\n        visibility: hidden;\n        background-color: var(--offcanvas-bg);\n        background-clip: padding-box;\n        outline: 0;\n        @include box-shadow(var(--offcanvas-box-shadow));\n        @include transition(var(--offcanvas-transition));\n\n        &.offcanvas-start {\n          inset-block: 0;\n          inset-inline-start: 0;\n          width: var(--offcanvas-width);\n          border-inline-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateX(-100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(100%);\n          }\n        }\n\n        &.offcanvas-end {\n          inset-block: 0;\n          inset-inline-end: 0;\n          width: var(--offcanvas-width);\n          border-inline-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateX(100%);\n\n          :root:dir(rtl) & {\n            transform: translateX(-100%);\n          }\n        }\n\n        &.offcanvas-top {\n          inset: 0 0 auto;\n          height: var(--offcanvas-height);\n          max-height: 100%;\n          border-block-end: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateY(-100%);\n        }\n\n        &.offcanvas-bottom {\n          inset: auto 0 0;\n          height: var(--offcanvas-height);\n          max-height: 100%;\n          border-block-start: var(--offcanvas-border-width) solid var(--offcanvas-border-color);\n          transform: translateY(100%);\n        }\n\n        &.showing,\n        &.show:not(.hiding) {\n          transform: none;\n        }\n\n        &.showing,\n        &.hiding,\n        &.show {\n          visibility: visible;\n        }\n      }\n\n      @if not ($infix == \"\") {\n        @include media-breakpoint-up($next) {\n          --offcanvas-height: auto;\n          --offcanvas-border-width: 0;\n          background-color: transparent !important; // stylelint-disable-line declaration-no-important\n\n          .offcanvas-header {\n            display: none;\n          }\n\n          .offcanvas-body {\n            display: flex;\n            flex-grow: 0;\n            padding: 0;\n            overflow-y: visible;\n            // Reset `background-color` in case `.bg-*` classes are used in offcanvas\n            background-color: transparent !important; // stylelint-disable-line declaration-no-important\n          }\n        }\n      }\n    }\n  }\n\n  .offcanvas-backdrop {\n    @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);\n  }\n\n  .offcanvas-header {\n    display: flex;\n    align-items: center;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n\n    .btn-close {\n      padding: calc(var(--offcanvas-padding-y) * .5) calc(var(--offcanvas-padding-x) * .5);\n      // Split properties to avoid invalid calc() function if value is 0\n      margin-inline-start: auto;\n      margin-inline-end: calc(-.5 * var(--offcanvas-padding-x));\n      margin-top: calc(-.5 * var(--offcanvas-padding-y));\n      margin-bottom: calc(-.5 * var(--offcanvas-padding-y));\n    }\n  }\n\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--offcanvas-title-line-height);\n  }\n\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n  position: fixed;\n  inset: 0;\n  z-index: $zindex;\n  background-color: $backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $backdrop-opacity; }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/focus-ring\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// mdo-do: Update pagination to support variant themes\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start pagination-tokens\n$pagination-tokens: (\n  --pagination-padding-x: .75rem,\n  --pagination-padding-y: .375rem,\n  --pagination-font-size: var(--font-size-base),\n  --pagination-color: var(--link-color),\n  --pagination-bg: var(--bg-body),\n  --pagination-border-width: var(--border-width),\n  --pagination-border-color: var(--border-color),\n  --pagination-border-radius: var(--border-radius),\n  --pagination-hover-color: var(--link-hover-color),\n  --pagination-hover-bg: var(--bg-1),\n  --pagination-hover-border-color: var(--border-color),\n  --pagination-focus-color: var(--link-hover-color),\n  --pagination-focus-bg: var(--bg-2),\n  --pagination-active-color: var(--primary-contrast),\n  --pagination-active-bg: var(--primary-bg),\n  --pagination-active-border-color: var(--primary-bg),\n  --pagination-disabled-color: var(--fg-3),\n  --pagination-disabled-bg: var(--bg-2),\n  --pagination-disabled-border-color: var(--border-color),\n) !default;\n// scss-docs-end pagination-tokens\n// stylelint-enable custom-property-no-missing-var-function\n\n// scss-docs-start pagination-mixin\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n  --pagination-padding-x: #{$padding-x};\n  --pagination-padding-y: #{$padding-y};\n  --pagination-font-size: #{$font-size};\n  --pagination-border-radius: #{$border-radius};\n}\n// scss-docs-end pagination-mixin\n\n@layer components {\n  .pagination {\n    @each $prop, $value in $pagination-tokens {\n      #{$prop}: #{$value};\n    }\n\n    display: flex;\n    @include list-unstyled();\n  }\n\n  .page-link {\n    position: relative;\n    display: block;\n    padding: var(--pagination-padding-y) var(--pagination-padding-x);\n    font-size: var(--pagination-font-size);\n    color: var(--pagination-color);\n    text-decoration: none;\n    background-color: var(--pagination-bg);\n    border: var(--pagination-border-width) solid var(--pagination-border-color);\n    @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);\n\n    &:hover {\n      z-index: 2;\n      color: var(--pagination-hover-color);\n      background-color: var(--pagination-hover-bg);\n      border-color: var(--pagination-hover-border-color);\n    }\n\n    &:focus-visible {\n      z-index: 3;\n      color: var(--pagination-focus-color);\n      background-color: var(--pagination-focus-bg);\n      @include focus-ring(true);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--pagination-active-color);\n      @include gradient-bg(var(--pagination-active-bg));\n      border-color: var(--pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--pagination-disabled-bg);\n      border-color: var(--pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-inline-start: calc(-1 * var(--pagination-border-width));\n    }\n\n    &:first-child {\n      .page-link {\n        @include border-start-radius(var(--pagination-border-radius));\n      }\n    }\n\n    &:last-child {\n      .page-link {\n        @include border-end-radius(var(--pagination-border-radius));\n      }\n    }\n  }\n\n\n  //\n  // Sizing\n  //\n\n  .pagination-lg {\n    @include pagination-size(.75rem, 1.5rem, $font-size-lg, var(--border-radius-lg));\n  }\n\n  .pagination-sm {\n    @include pagination-size(.25rem, .5rem, $font-size-sm, var(--border-radius-sm));\n  }\n}\n","@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n\n// scss-docs-start placeholder-tokens\n$placeholder-tokens: (\n  --placeholder-opacity-max: .5,\n  --placeholder-opacity-min: .2,\n) !default;\n// scss-docs-end placeholder-tokens\n\n@layer components {\n  .placeholder {\n    @each $prop, $value in $placeholder-tokens {\n      #{$prop}: #{$value};\n    }\n\n    display: inline-block;\n    min-height: 1em;\n    vertical-align: middle;\n    cursor: wait;\n    background-color: currentcolor;\n    opacity: var(--placeholder-opacity-max);\n\n    &.btn::before {\n      display: inline-block;\n      content: \"\";\n    }\n  }\n\n  // Sizing\n  .placeholder-xs {\n    min-height: .6em;\n  }\n\n  .placeholder-sm {\n    min-height: .8em;\n  }\n\n  .placeholder-lg {\n    min-height: 1.2em;\n  }\n\n  // Animation\n  .placeholder-glow {\n    .placeholder {\n      animation: placeholder-glow 2s ease-in-out infinite;\n    }\n  }\n\n  @keyframes placeholder-glow {\n    50% {\n      opacity: var(--placeholder-opacity-min);\n    }\n  }\n\n  .placeholder-wave {\n    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);\n    mask-size: 200% 100%;\n    animation: placeholder-wave 2s linear infinite;\n  }\n\n  @keyframes placeholder-wave {\n    100% {\n      mask-position: -200% 0%;\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start popover-tokens\n$popover-tokens: (\n  --popover-zindex: #{$zindex-popover},\n  --popover-max-width: 280px,\n  --popover-font-size: var(--font-size-sm),\n  --popover-bg: var(--bg-body),\n  --popover-border-width: var(--border-width),\n  --popover-border-color: var(--border-color-translucent),\n  --popover-border-radius: var(--border-radius-lg),\n  --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),\n  --popover-box-shadow: var(--box-shadow),\n  --popover-header-padding-x: #{$spacer},\n  --popover-header-padding-y: #{$spacer * .75},\n  --popover-header-font-size: #{$font-size-base},\n  --popover-header-color: #{$headings-color},\n  --popover-header-bg: var(--bg-1),\n  --popover-body-padding-x: #{$spacer},\n  --popover-body-padding-y: #{$spacer * .75},\n  --popover-body-color: var(--fg-body),\n  --popover-arrow-width: 1rem,\n  --popover-arrow-height: .5rem,\n  --popover-arrow-border: var(--popover-border-color),\n) !default;\n// scss-docs-end popover-tokens\n\n@layer components {\n  .popover {\n    // scss-docs-start popover-css-vars\n    @each $prop, $value in $popover-tokens {\n      #{$prop}: #{$value};\n    }\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--popover-zindex);\n    display: block;\n    max-width: var(--popover-max-width);\n    // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n    // So reset our font and text properties to avoid inheriting weird values.\n    @include reset-text();\n    font-size: var(--popover-font-size);\n    // Allow breaking very long words so they don't overflow the popover's bounds\n    word-wrap: break-word;\n    background-color: var(--popover-bg);\n    background-clip: padding-box;\n    border: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-radius(var(--popover-border-radius));\n    @include box-shadow(var(--popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--popover-arrow-width);\n      height: var(--popover-arrow-height);\n\n      &::before,\n      &::after {\n        position: absolute;\n        display: block;\n        content: \"\";\n        border-color: transparent;\n        border-style: solid;\n        border-width: 0;\n      }\n    }\n  }\n\n  .bs-popover-top {\n    > .popover-arrow {\n      bottom: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-block-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--popover-border-width);\n        border-block-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height) calc(var(--popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-inline-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--popover-border-width);\n        border-inline-end-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-block-end-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--popover-border-width);\n        border-block-end-color: var(--popover-bg);\n      }\n    }\n\n    // This will remove the popover-header's border just below the arrow\n    .popover-header::before {\n      position: absolute;\n      top: 0;\n      left: 50%;\n      display: block;\n      width: var(--popover-arrow-width);\n      margin-inline-start: calc(-.5 * var(--popover-arrow-width));\n      content: \"\";\n      border-block-end: var(--popover-border-width) solid var(--popover-header-bg);\n    }\n  }\n\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--popover-arrow-height)) - var(--popover-border-width));\n      width: var(--popover-arrow-height);\n      height: var(--popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--popover-arrow-width) * .5) 0 calc(var(--popover-arrow-width) * .5) var(--popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-inline-start-color: var(--popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--popover-border-width);\n        border-inline-start-color: var(--popover-bg);\n      }\n    }\n  }\n\n  .bs-popover-auto {\n    &[data-bs-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-bs-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-bs-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-bs-placement^=\"left\"] {\n      @extend .bs-popover-start;\n    }\n  }\n\n  // Offset the popover to account for the popover arrow\n  .popover-header {\n    padding: var(--popover-header-padding-y) var(--popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    font-size: var(--popover-header-font-size);\n    color: var(--popover-header-color);\n    background-color: var(--popover-header-bg);\n    border-block-end: var(--popover-border-width) solid var(--popover-border-color);\n    @include border-top-radius(var(--popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--popover-body-padding-y) var(--popover-body-padding-x);\n    color: var(--popover-body-color);\n  }\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n\n// scss-docs-start progress-tokens\n$progress-tokens: (\n  --progress-height: 1rem,\n  --progress-font-size: var(--font-size-sm),\n  --progress-bg: var(--bg-2),\n  --progress-border-radius: var(--border-radius),\n  --progress-box-shadow: var(--box-shadow-inset),\n  --progress-bar-color: var(--white),\n  --progress-bar-bg: var(--primary-bg),\n  --progress-bar-transition: width .6s ease,\n  --progress-bar-animation: progress-bar-stripes 1s linear infinite,\n) !default;\n// scss-docs-end progress-tokens\n\n\n// Disable animation if transitions are disabled\n\n@layer components {\n  // scss-docs-start progress-keyframes\n  @if $enable-transitions {\n    @keyframes progress-bar-stripes {\n      0% { background-position-x: var(--progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    @each $prop, $value in $progress-tokens {\n      #{$prop}: #{$value};\n    }\n\n    display: flex;\n    height: var(--progress-height);\n    overflow: hidden;\n    font-size: var(--progress-font-size);\n    background-color: var(--progress-bg);\n    @include border-radius(var(--progress-border-radius));\n    @include box-shadow(var(--progress-box-shadow));\n  }\n\n  .progress-bar {\n    display: flex;\n    flex-direction: column;\n    justify-content: center;\n    overflow: hidden;\n    color: var(--theme-contrast, var(--progress-bar-color));\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--theme-bg, var(--progress-bar-bg));\n    @include transition(var(--progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--progress-height) var(--progress-height);\n  }\n\n  .progress-stacked > .progress {\n    overflow: visible;\n  }\n\n  .progress-stacked > .progress > .progress-bar {\n    width: 100%;\n  }\n\n  @if $enable-transitions {\n    .progress-bar-animated {\n      animation: var(--progress-bar-animation);\n\n      @if $enable-reduced-motion {\n        @media (prefers-reduced-motion: reduce) {\n          animation: none;\n        }\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n\n// stylelint-disable custom-property-no-missing-var-function\n// scss-docs-start spinner-border-tokens\n$spinner-border-tokens: (\n  --spinner-width: 2rem,\n  --spinner-height: 2rem,\n  --spinner-vertical-align: -.125em,\n  --spinner-border-width: .25em,\n  --spinner-animation-speed: .75s,\n  --spinner-animation-name: spinner-border,\n) !default;\n// scss-docs-end spinner-border-tokens\n\n// scss-docs-start spinner-grow-tokens\n$spinner-grow-tokens: (\n  --spinner-width: 2rem,\n  --spinner-height: 2rem,\n  --spinner-vertical-align: -.125em,\n  --spinner-animation-speed: .75s,\n  --spinner-animation-name: spinner-grow,\n) !default;\n// scss-docs-end spinner-grow-tokens\n\n// stylelint-enable custom-property-no-missing-var-function\n\n//\n// Rotating border\n//\n\n@layer components {\n  // mdo-do: Refactor this to assume flex parent and remove `vertical-align`\n  .spinner-grow,\n  .spinner-border {\n    display: inline-block;\n    flex-shrink: 0;\n    width: var(--spinner-width);\n    height: var(--spinner-height);\n    vertical-align: var(--spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--spinner-animation-speed) linear infinite var(--spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg); }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    @each $prop, $value in $spinner-border-tokens {\n      #{$prop}: #{$value};\n    }\n\n    border: var(--spinner-border-width) solid currentcolor;\n    border-inline-end-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    --spinner-border-width: .2em;\n    // scss-docs-end spinner-border-sm-css-vars\n  }\n\n  //\n  // Growing circle\n  //\n\n  // scss-docs-start spinner-grow-keyframes\n  @keyframes spinner-grow {\n    0% {\n      transform: scale(0);\n    }\n    50% {\n      opacity: 1;\n      transform: none;\n    }\n  }\n  // scss-docs-end spinner-grow-keyframes\n\n  .spinner-grow {\n    @each $prop, $value in $spinner-grow-tokens {\n      #{$prop}: #{$value};\n    }\n\n    background-color: currentcolor;\n    opacity: 0;\n  }\n\n  .spinner-grow-sm {\n    // scss-docs-start spinner-grow-sm-css-vars\n    --spinner-width: 1rem;\n    --spinner-height: 1rem;\n    // scss-docs-end spinner-grow-sm-css-vars\n  }\n\n  @if $enable-reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n      .spinner-border,\n      .spinner-grow {\n        --spinner-animation-speed: 1.5s;\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"layout/breakpoints\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n\n// scss-docs-start stepper-tokens\n$stepper-tokens: (\n  --stepper-size: 2rem,\n  --stepper-gap: 1rem,\n  --stepper-bg: var(--bg-2),\n  --stepper-track-size: .25rem,\n  --stepper-active-color: var(--primary-contrast),\n  --stepper-active-bg: var(--primary-bg),\n) !default;\n// scss-docs-end stepper-tokens\n\n// scss-docs-start stepper-horizontal-mixin\n@mixin stepper-horizontal() {\n  display: inline-grid;\n  grid-auto-columns: 1fr;\n  grid-auto-flow: column;\n\n  .stepper-item {\n    grid-template-rows: repeat(2, var(--stepper-size));\n    grid-template-columns: auto;\n    justify-items: center;\n\n    &::after {\n      top: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n      right: 0;\n      bottom: auto;\n      left: calc(-50% - var(--stepper-gap));\n      width: auto;\n      height: var(--stepper-track-size);\n    }\n\n    &:last-child::after {\n      right: 50%;\n    }\n  }\n}\n// scss-docs-end stepper-horizontal-mixin\n\n// scss-docs-start stepper-css\n.stepper {\n  // scss-docs-start stepper-css-vars\n  @each $prop, $value in $stepper-tokens {\n    #{$prop}: #{$value};\n  }\n  // scss-docs-end stepper-css-vars\n\n  display: grid;\n  grid-auto-rows: 1fr;\n  grid-auto-flow: row;\n  gap: var(--stepper-gap);\n  padding-left: 0;\n  list-style: none;\n  counter-reset: stepper;\n}\n\n.stepper-item {\n  position: relative;\n  display: grid;\n  grid-template-rows: auto;\n  grid-template-columns: var(--stepper-size) auto;\n  gap: .5rem;\n  place-items: center;\n  justify-items: start;\n  text-align: center;\n  text-decoration: none;\n\n\n  // The counter\n  &::before {\n    position: relative;\n    z-index: 1;\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    justify-content: center;\n    width: var(--stepper-size);\n    height: var(--stepper-size);\n    padding: .5rem;\n    font-weight: 600;\n    line-height: 1;\n    text-align: center;\n    content: counter(stepper);\n    counter-increment: stepper;\n    background-color: var(--stepper-bg);\n    @include border-radius(50%);\n  }\n\n  // Connecting lines\n  &::after {\n    position: absolute;\n    top: calc(var(--stepper-gap) * -1);\n    bottom: 100%;\n    left: calc((var(--stepper-size) * .5) - (var(--stepper-track-size) * .5));\n    width: var(--stepper-track-size);\n    content: \"\";\n    background-color: var(--stepper-bg);\n  }\n\n  // Avoid sibling selector for easier CSS overrides\n  &:first-child::after {\n    display: none;\n  }\n\n  &.active {\n    &::before,\n    &::after {\n      color: var(--theme-contrast, var(--stepper-active-color));\n      background-color: var(--theme-bg, var(--stepper-active-bg));\n    }\n  }\n}\n\n@each $breakpoint in map.keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .stepper-horizontal#{$infix} {\n      @include stepper-horizontal();\n    }\n  }\n}\n\n// scss-docs-start stepper-overflow\n.stepper-overflow {\n  container-type: inline-size;\n  overflow-x: auto;\n  overscroll-behavior-x: contain;\n  -webkit-overflow-scrolling: touch;\n\n  > .stepper {\n    width: max-content;\n    min-width: 100%;\n  }\n}\n// scss-docs-end stepper-overflow\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start toast-tokens\n// stylelint-disable custom-property-no-missing-var-function\n$toast-tokens: (\n  --toast-zindex: #{$zindex-toast},\n  --toast-padding-x: .75rem,\n  --toast-padding-y: .5rem,\n  --toast-spacing: #{$container-padding-x},\n  --toast-max-width: 350px,\n  --toast-font-size: .875rem,\n  --toast-color: null,\n  --toast-bg: rgba(var(--body-bg-rgb), .85),\n  --toast-border-width: var(--border-width),\n  --toast-border-color: var(--border-color-translucent),\n  --toast-border-radius: var(--border-radius),\n  --toast-box-shadow: var(--box-shadow),\n  --toast-header-color: var(--secondary-color),\n  --toast-header-bg: rgba(var(--body-bg-rgb), .85),\n  --toast-header-border-color: var(--border-color-translucent),\n) !default;\n// stylelint-enable custom-property-no-missing-var-function\n// scss-docs-end toast-tokens\n\n@layer components {\n  .toast {\n    @each $prop, $value in $toast-tokens {\n      #{$prop}: #{$value};\n    }\n\n    width: var(--toast-max-width);\n    max-width: 100%;\n    font-size: var(--toast-font-size);\n    color: var(--toast-color);\n    pointer-events: auto;\n    background-color: var(--toast-bg);\n    background-clip: padding-box;\n    border: var(--toast-border-width) solid var(--toast-border-color);\n    box-shadow: var(--toast-box-shadow);\n    @include border-radius(var(--toast-border-radius));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--toast-padding-y) var(--toast-padding-x);\n    color: var(--toast-header-color);\n    background-color: var(--toast-header-bg);\n    background-clip: padding-box;\n    border-block-end: var(--toast-border-width) solid var(--toast-header-border-color);\n    @include border-top-radius(calc(var(--toast-border-radius) - var(--toast-border-width)));\n\n    .btn-close {\n      margin-inline-start: var(--toast-padding-x);\n      margin-inline-end: calc(-.5 * var(--toast-padding-x));\n    }\n  }\n\n  .toast-body {\n    padding: var(--toast-padding-x);\n    word-wrap: break-word;\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/transition\" as *;\n\n.fade {\n  @include transition($transition-fade);\n\n  &:not(.show) {\n    opacity: 0;\n  }\n}\n\n// scss-docs-start collapse-classes\n.collapse {\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.collapsing {\n  height: 0;\n  overflow: hidden;\n  @include transition($transition-collapse);\n\n  &.collapse-horizontal {\n    width: 0;\n    height: auto;\n    @include transition($transition-collapse-width);\n  }\n}\n// scss-docs-end collapse-classes\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--focus-ring);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../mixins/transition\" as *;\n\n@layer helpers {\n  .icon-link {\n    display: inline-flex;\n    gap: $icon-link-gap;\n    align-items: center;\n    text-decoration-color: rgba(var(--link-color-rgb), var(--link-opacity, .5));\n    text-underline-offset: $icon-link-underline-offset;\n    backface-visibility: hidden;\n\n    > .bi {\n      flex-shrink: 0;\n      width: $icon-link-icon-size;\n      height: $icon-link-icon-size;\n      fill: currentcolor;\n      @include transition($icon-link-icon-transition);\n    }\n  }\n\n  .icon-link-hover {\n    &:hover,\n    &:focus-visible {\n      > .bi {\n        transform: var(--icon-link-transform, $icon-link-icon-transform);\n      }\n    }\n  }\n}\n","@use \"sass:map\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n\n@layer helpers {\n  .fixed-top {\n    position: fixed;\n    inset: 0 0 auto;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    inset: auto 0 0;\n    z-index: $zindex-fixed;\n  }\n\n  // Responsive sticky top and bottom\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .sticky#{$infix}-top {\n        position: sticky;\n        top: 0;\n        z-index: $zindex-sticky;\n      }\n\n      .sticky#{$infix}-bottom {\n        position: sticky;\n        bottom: 0;\n        z-index: $zindex-sticky;\n      }\n    }\n  }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n@layer helpers {\n  // scss-docs-start stacks\n  .hstack,\n  b-hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n  .hstack-start,\n  b-hstack[align=\"start\"] {\n    display: flex;\n    flex-direction: row;\n    align-items: flex-start;\n    align-self: stretch;\n  }\n\n  .vstack,\n  b-vstack {\n    display: flex;\n    flex: 1 1 auto;\n    flex-direction: column;\n    align-self: stretch;\n  }\n  // scss-docs-end stacks\n}\n","@use \"../theme\" as *;\n\n// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)\n@layer helpers {\n  @include generate-theme-classes();\n}\n","@use \"sass:meta\";\n@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n\n@function theme-color-values($key) {\n  $result: ();\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @if map.has-key($color-map, $key) {\n      $result: map.merge($result, ($color-name: map.get($color-map, $key)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate opacity values using color-mix()\n@function theme-opacity-values($color-var, $opacities: $util-opacity) {\n  $result: ();\n\n  @each $key, $value in $opacities {\n    @if $key == 100 {\n      // For 100%, use direct variable reference (more efficient)\n      $result: map.merge($result, ($key: var($color-var)));\n    } @else {\n      // For other values, use color-mix()\n      $percentage: $key * 1%;\n      $result: map.merge($result, ($key: color-mix(in oklch, var($color-var) $percentage, transparent)));\n    }\n  }\n\n  @return $result;\n}\n\n// Generate theme classes dynamically based on the keys in each theme color map\n@mixin generate-theme-classes() {\n  @each $color-name, $color-map in $new-theme-colors {\n    .theme-#{$color-name} {\n      @each $key, $value in $color-map {\n        --theme-#{$key}: var(--#{$color-name}-#{$key});\n      }\n    }\n  }\n}\n\n// Recursive mixin to handle nested maps\n@mixin create-css-vars($map, $parent-key: \"\") {\n  @each $key, $value in $map {\n    // stylelint-disable-next-line scss/at-function-named-arguments\n    $current-key: if(sass($parent-key == \"\"): $key; else: \"#{$parent-key}-#{$key}\");\n\n    @if meta.type-of($value) == \"map\" {\n      @include create-css-vars($value, $current-key);\n    } @else {\n      --#{$current-key}: #{$value};\n    }\n  }\n}\n\n// scss-docs-start theme-colors\n$new-theme-colors: (\n  \"primary\": (\n    \"base\": var(--blue-500),\n    \"text\": light-dark(var(--blue-600), var(--blue-400)),\n    \"text-emphasis\": light-dark(var(--blue-800), var(--blue-200)),\n    \"bg\": var(--blue-500),\n    \"bg-subtle\": light-dark(var(--blue-100), var(--blue-900)),\n    \"bg-muted\": light-dark(var(--blue-200), var(--blue-800)),\n    \"border\": light-dark(var(--blue-300), var(--blue-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"accent\": (\n    \"base\": var(--indigo-500),\n    \"text\": light-dark(var(--indigo-600), color-mix(in oklch, var(--indigo-400), var(--indigo-300))),\n    \"text-emphasis\": light-dark(var(--indigo-800), var(--indigo-300)),\n    \"bg\": var(--indigo-500),\n    \"bg-subtle\": light-dark(var(--indigo-100), var(--indigo-900)),\n    \"bg-muted\": light-dark(var(--indigo-200), var(--indigo-800)),\n    \"border\": light-dark(var(--indigo-300), var(--indigo-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"success\": (\n    \"base\": var(--green-500),\n    \"text\": light-dark(var(--green-600), var(--green-400)),\n    \"text-emphasis\": light-dark(var(--green-800), var(--green-300)),\n    \"bg\": var(--green-500),\n    \"bg-subtle\": light-dark(var(--green-100), var(--green-900)),\n    \"bg-muted\": light-dark(var(--green-200), var(--green-800)),\n    \"border\": light-dark(var(--green-300), var(--green-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"danger\": (\n    \"base\": var(--red-500),\n    \"text\": light-dark(var(--red-600), var(--red-400)),\n    \"text-emphasis\": light-dark(var(--red-800), var(--red-300)),\n    \"bg\": var(--red-500),\n    \"bg-subtle\": light-dark(var(--red-100), var(--red-900)),\n    \"bg-muted\": light-dark(var(--red-200), var(--red-800)),\n    \"border\": light-dark(var(--red-300), var(--red-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--white)\n  ),\n  \"warning\": (\n    \"base\": var(--yellow-500),\n    \"text\": light-dark(var(--yellow-700), var(--yellow-400)),\n    \"text-emphasis\": light-dark(var(--yellow-800), var(--yellow-300)),\n    \"bg\": var(--yellow-500),\n    \"bg-subtle\": light-dark(var(--yellow-100), var(--yellow-900)),\n    \"bg-muted\": light-dark(var(--yellow-200), var(--yellow-800)),\n    \"border\": light-dark(var(--yellow-300), var(--yellow-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"info\": (\n    \"base\": var(--cyan-500),\n    \"text\": light-dark(var(--cyan-600), var(--cyan-400)),\n    \"text-emphasis\": light-dark(var(--cyan-800), var(--cyan-300)),\n    \"bg\": var(--cyan-500),\n    \"bg-subtle\": light-dark(var(--cyan-100), var(--cyan-900)),\n    \"bg-muted\": light-dark(var(--cyan-200), var(--cyan-800)),\n    \"border\": light-dark(var(--cyan-300), var(--cyan-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),\n    \"contrast\": var(--gray-900)\n  ),\n  \"inverse\": (\n    \"base\": var(--gray-900),\n    \"text\": light-dark(var(--gray-900), var(--gray-200)),\n    \"text-emphasis\": light-dark(var(--gray-975), var(--white)),\n    \"bg\": light-dark(var(--gray-900), var(--gray-025)),\n    \"bg-subtle\": light-dark(var(--gray-100), var(--gray-900)),\n    \"bg-muted\": light-dark(var(--gray-200), var(--gray-300)),\n    \"border\": light-dark(var(--gray-400), var(--gray-100)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-900), var(--gray-100)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--white), var(--gray-900))\n  ),\n  \"secondary\": (\n    \"base\": var(--gray-200),\n    \"text\": light-dark(var(--gray-600), var(--gray-400)),\n    \"text-emphasis\": light-dark(var(--gray-800), var(--gray-200)),\n    \"bg\": light-dark(var(--gray-100), var(--gray-600)),\n    \"bg-subtle\": light-dark(var(--gray-050), var(--gray-800)),\n    \"bg-muted\": light-dark(var(--gray-100), var(--gray-700)),\n    \"border\": light-dark(var(--gray-300), var(--gray-600)),\n    \"focus-ring\": color-mix(in oklch, light-dark(var(--gray-500), var(--gray-300)) 50%, var(--bg-body)),\n    \"contrast\": light-dark(var(--gray-900), var(--white))\n  )\n) !default;\n// scss-docs-end theme-colors\n\n// mdo-do: consider using muted, subtle, ghost or something instead of linear scale?\n$theme-bgs: (\n  \"body\": light-dark(var(--white), var(--gray-975)),\n  \"1\": light-dark(var(--gray-025), var(--gray-950)),\n  \"2\": light-dark(var(--gray-050), var(--gray-900)),\n  \"3\": light-dark(var(--gray-100), var(--gray-800)),\n  \"4\": light-dark(var(--gray-200), var(--gray-700)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"transparent\": transparent,\n  \"inherit\": inherit,\n) !default;\n\n$theme-fgs: (\n  \"body\": light-dark(var(--gray-900), var(--gray-050)),\n  \"1\": light-dark(var(--gray-800), var(--gray-200)),\n  \"2\": light-dark(var(--gray-700), var(--gray-300)),\n  \"3\": light-dark(var(--gray-600), var(--gray-500)),\n  \"4\": light-dark(var(--gray-500), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n  \"inherit\": inherit,\n) !default;\n\n$theme-borders: (\n  \"bg\": var(--bg-body),\n  \"body\": light-dark(var(--gray-300), var(--gray-800)),\n  \"muted\": light-dark(var(--gray-200), var(--gray-800)),\n  \"subtle\": light-dark(var(--gray-100), var(--gray-900)),\n  \"emphasized\": light-dark(var(--gray-400), var(--gray-600)),\n  \"white\": var(--white),\n  \"black\": var(--black),\n) !default;\n\n$util-opacity: (\n  10: .1,\n  20: .2,\n  30: .3,\n  40: .4,\n  50: .5,\n  60: .6,\n  70: .7,\n  80: .8,\n  90: .9,\n  100: 1\n) !default;\n","@use \"../mixins/visually-hidden\" as *;\n\n@layer helpers {\n  .visually-hidden,\n  .visually-hidden-focusable:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","// stylelint-disable declaration-no-important\n\n// Hide content visually while keeping it accessible to assistive technologies\n//\n// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/\n// See: https://kittygiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin visually-hidden() {\n  width: 1px !important;\n  height: 1px !important;\n  padding: 0 !important;\n  margin: -1px !important; // Fix for https://github.com/twbs/bootstrap/issues/25686\n  overflow: hidden !important;\n  clip: rect(0, 0, 0, 0) !important;\n  white-space: nowrap !important;\n  border: 0 !important;\n\n  // Fix for positioned table caption that could become anonymous cells\n  &:not(caption) {\n    position: absolute !important;\n  }\n\n  // Fix to prevent overflowing children to become focusable\n  * {\n    overflow: hidden !important;\n  }\n}\n\n// Use to only display content when it's focused, or one of its child elements is focused\n// (i.e. when focus is within the element/container that the class was applied to)\n//\n// Useful for \"Skip to main content\" links; see https://www.w3.org/WAI/WCAG22/Techniques/general/G1.html\n\n@mixin visually-hidden-focusable() {\n  &:not(:focus):not(:focus-within) {\n    @include visually-hidden();\n  }\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .stretched-link {\n    &::#{$stretched-link-pseudo-element} {\n      position: absolute;\n      inset: 0;\n      z-index: $stretched-link-z-index;\n      content: \"\";\n    }\n  }\n}\n","@use \"../mixins/text-truncate\" as *;\n\n@layer helpers {\n  .text-truncate {\n    @include text-truncate();\n  }\n}\n","// Text truncate\n// Requires inline-block or block for proper styling\n\n@mixin text-truncate() {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n","@use \"../variables\" as *;\n\n@layer helpers {\n  .vr {\n    display: inline-block;\n    align-self: stretch;\n    width: $vr-border-width;\n    min-height: 1em;\n    background-color: var(--border-color);\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../layout/breakpoints\" as *;\n@use \"../mixins/utilities\" as *;\n@use \"../utilities\" as *;\n\n@layer utilities {\n  // Loop over each breakpoint\n  @each $breakpoint in map.keys($grid-breakpoints) {\n\n    // Generate media query if needed\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      // Loop over each utility property\n      @each $key, $utility in $utilities {\n        // The utility can be disabled with `false`, thus check if the utility is a map first\n        // Only proceed if responsive media queries are enabled or if it's the base media query\n        @if meta.type-of($utility) == \"map\" and (map.get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix);\n        }\n      }\n    }\n  }\n\n\n  // Print utilities\n  @media print {\n    @each $key, $utility in $utilities {\n      // The utility can be disabled with `false`, thus check if the utility is a map first\n      // Then check if the utility needs print styles\n      @if meta.type-of($utility) == \"map\" and map.get($utility, print) == true {\n        @include generate-utility($utility, \"-print\");\n      }\n    }\n  }\n}\n","@use \"sass:list\";\n@use \"sass:map\";\n@use \"sass:meta\";\n@use \"sass:string\";\n@use \"../config\" as *;\n\n// stylelint-disable scss/dollar-variable-pattern\n\n// Utility generator\n\n// - Utilities can use three different types of selectors:\n//   - class: .class\n//   - attr-starts: [class^=\"class\"]\n//   - attr-includes: [class*=\"class\"]\n// - Utilities can generate regular CSS properties and CSS custom properties\n// - Utilities can be responsive or not\n// - Utilities can have state variants (e.g., hover, focus, active)\n// - Utilities can define local CSS variables\n//\n// CSS custom properties can be generated in two ways:\n//\n// 1. Property map with null values (CSS var receives the utility value):\n// \"bg-color\": (\n//   property: (\n//     \"--bg\": null,\n//     \"background-color\": var(--bg)\n//   ),\n//   class: bg,\n//   values: (\n//     primary: var(--blue-500),\n//   )\n// )\n// Generates:\n// .bg-primary {\n//   --bs-bg: var(--bs-blue-500);\n//   background-color: var(--bs-bg);\n// }\n//\n// 2. Variables map (static CSS custom properties on every class):\n// \"link-underline\": (\n//   property: text-decoration-color,\n//   class: link-underline,\n//   variables: (\n//     \"link-underline-opacity\": 1\n//   ),\n//   values: (...)\n// )\n// Generates:\n// .link-underline {\n//   --bs-link-underline-opacity: 1;\n//   text-decoration-color: ...;\n// }\n\n// Helper mixin to generate CSS properties for both legacy and property map approaches\n@mixin generate-properties($utility, $propertyMap, $properties, $value) {\n  @if $propertyMap != null {\n    // New Property-Value Mapping approach\n    @each $property, $defaultValue in $propertyMap {\n      // If value is a map, check if it has a key for this property\n      // Otherwise, use defaultValue (or $value if defaultValue is null)\n      $actualValue: $defaultValue;\n      @if meta.type-of($value) == \"map\" and map.has-key($value, $property) {\n        $actualValue: map.get($value, $property);\n      } @else if $defaultValue == null {\n        $actualValue: $value;\n      }\n      @if map.get($utility, important) {\n        #{$property}: $actualValue !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $actualValue;\n      }\n    }\n  } @else {\n    // Legacy approach\n    @each $property in $properties {\n      @if map.get($utility, important) {\n        #{$property}: $value !important; // stylelint-disable-line declaration-no-important\n      } @else {\n        #{$property}: $value;\n      }\n    }\n  }\n}\n\n@mixin generate-utility($utility, $infix: \"\") {\n  // Determine if we're generating a class, or an attribute selector\n  $selectorType: \"class\";\n  @if map.has-key($utility, selector) {\n    $selectorType: map.get($utility, selector);\n  }\n  // Then get the class name to use in a class (e.g., .class) or in a attribute selector (e.g., [class^=\"class\"])\n  $selectorClass: map.get($utility, class);\n\n  // Get the list or map of values and ensure it's a map\n  $values: map.get($utility, values);\n  @if meta.type-of($values) != \"map\" {\n    @if meta.type-of($values) == \"list\" {\n      $list: ();\n      @each $value in $values {\n        $list: map.merge($list, ($value: $value));\n      }\n      $values: $list;\n    } @else {\n      $values: (null: $values);\n    }\n  }\n\n  // Calculate infix once, before the loop\n  // Note: $infix already includes the leading dash from breakpoint-infix()\n  // $infix: if($infix == \"\", \"\", \"-\" + $infix);\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n    $propertyMap: null;\n    $customClass: \"\";\n\n    // Check if property is a map (new Property-Value Mapping approach)\n    // @debug \"Properties type: #{meta.type-of($properties)}\";\n    // @debug \"Properties: #{$properties}\";\n    @if meta.type-of($properties) == \"map\" {\n      $propertyMap: $properties;\n      // For property maps, we need to determine the class from the utility definition\n      $customClass: \"\";\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      }\n    } @else {\n      // Legacy approach: Multiple properties are possible, for example with vertical or horizontal margins or paddings\n      @if meta.type-of($properties) == \"string\" {\n        $properties: list.append((), $properties);\n      }\n      // Use custom class if present, otherwise use the first value from the list of properties\n      @if map.has-key($utility, class) {\n        $customClass: map.get($utility, class);\n      } @else {\n        $customClass: list.nth($properties, 1);\n      }\n      @if $customClass == null {\n        $customClass: \"\";\n      }\n    }\n\n    // Use custom CSS variable name if present, otherwise default to `class`\n    // mdo-do: restore?\n    // $css-variable-name: if(map.has-key($utility, css-variable-name), map.get($utility, css-variable-name), map.get($utility, class));\n\n    // State params to generate state variants\n    $state: ();\n    @if map.has-key($utility, state) {\n      $state: map.get($utility, state);\n    }\n\n    // $infix: if($customClass == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $customClassModifier: \"\";\n    @if $key {\n      @if $customClass == \"\" and $infix == \"\" {\n        $customClassModifier: $key;\n      } @else {\n        $customClassModifier: \"-\" + $key;\n      }\n    }\n\n    $selector: \"\";\n    @if $selectorType == \"class\" {\n      // Use the fallback of the first property if no `class` key is used\n      @if $customClass != \"\" {\n        $selector: \".#{$customClass + $infix + $customClassModifier}\";\n      } @else {\n        $selector: \".#{$selectorClass + $infix + $customClassModifier}\";\n      }\n    } @else if $selectorType == \"attr-starts\" {\n      $selector: \"[class^=\\\"#{$selectorClass}\\\"]\";\n    } @else if $selectorType == \"attr-includes\" {\n      $selector: \"[class*=\\\"#{$selectorClass}\\\"]\";\n    }\n\n    // @debug $utility;\n    // @debug $selectorType;\n    // @debug $selector;\n    // @debug $properties;\n    // @debug $values;\n\n    #{$selector} {\n      // Generate CSS custom properties (variables) if provided\n      // Variables receive the current utility value, then properties reference them\n      @if map.has-key($utility, variables) {\n        $variables: map.get($utility, variables);\n        @if meta.type-of($variables) == \"list\" {\n          // If variables is a list, each variable gets the utility value\n          @each $var-name in $variables {\n            --#{$var-name}: #{$value};\n          }\n        } @else if meta.type-of($variables) == \"map\" {\n          // If variables is a map, use the provided values (for static variables)\n          @each $var-key, $var-value in $variables {\n            --#{$var-key}: #{$var-value};\n          }\n        }\n      }\n      @include generate-properties($utility, $propertyMap, $properties, $value);\n    }\n\n    // Generate state variants\n    @if $state != () {\n      @each $state-variant in $state {\n        #{$selector}-#{$state-variant}:#{$state-variant} {\n          // Generate CSS custom properties (variables) if provided\n          @if map.has-key($utility, variables) {\n            $variables: map.get($utility, variables);\n            @if meta.type-of($variables) == \"list\" {\n              // If variables is a list, each variable gets the utility value\n              @each $var-name in $variables {\n                --#{$var-name}: #{$value};\n              }\n            } @else if meta.type-of($variables) == \"map\" {\n              // If variables is a map, use the provided values (for static variables)\n              @each $var-key, $var-value in $variables {\n                --#{$var-key}: #{$var-value};\n              }\n            }\n          }\n          @include generate-properties($utility, $propertyMap, $properties, $value);\n        }\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index 5b05778714a7b65c0802f269c928f69f5c6e4719..0cc875a762a387dc60cdf008775f224170f88a65 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
    * Constants
    */
 
-  const VERSION = '5.3.8';
+  const VERSION = '6.0.0-alpha1';
 
   /**
    * Class definition
index 8693173d0f4aef9c351810ff9a3778b9f8051008..d51440ce2643042d0b745f183fc6ac6ddddb0517 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/*! name: vanilla-calendar-pro v3.0.5 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,l,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(o=(l=e.context.mainElement).replaceWith)||o.call(l,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.onHide&&e.onHide(e))};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:l}=getOffset(e),{vh:o,vw:s}=getViewportDimensions(),i=a-t,r=l-n;return{top:i,bottom:o-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},l=[];if(!t||!e)return{canShow:a,parentPositions:l};const{bottom:o,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),h=m/2,p=u/2;return[{condition:i<p,position:\"top\"},{condition:i>p,position:\"bottom\"},{condition:r<h,position:\"left\"},{condition:r>h,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&l.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=o-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:l}}const handleDay=(e,t,n,a)=>{var l;const o=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==o?void 0:o.querySelector(\"[data-vc-date-btn]\");if(!o||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(l=null==i?void 0:i.textContent)?void 0:l.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/&nbsp;/g,\" \")}`,o.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(o,i),t=e.bottom?o.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?o.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const l=getDate(n),o=getDate(a),s=new Date(l.getTime());for(;s<=o;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,l,o,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)<getDate(o)||(null==(i=e.context.disableDates)?void 0:i.includes(o))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(o).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(l),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(o),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===o?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),l=getDate(o);updateAttribute(n,l>t&&l<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const l=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+l)/864e5+1)/7);return{year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,l,o,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(l=e.context.enableDates)?void 0:l[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,l,o)=>{const s=getDate(l).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=l,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(s),(\"current\"===o||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.role=\"gridcell\",c.ariaLabel=getLocaleString(l,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,l),setDaysAsDisabled(e,l,s),setDateModifier(e,t,r,c,s,l,o),n.appendChild(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,l)=>{for(let o=1;o<=n;o++){const n=new Date(a,l,o);createDate(e,a,t,o,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,l,o)=>{const s=o+n,i=7*Math.ceil(s/7)-s,r=l+1===12?a+1:a,c=l+1===12?\"01\":l+2<10?`0${l+2}`:l+2;for(let n=1;n<=i;n++){const l=n<10?`0${n}`:String(n);createDate(e,a,t,n,`${r}-${c}-${l}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,l)=>{let o=new Date(n,a,0).getDate()-(l-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=l;a>0;a--,o++){createDate(e,n,t,o,`${s}-${i}-${o}`,\"prev\")}},createWeekNumbers=(e,t,n,a,l)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const o=document.createElement(\"b\");o.className=e.styles.weekNumbersTitle,o.innerText=\"#\",o.dataset.vcWeekNumbers=\"title\",a.appendChild(o);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=l.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const l=i.cloneNode(!0);l.innerText=String(a.week),l.dataset.vcWeekNumber=String(a.week),l.dataset.vcWeekYear=String(a.year),l.role=\"rowheader\",l.ariaLabel=`${a.week}`,s.appendChild(l)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,l)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const o=new Date(t);o.setMonth(o.getMonth()+l);const s=o.getMonth(),i=o.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate();createDatesFromPrevMonth(e,n,i,s,r),createDatesFromCurrentMonth(e,n,c,i,s),createDatesFromNextMonth(e,n,c,i,s,r),createDatePopup(e,n),createWeekNumbers(e,r,c,a[l],n)}))},layoutDefault=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <#WeekNumbers />\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Week />\\n      <#Dates />\\n      <#DateRangeTooltip />\\n    </div>\\n  </div>\\n  <#ControlTime />\\n`,layoutMonths=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Months />\\n    </div>\\n  </div>\\n`,layoutMultiple=e=>`\\n  <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n    <#Multiple>\\n      <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n        <div class=\"${e.styles.header}\" data-vc=\"header\">\\n          <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n            <#Month />\\n            <#Year />\\n          </div>\\n        </div>\\n        <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n          <#WeekNumbers />\\n          <div class=\"${e.styles.content}\" data-vc=\"content\">\\n            <#Week />\\n            <#Dates />\\n          </div>\\n        </div>\\n      </div>\\n    <#/Multiple>\\n    <#DateRangeTooltip />\\n  </div>\\n  <#ControlTime />\\n`,layoutYears=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [year] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [year] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Years />\\n    </div>\\n  </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],l=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),o=getComponent(l),s=o?o(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),l=t.closest('[data-vc=\"column\"]');return n&&e.context.mainElement.removeChild(n),a&&(a.dataset.vcGrid=\"hidden\"),l&&(l.dataset.vcColumn=e.context.currentType),void(l&&(l.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),l=new Date(a.getTime()),o=new Date(a.getTime());l.setMonth(l.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||l.getFullYear()<s.getFullYear()||l.getFullYear()===s.getFullYear()&&l.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>i.getFullYear()||o.getFullYear()===i.getFullYear()&&o.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(l.getFullYear()&&e.context.displayYear+7>=l.getFullYear());setVisibilityArrows(t,n,o,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,l)=>{const o=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${o}`);const c={month:{id:s,label:i},year:{id:o,label:o}};t.innerText=String(c[l].label),t.dataset[`vc${l.charAt(0).toUpperCase()+l.slice(1)}`]=String(c[l].id),t.ariaLabel=`${e.labels[l]} ${c[l].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[l]||\"only-arrows\"===d[l];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,l)=>{var o;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};l&&(null==(o=e.context.mainElement.querySelectorAll(s[n]))||o.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),l=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:l>=0?Number(null==(n=a[l].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(l,0)}},createMonthEl=(e,t,n,a,l,o,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=l,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,o&&(i.ariaDisabled=\"true\"),o&&(i.tabIndex=-1),i.disabled=o,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const l=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),o=l?Number(l.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=a.getFullYear()&&t>a.getMonth()-l+d||o>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,l)=>`\\n  <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n    <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${l?\"disabled\":\"\"}>\\n  </label>\\n`,TimeRange=(e,t,n,a,l,o,s)=>`\\n  <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n    <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${l}\" step=\"${o}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n  </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,l)=>{const o=o=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=l?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,o,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)};return t.addEventListener(\"click\",o),()=>{t.removeEventListener(\"click\",o)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,l,o,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),l)},24:()=>{if(!(i<=o&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,l)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=o&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,l)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[l]&&i[l](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,l)=>{t.value=l,handleActions(e,n,l,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,l)=>{const o=o=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===l,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,o,l,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",o),()=>{t.removeEventListener(\"input\",o)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),l=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),o=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&l&&o))return;const i=e=>{e.target===n&&handleMouseOver(l),e.target===a&&handleMouseOver(o)},r=e=>{e.target===n&&handleMouseOut(l),e.target===a&&handleMouseOut(o)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,l,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,o,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,l,s,\"hour\"),handleRange(e,a,o,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[l,o]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n    <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n      ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n      ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n    </div>\\n    <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n      ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n      ${TimeRange(\"minute\",e.styles.timeRange,e.labels,l,o,e.timeStepMinute,e.context.selectedMinutes)}\\n    </div>\\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,l)=>[...n,{id:l,titleShort:e.context.locale.weekdays.short[l],titleLong:a,isWeekend:t.includes(l)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const l=n.cloneNode(!0);l.innerText=a.titleShort,l.className=e.styles.weekDay,l.role=\"columnheader\",l.ariaLabel=a.titleLong,l.dataset.vcWeekDay=String(a.id),a.isWeekend&&(l.dataset.vcWeekDayOff=\"\"),t.appendChild(l)}))}))},createYearEl=(e,t,n,a,l)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(l),o.ariaLabel=String(l),o.role=\"gridcell\",o.dataset.vcYearsYear=`${l}`,a&&(o.ariaDisabled=\"true\"),a&&(o.tabIndex=-1),o.disabled=a,setYearModifier(e,o,\"year\",n===l,!1),o},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const l=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!l)return;const o=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+o||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);l.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const l=n.getAttribute(a);l?(setTheme(e.context.mainElement,l),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),l=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),o=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(l)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),l=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),o=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(l)),e.context.locale.months.long.push(capitalizeFirstLetter(o))},getLocale=e=>{var t,n,a,l,o,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(l=null==(a=e.locale)?void 0:a.weekdays)?void 0:l.long[6])&&(null==(s=null==(o=e.locale)?void 0:o.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const l=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),o=l.indexOf(a);if(-1===o)return;const s=(i=l[o]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,o-s),ArrowDown:()=>Math.min(l.length-1,o+s),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(l.length-1,o+1)}[t.key])();null==(n=l[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},canToggleSelection=e=>void 0===e.enableDateToggle||(\"function\"==typeof e.enableDateToggle?e.enableDateToggle(e):e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,l=t.closest(\"[data-vc-date][data-vc-date-selected]\"),o=canToggleSelection(e);if(l&&!o)return;const s=l?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),l=n.getBoundingClientRect();t.style.left=l.left-a.left+l.width/2+\"px\",t.style.top=l.bottom-a.top-l.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,l,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,l,o;if(!(null==(l=null==(a=state.self)?void 0:a.context)?void 0:l.selectedDates[0]))return;const s=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const l=a.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),s=getDate(l),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${l}\"]`),[c,d]=o<s?[i,r]:[r,i],[u,m]=o<s?[o,s]:[s,o];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const l=getDate(state.self.context.selectedDates[0]),[o,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[l>=n?n:e,l<n&&null===t?n:t]),[null,null]);o&&setContext(state.self,\"displayDateMin\",getDateString(new Date(o.setDate(o.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],l=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=l?e.enableEdgeDatesOnly?[n,a]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,l=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,l,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,l=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!l)return;const o=l.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,o,!1),multiple:()=>handleSelectDate(e,o,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,o)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:l}=getColumnID(e,t);return\"month\"===e.context.currentType&&l>=0?n-l:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>l.getMonth()-o+s&&n>=l.getFullYear(),c=n<a.getFullYear(),d=n>l.getFullYear(),u=i||c?a.getFullYear():r||d?l.getFullYear():n,m=i||c?a.getMonth():r||d?l.getMonth()-o+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),l=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<o.getMonth()&&l<=o.getFullYear(),r=a>s.getMonth()&&l>=s.getFullYear();setContext(e,\"selectedYear\",l),setContext(e,\"selectedMonth\",i?o.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var l;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(l=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||l.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const l=t.target,o=l.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,l),month:()=>createMonths(e,l)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return s[n]();const i=l.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=l.closest('[data-vc=\"grid\"]'),c=l.closest('[data-vc=\"column\"]');(e.context.currentType===n&&o||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const l=Number(n.innerText),o=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===l));e.onClickWeekNumber(e,l,o,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),l=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!l[0])return;const o=Number(n.dataset.vcWeekDay),s=Array.from(l).filter((e=>Number(e.dataset.vcDateWeekDay)===o));e.onClickWeekDay(e,o,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const l=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,l),i=resolveDate(e.displayDateMax,o);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(l)>=getDate(s)?l:s:l),setContext(e,\"displayDateMax\",i?getDate(o)<=getDate(i)?o:i:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?l:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?o:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const l=12===e.selectionTimeMode,o=l?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?a:[];s?l&&!r&&(r=\"AM\"):(s=l?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=l?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:l,locale:o},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=l?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,o){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};return e.context.inputElement.addEventListener(\"click\",t),e.context.inputElement.addEventListener(\"focus\",t),()=>{e.context.inputElement.removeEventListener(\"click\",t),e.context.inputElement.removeEventListener(\"focus\",t)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const l=n[a];\"object\"!=typeof e[l]||\"object\"!=typeof t[l]||t[l]instanceof Date||Array.isArray(t[l])?void 0!==t[l]&&(e[l]=t[l]):replaceProperties(e[l],t[l])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:l}=getAvailablePosition(e,t),o=a.left&&a.right;return(o&&a.bottom?\"center\":o&&a.top?[\"top\",\"center\"]:Array.isArray(l)?[\"bottom\"===l[0]?\"top\":\"bottom\",...l.slice(1)]:l)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,l={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=o;const{top:i,left:r}=getOffset(e),c=i+l[o];let d=r+l[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start → right, end → left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start → left, end → right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Datepicker from './src/datepicker.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Strength from './src/strength.js'\nimport OtpInput from './src/otp-input.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Toggler from './src/toggler.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Datepicker,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Strength,\n  OtpInput,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Toggler,\n  Tooltip\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","showEvent","hideEvent","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","Date","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","computePosition","arrow","flip","offset","shift","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","fallbackPlacements","_getFallbackPlacements","fallbackMap","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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","x_google_ignoreList":[13,16,17,18,19]}
\ No newline at end of file
+{"version":3,"file":"bootstrap.bundle.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../node_modules/vanilla-calendar-pro/index.mjs","../../js/src/datepicker.js","../../js/src/dialog.js","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/*! name: vanilla-calendar-pro v3.0.5 | url: https://github.com/uvarov-frontend/vanilla-calendar-pro */\nvar __defProp=Object.defineProperty,__defProps=Object.defineProperties,__getOwnPropDescs=Object.getOwnPropertyDescriptors,__getOwnPropSymbols=Object.getOwnPropertySymbols,__hasOwnProp=Object.prototype.hasOwnProperty,__propIsEnum=Object.prototype.propertyIsEnumerable,__defNormalProp=(e,t,n)=>t in e?__defProp(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,__spreadValues=(e,t)=>{for(var n in t||(t={}))__hasOwnProp.call(t,n)&&__defNormalProp(e,n,t[n]);if(__getOwnPropSymbols)for(var n of __getOwnPropSymbols(t))__propIsEnum.call(t,n)&&__defNormalProp(e,n,t[n]);return e},__spreadProps=(e,t)=>__defProps(e,__getOwnPropDescs(t)),__publicField=(e,t,n)=>(__defNormalProp(e,\"symbol\"!=typeof t?t+\"\":t,n),n);const errorMessages={notFoundSelector:e=>`${e} is not found, check the first argument passed to new Calendar.`,notInit:'The calendar has not been initialized, please initialize it using the \"init()\" method first.',notLocale:\"You specified an incorrect language label or did not specify the required number of values ​​for «locale.weekdays» or «locale.months».\",incorrectTime:\"The value of the time property can be: false, 12 or 24.\",incorrectMonthsCount:\"For the «multiple» calendar type, the «displayMonthsCount» parameter can have a value from 2 to 12, and for all others it cannot be greater than 1.\"},setContext=(e,t,n)=>{e.context[t]=n},destroy=e=>{var t,n,a,l,o;if(!e.context.isInit)throw new Error(errorMessages.notInit);e.inputMode?(null==(t=e.context.mainElement.parentElement)||t.removeChild(e.context.mainElement),null==(a=null==(n=e.context.inputElement)?void 0:n.replaceWith)||a.call(n,e.context.originalElement),setContext(e,\"inputElement\",void 0)):null==(o=(l=e.context.mainElement).replaceWith)||o.call(l,e.context.originalElement),setContext(e,\"mainElement\",e.context.originalElement),e.onDestroy&&e.onDestroy(e)},hide=e=>{e.context.isShowInInputMode&&e.context.currentType&&(e.context.mainElement.dataset.vcCalendarHidden=\"\",setContext(e,\"isShowInInputMode\",!1),e.context.cleanupHandlers[0]&&(e.context.cleanupHandlers.forEach((e=>e())),setContext(e,\"cleanupHandlers\",[])),e.onHide&&e.onHide(e))};function getOffset(e){if(!e||!e.getBoundingClientRect)return{top:0,bottom:0,left:0,right:0};const t=e.getBoundingClientRect(),n=document.documentElement;return{bottom:t.bottom,right:t.right,top:t.top+window.scrollY-n.clientTop,left:t.left+window.scrollX-n.clientLeft}}function getViewportDimensions(){return{vw:Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),vh:Math.max(document.documentElement.clientHeight||0,window.innerHeight||0)}}function getWindowScrollPosition(){return{left:window.scrollX||document.documentElement.scrollLeft||0,top:window.scrollY||document.documentElement.scrollTop||0}}function calculateAvailableSpace(e){const{top:t,left:n}=getWindowScrollPosition(),{top:a,left:l}=getOffset(e),{vh:o,vw:s}=getViewportDimensions(),i=a-t,r=l-n;return{top:i,bottom:o-(i+e.clientHeight),left:r,right:s-(r+e.clientWidth)}}function getAvailablePosition(e,t,n=5){const a={top:!0,bottom:!0,left:!0,right:!0},l=[];if(!t||!e)return{canShow:a,parentPositions:l};const{bottom:o,top:s}=calculateAvailableSpace(e),{top:i,left:r}=getOffset(e),{height:c,width:d}=t.getBoundingClientRect(),{vh:u,vw:m}=getViewportDimensions(),h=m/2,p=u/2;return[{condition:i<p,position:\"top\"},{condition:i>p,position:\"bottom\"},{condition:r<h,position:\"left\"},{condition:r>h,position:\"right\"}].forEach((({condition:e,position:t})=>{e&&l.push(t)})),Object.assign(a,{top:c<=s-n,bottom:c<=o-n,left:d<=r,right:d<=m-r}),{canShow:a,parentPositions:l}}const handleDay=(e,t,n,a)=>{var l;const o=a.querySelector(`[data-vc-date=\"${t}\"]`),s=null==o?void 0:o.querySelector(\"[data-vc-date-btn]\");if(!o||!s)return;if((null==n?void 0:n.modifier)&&s.classList.add(...n.modifier.trim().split(\" \")),!(null==n?void 0:n.html))return;const i=document.createElement(\"div\");i.className=e.styles.datePopup,i.dataset.vcDatePopup=\"\",i.innerHTML=e.sanitizerHTML(n.html),s.ariaExpanded=\"true\",s.ariaLabel=`${s.ariaLabel}, ${null==(l=null==i?void 0:i.textContent)?void 0:l.replace(/^\\s+|\\s+(?=\\s)|\\s+$/g,\"\").replace(/&nbsp;/g,\" \")}`,o.appendChild(i),requestAnimationFrame((()=>{if(!i)return;const{canShow:e}=getAvailablePosition(o,i),t=e.bottom?o.offsetHeight:-i.offsetHeight,n=e.left&&!e.right?o.offsetWidth-i.offsetWidth/2:!e.left&&e.right?i.offsetWidth/2:0;Object.assign(i.style,{left:`${n}px`,top:`${t}px`})}))},createDatePopup=(e,t)=>{var n;e.popups&&(null==(n=Object.entries(e.popups))||n.forEach((([n,a])=>handleDay(e,n,a,t))))},getDate=e=>new Date(`${e}T00:00:00`),getDateString=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,\"0\")}-${String(e.getDate()).padStart(2,\"0\")}`,parseDates=e=>e.reduce(((e,t)=>{if(t instanceof Date||\"number\"==typeof t){const n=t instanceof Date?t:new Date(t);e.push(n.toISOString().substring(0,10))}else t.match(/^(\\d{4}-\\d{2}-\\d{2})$/g)?e.push(t):t.replace(/(\\d{4}-\\d{2}-\\d{2}).*?(\\d{4}-\\d{2}-\\d{2})/g,((t,n,a)=>{const l=getDate(n),o=getDate(a),s=new Date(l.getTime());for(;s<=o;s.setDate(s.getDate()+1))e.push(getDateString(s));return t}));return e}),[]),updateAttribute=(e,t,n,a=\"\")=>{t?e.setAttribute(n,a):e.getAttribute(n)===a&&e.removeAttribute(n)},setDateModifier=(e,t,n,a,l,o,s)=>{var i,r,c,d;const u=getDate(e.context.displayDateMin)>getDate(o)||getDate(e.context.displayDateMax)<getDate(o)||(null==(i=e.context.disableDates)?void 0:i.includes(o))||!e.selectionMonthsMode&&\"current\"!==s||!e.selectionYearsMode&&getDate(o).getFullYear()!==t;updateAttribute(n,u,\"data-vc-date-disabled\"),a&&updateAttribute(a,u,\"aria-disabled\",\"true\"),a&&updateAttribute(a,u,\"tabindex\",\"-1\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,\"data-vc-date-today\"),updateAttribute(n,!e.disableToday&&e.context.dateToday===o,\"aria-current\",\"date\"),updateAttribute(n,null==(r=e.selectedWeekends)?void 0:r.includes(l),\"data-vc-date-weekend\");const m=(null==(c=e.selectedHolidays)?void 0:c[0])?parseDates(e.selectedHolidays):[];if(updateAttribute(n,m.includes(o),\"data-vc-date-holiday\"),(null==(d=e.context.selectedDates)?void 0:d.includes(o))?(n.setAttribute(\"data-vc-date-selected\",\"\"),a&&a.setAttribute(\"aria-selected\",\"true\"),e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode&&(e.context.selectedDates[0]===o&&e.context.selectedDates[e.context.selectedDates.length-1]===o?n.setAttribute(\"data-vc-date-selected\",\"first-and-last\"):e.context.selectedDates[0]===o?n.setAttribute(\"data-vc-date-selected\",\"first\"):e.context.selectedDates[e.context.selectedDates.length-1]===o&&n.setAttribute(\"data-vc-date-selected\",\"last\"),e.context.selectedDates[0]!==o&&e.context.selectedDates[e.context.selectedDates.length-1]!==o&&n.setAttribute(\"data-vc-date-selected\",\"middle\"))):n.hasAttribute(\"data-vc-date-selected\")&&(n.removeAttribute(\"data-vc-date-selected\"),a&&a.removeAttribute(\"aria-selected\")),!e.context.disableDates.includes(o)&&e.enableEdgeDatesOnly&&e.context.selectedDates.length>1&&\"multiple-ranged\"===e.selectionDatesMode){const t=getDate(e.context.selectedDates[0]),a=getDate(e.context.selectedDates[e.context.selectedDates.length-1]),l=getDate(o);updateAttribute(n,l>t&&l<a,\"data-vc-date-selected\",\"middle\")}},getLocaleString=(e,t,n)=>new Date(`${e}T00:00:00.000Z`).toLocaleString(t,n),getWeekNumber=(e,t)=>{const n=getDate(e),a=(n.getDay()-t+7)%7;n.setDate(n.getDate()+4-a);const l=new Date(n.getFullYear(),0,1),o=Math.ceil(((+n-+l)/864e5+1)/7);return{year:n.getFullYear(),week:o}},addWeekNumberForDate=(e,t,n)=>{const a=getWeekNumber(n,e.firstWeekday);a&&(t.dataset.vcDateWeekNumber=String(a.week))},setDaysAsDisabled=(e,t,n)=>{var a,l,o,s,i;const r=null==(a=e.disableWeekdays)?void 0:a.includes(n),c=e.disableAllDates&&!!(null==(l=e.context.enableDates)?void 0:l[0]);!r&&!c||(null==(o=e.context.enableDates)?void 0:o.includes(t))||(null==(s=e.context.disableDates)?void 0:s.includes(t))||(e.context.disableDates.push(t),null==(i=e.context.disableDates)||i.sort(((e,t)=>+new Date(e)-+new Date(t))))},createDate=(e,t,n,a,l,o)=>{const s=getDate(l).getDay(),i=\"string\"==typeof e.locale&&e.locale.length?e.locale:\"en\",r=document.createElement(\"div\");let c;r.className=e.styles.date,r.dataset.vcDate=l,r.dataset.vcDateMonth=o,r.dataset.vcDateWeekDay=String(s),(\"current\"===o||e.displayDatesOutside)&&(c=document.createElement(\"button\"),c.className=e.styles.dateBtn,c.type=\"button\",c.role=\"gridcell\",c.ariaLabel=getLocaleString(l,i,{dateStyle:\"long\",timeZone:\"UTC\"}),c.dataset.vcDateBtn=\"\",c.innerText=String(a),r.appendChild(c)),e.enableWeekNumbers&&addWeekNumberForDate(e,r,l),setDaysAsDisabled(e,l,s),setDateModifier(e,t,r,c,s,l,o),n.appendChild(r),e.onCreateDateEls&&e.onCreateDateEls(e,r)},createDatesFromCurrentMonth=(e,t,n,a,l)=>{for(let o=1;o<=n;o++){const n=new Date(a,l,o);createDate(e,a,t,o,getDateString(n),\"current\")}},createDatesFromNextMonth=(e,t,n,a,l,o)=>{const s=o+n,i=7*Math.ceil(s/7)-s,r=l+1===12?a+1:a,c=l+1===12?\"01\":l+2<10?`0${l+2}`:l+2;for(let n=1;n<=i;n++){const l=n<10?`0${n}`:String(n);createDate(e,a,t,n,`${r}-${c}-${l}`,\"next\")}},createDatesFromPrevMonth=(e,t,n,a,l)=>{let o=new Date(n,a,0).getDate()-(l-1);const s=0===a?n-1:n,i=0===a?12:a<10?`0${a}`:a;for(let a=l;a>0;a--,o++){createDate(e,n,t,o,`${s}-${i}-${o}`,\"prev\")}},createWeekNumbers=(e,t,n,a,l)=>{if(!e.enableWeekNumbers)return;a.textContent=\"\";const o=document.createElement(\"b\");o.className=e.styles.weekNumbersTitle,o.innerText=\"#\",o.dataset.vcWeekNumbers=\"title\",a.appendChild(o);const s=document.createElement(\"div\");s.className=e.styles.weekNumbersContent,s.dataset.vcWeekNumbers=\"content\",a.appendChild(s);const i=document.createElement(\"button\");i.type=\"button\",i.className=e.styles.weekNumber;const r=l.querySelectorAll(\"[data-vc-date]\"),c=Math.ceil((t+n)/7);for(let t=0;t<c;t++){const n=r[0===t?6:7*t].dataset.vcDate,a=getWeekNumber(n,e.firstWeekday);if(!a)return;const l=i.cloneNode(!0);l.innerText=String(a.week),l.dataset.vcWeekNumber=String(a.week),l.dataset.vcWeekYear=String(a.year),l.role=\"rowheader\",l.ariaLabel=`${a.week}`,s.appendChild(l)}},createDates=e=>{const t=new Date(e.context.selectedYear,e.context.selectedMonth,1),n=e.context.mainElement.querySelectorAll('[data-vc=\"dates\"]'),a=e.context.mainElement.querySelectorAll('[data-vc-week=\"numbers\"]');n.forEach(((n,l)=>{e.selectionDatesMode||(n.dataset.vcDatesDisabled=\"\"),n.textContent=\"\";const o=new Date(t);o.setMonth(o.getMonth()+l);const s=o.getMonth(),i=o.getFullYear(),r=(new Date(i,s,1).getDay()-e.firstWeekday+7)%7,c=new Date(i,s+1,0).getDate();createDatesFromPrevMonth(e,n,i,s,r),createDatesFromCurrentMonth(e,n,c,i,s),createDatesFromNextMonth(e,n,c,i,s,r),createDatePopup(e,n),createWeekNumbers(e,r,c,a[l],n)}))},layoutDefault=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <#WeekNumbers />\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Week />\\n      <#Dates />\\n      <#DateRangeTooltip />\\n    </div>\\n  </div>\\n  <#ControlTime />\\n`,layoutMonths=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Months />\\n    </div>\\n  </div>\\n`,layoutMultiple=e=>`\\n  <div class=\"${e.styles.controls}\" data-vc=\"controls\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [month] />\\n    <#ArrowNext [month] />\\n  </div>\\n  <div class=\"${e.styles.grid}\" data-vc=\"grid\">\\n    <#Multiple>\\n      <div class=\"${e.styles.column}\" data-vc=\"column\" role=\"region\">\\n        <div class=\"${e.styles.header}\" data-vc=\"header\">\\n          <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n            <#Month />\\n            <#Year />\\n          </div>\\n        </div>\\n        <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n          <#WeekNumbers />\\n          <div class=\"${e.styles.content}\" data-vc=\"content\">\\n            <#Week />\\n            <#Dates />\\n          </div>\\n        </div>\\n      </div>\\n    <#/Multiple>\\n    <#DateRangeTooltip />\\n  </div>\\n  <#ControlTime />\\n`,layoutYears=e=>`\\n  <div class=\"${e.styles.header}\" data-vc=\"header\" role=\"toolbar\" aria-label=\"${e.labels.navigation}\">\\n    <#ArrowPrev [year] />\\n    <div class=\"${e.styles.headerContent}\" data-vc-header=\"content\">\\n      <#Month />\\n      <#Year />\\n    </div>\\n    <#ArrowNext [year] />\\n  </div>\\n  <div class=\"${e.styles.wrapper}\" data-vc=\"wrapper\">\\n    <div class=\"${e.styles.content}\" data-vc=\"content\">\\n      <#Years />\\n    </div>\\n  </div>\\n`,ArrowNext=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowNext}\" data-vc-arrow=\"next\" aria-label=\"${e.labels.arrowNext[t]}\"></button>`,ArrowPrev=(e,t)=>`<button type=\"button\" class=\"${e.styles.arrowPrev}\" data-vc-arrow=\"prev\" aria-label=\"${e.labels.arrowPrev[t]}\"></button>`,ControlTime=e=>e.selectionTimeMode?`<div class=\"${e.styles.time}\" data-vc=\"time\" role=\"group\" aria-label=\"${e.labels.selectingTime}\"></div>`:\"\",DateRangeTooltip=e=>e.onCreateDateRangeTooltip?`<div class=\"${e.styles.dateRangeTooltip}\" data-vc-date-range-tooltip=\"hidden\"></div>`:\"\",Dates=e=>`<div class=\"${e.styles.dates}\" data-vc=\"dates\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.dates}\" ${\"multiple\"===e.type?\"aria-multiselectable\":\"\"}></div>`,Month=e=>`<button type=\"button\" class=\"${e.styles.month}\" data-vc=\"month\"></button>`,Months=e=>`<div class=\"${e.styles.months}\" data-vc=\"months\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.months}\"></div>`,Week=e=>`<div class=\"${e.styles.week}\" data-vc=\"week\" role=\"row\" aria-label=\"${e.labels.week}\"></div>`,WeekNumbers=e=>e.enableWeekNumbers?`<div class=\"${e.styles.weekNumbers}\" data-vc-week=\"numbers\" role=\"row\" aria-label=\"${e.labels.weekNumber}\"></div>`:\"\",Year=e=>`<button type=\"button\" class=\"${e.styles.year}\" data-vc=\"year\"></button>`,Years=e=>`<div class=\"${e.styles.years}\" data-vc=\"years\" role=\"grid\" aria-live=\"assertive\" aria-label=\"${e.labels.years}\"></div>`,components={ArrowNext:ArrowNext,ArrowPrev:ArrowPrev,ControlTime:ControlTime,Dates:Dates,DateRangeTooltip:DateRangeTooltip,Month:Month,Months:Months,Week:Week,WeekNumbers:WeekNumbers,Year:Year,Years:Years},getComponent=e=>components[e],parseLayout=(e,t)=>t.replace(/[\\n\\t]/g,\"\").replace(/<#(?!\\/?Multiple)(.*?)>/g,((t,n)=>{const a=(n.match(/\\[(.*?)\\]/)||[])[1],l=n.replace(/[/\\s\\n\\t]|\\[(.*?)\\]/g,\"\"),o=getComponent(l),s=o?o(e,null!=a?a:null):\"\";return e.sanitizerHTML(s)})).replace(/[\\n\\t]/g,\"\"),parseMultipleLayout=(e,t)=>t.replace(new RegExp(\"<#Multiple>(.*?)<#\\\\/Multiple>\",\"gs\"),((t,n)=>{const a=Array(e.context.displayMonthsCount).fill(n).join(\"\");return e.sanitizerHTML(a)})).replace(/[\\n\\t]/g,\"\"),createLayouts=(e,t)=>{const n={default:layoutDefault,month:layoutMonths,year:layoutYears,multiple:layoutMultiple};if(Object.keys(n).forEach((t=>{const a=t;e.layouts[a].length||(e.layouts[a]=n[a](e))})),e.context.mainElement.className=e.styles.calendar,e.context.mainElement.dataset.vc=\"calendar\",e.context.mainElement.dataset.vcType=e.context.currentType,e.context.mainElement.role=\"application\",e.context.mainElement.tabIndex=0,e.context.mainElement.ariaLabel=e.labels.application,\"multiple\"!==e.context.currentType){if(\"multiple\"===e.type&&t){const n=e.context.mainElement.querySelector('[data-vc=\"controls\"]'),a=e.context.mainElement.querySelector('[data-vc=\"grid\"]'),l=t.closest('[data-vc=\"column\"]');return n&&e.context.mainElement.removeChild(n),a&&(a.dataset.vcGrid=\"hidden\"),l&&(l.dataset.vcColumn=e.context.currentType),void(l&&(l.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))))}e.context.mainElement.innerHTML=e.sanitizerHTML(parseLayout(e,e.layouts[e.context.currentType]))}else e.context.mainElement.innerHTML=e.sanitizerHTML(parseMultipleLayout(e,parseLayout(e,e.layouts[e.context.currentType])))},setVisibilityArrows=(e,t,n,a)=>{e.style.visibility=n?\"hidden\":\"\",t.style.visibility=a?\"hidden\":\"\"},handleDefaultType=(e,t,n)=>{const a=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1))),l=new Date(a.getTime()),o=new Date(a.getTime());l.setMonth(l.getMonth()-e.monthsToSwitch),o.setMonth(o.getMonth()+e.monthsToSwitch);const s=getDate(e.context.dateMin),i=getDate(e.context.dateMax);e.selectionYearsMode||(s.setFullYear(a.getFullYear()),i.setFullYear(a.getFullYear()));const r=!e.selectionMonthsMode||l.getFullYear()<s.getFullYear()||l.getFullYear()===s.getFullYear()&&l.getMonth()<s.getMonth(),c=!e.selectionMonthsMode||o.getFullYear()>i.getFullYear()||o.getFullYear()===i.getFullYear()&&o.getMonth()>i.getMonth()-(e.context.displayMonthsCount-1);setVisibilityArrows(t,n,r,c)},handleYearType=(e,t,n)=>{const a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=!!(a.getFullYear()&&e.context.displayYear-7<=a.getFullYear()),s=!!(l.getFullYear()&&e.context.displayYear+7>=l.getFullYear());setVisibilityArrows(t,n,o,s)},visibilityArrows=e=>{if(\"month\"===e.context.currentType)return;const t=e.context.mainElement.querySelector('[data-vc-arrow=\"prev\"]'),n=e.context.mainElement.querySelector('[data-vc-arrow=\"next\"]');if(!t||!n)return;({default:()=>handleDefaultType(e,t,n),year:()=>handleYearType(e,t,n)})[\"multiple\"===e.context.currentType?\"default\":e.context.currentType]()},visibilityHandler=(e,t,n,a,l)=>{const o=new Date(a.setFullYear(e.context.selectedYear,e.context.selectedMonth+n)).getFullYear(),s=new Date(a.setMonth(e.context.selectedMonth+n)).getMonth(),i=e.context.locale.months.long[s],r=t.closest('[data-vc=\"column\"]');r&&(r.ariaLabel=`${i} ${o}`);const c={month:{id:s,label:i},year:{id:o,label:o}};t.innerText=String(c[l].label),t.dataset[`vc${l.charAt(0).toUpperCase()+l.slice(1)}`]=String(c[l].id),t.ariaLabel=`${e.labels[l]} ${c[l].label}`;const d={month:e.selectionMonthsMode,year:e.selectionYearsMode},u=!1===d[l]||\"only-arrows\"===d[l];u&&(t.tabIndex=-1),t.disabled=u},visibilityTitle=e=>{const t=e.context.mainElement.querySelectorAll('[data-vc=\"month\"]'),n=e.context.mainElement.querySelectorAll('[data-vc=\"year\"]'),a=new Date(e.context.selectedYear,e.context.selectedMonth,1);[t,n].forEach((t=>null==t?void 0:t.forEach(((t,n)=>visibilityHandler(e,t,n,a,t.dataset.vc)))))},setYearModifier=(e,t,n,a,l)=>{var o;const s={month:\"[data-vc-months-month]\",year:\"[data-vc-years-year]\"},i={month:{selected:\"data-vc-months-month-selected\",aria:\"aria-selected\",value:\"vcMonthsMonth\",selectedProperty:\"selectedMonth\"},year:{selected:\"data-vc-years-year-selected\",aria:\"aria-selected\",value:\"vcYearsYear\",selectedProperty:\"selectedYear\"}};l&&(null==(o=e.context.mainElement.querySelectorAll(s[n]))||o.forEach((e=>{e.removeAttribute(i[n].selected),e.removeAttribute(i[n].aria)})),setContext(e,i[n].selectedProperty,Number(t.dataset[i[n].value])),visibilityTitle(e),\"year\"===n&&visibilityArrows(e)),a&&(t.setAttribute(i[n].selected,\"\"),t.setAttribute(i[n].aria,\"true\"))},getColumnID=(e,t)=>{var n;if(\"multiple\"!==e.type)return{currentValue:null,columnID:0};const a=e.context.mainElement.querySelectorAll('[data-vc=\"column\"]'),l=Array.from(a).findIndex((e=>e.closest(`[data-vc-column=\"${t}\"]`)));return{currentValue:l>=0?Number(null==(n=a[l].querySelector(`[data-vc=\"${t}\"]`))?void 0:n.getAttribute(`data-vc-${t}`)):null,columnID:Math.max(l,0)}},createMonthEl=(e,t,n,a,l,o,s)=>{const i=t.cloneNode(!1);return i.className=e.styles.monthsMonth,i.innerText=a,i.ariaLabel=l,i.role=\"gridcell\",i.dataset.vcMonthsMonth=`${s}`,o&&(i.ariaDisabled=\"true\"),o&&(i.tabIndex=-1),i.disabled=o,setYearModifier(e,i,\"month\",n===s,!1),i},createMonths=(e,t)=>{var n,a;const l=null==(n=null==t?void 0:t.closest('[data-vc=\"header\"]'))?void 0:n.querySelector('[data-vc=\"year\"]'),o=l?Number(l.dataset.vcYear):e.context.selectedYear,s=(null==t?void 0:t.dataset.vcMonth)?Number(t.dataset.vcMonth):e.context.selectedMonth;setContext(e,\"currentType\",\"month\"),createLayouts(e,t),visibilityTitle(e);const i=e.context.mainElement.querySelector('[data-vc=\"months\"]');if(!e.selectionMonthsMode||!i)return;const r=e.monthsToSwitch>1?e.context.locale.months.long.map(((t,n)=>s-e.monthsToSwitch*n)).concat(e.context.locale.months.long.map(((t,n)=>s+e.monthsToSwitch*n))).filter((e=>e>=0&&e<=12)):Array.from(Array(12).keys()),c=document.createElement(\"button\");c.type=\"button\";for(let t=0;t<12;t++){const n=getDate(e.context.dateMin),a=getDate(e.context.dateMax),l=e.context.displayMonthsCount-1,{columnID:d}=getColumnID(e,\"month\"),u=o<=n.getFullYear()&&t<n.getMonth()+d||o>=a.getFullYear()&&t>a.getMonth()-l+d||o>a.getFullYear()||t!==s&&!r.includes(t),m=createMonthEl(e,c,s,e.context.locale.months.short[t],e.context.locale.months.long[t],u,t);i.appendChild(m),e.onCreateMonthEls&&e.onCreateMonthEls(e,m)}null==(a=e.context.mainElement.querySelector(\"[data-vc-months-month]:not([disabled])\"))||a.focus()},TimeInput=(e,t,n,a,l)=>`\\n  <label class=\"${t}\" data-vc-time-input=\"${e}\">\\n    <input type=\"text\" name=\"${e}\" maxlength=\"2\" aria-label=\"${n[`input${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${a}\" ${l?\"disabled\":\"\"}>\\n  </label>\\n`,TimeRange=(e,t,n,a,l,o,s)=>`\\n  <label class=\"${t}\" data-vc-time-range=\"${e}\">\\n    <input type=\"range\" name=\"${e}\" min=\"${a}\" max=\"${l}\" step=\"${o}\" aria-label=\"${n[`range${e.charAt(0).toUpperCase()+e.slice(1)}`]}\" value=\"${s}\">\\n  </label>\\n`,handleActions=(e,t,n,a)=>{({hour:()=>setContext(e,\"selectedHours\",n),minute:()=>setContext(e,\"selectedMinutes\",n)})[a](),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${e.context.selectedKeeping?` ${e.context.selectedKeeping}`:\"\"}`),e.onChangeTime&&e.onChangeTime(e,t,!1),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t)},transformTime24=(e,t)=>{var n;return(null==(n={0:{AM:\"00\",PM:\"12\"},1:{AM:\"01\",PM:\"13\"},2:{AM:\"02\",PM:\"14\"},3:{AM:\"03\",PM:\"15\"},4:{AM:\"04\",PM:\"16\"},5:{AM:\"05\",PM:\"17\"},6:{AM:\"06\",PM:\"18\"},7:{AM:\"07\",PM:\"19\"},8:{AM:\"08\",PM:\"20\"},9:{AM:\"09\",PM:\"21\"},10:{AM:\"10\",PM:\"22\"},11:{AM:\"11\",PM:\"23\"},12:{AM:\"00\",PM:\"12\"}}[Number(e)])?void 0:n[t])||String(e)},handleClickKeepingTime=(e,t,n,a,l)=>{const o=o=>{const s=\"AM\"===e.context.selectedKeeping?\"PM\":\"AM\",i=transformTime24(e.context.selectedHours,s);Number(i)<=a&&Number(i)>=l?(setContext(e,\"selectedKeeping\",s),n.value=i,handleActions(e,o,e.context.selectedHours,\"hour\"),t.ariaLabel=`${e.labels.btnKeeping} ${e.context.selectedKeeping}`,t.innerText=e.context.selectedKeeping):e.onChangeTime&&e.onChangeTime(e,o,!0)};return t.addEventListener(\"click\",o),()=>{t.removeEventListener(\"click\",o)}},transformTime12=e=>({0:\"12\",13:\"01\",14:\"02\",15:\"03\",16:\"04\",17:\"05\",18:\"06\",19:\"07\",20:\"08\",21:\"09\",22:\"10\",23:\"11\"}[Number(e)]||String(e)),updateInputAndRange=(e,t,n,a)=>{e.value=n,t.value=a},updateKeepingTime$1=(e,t,n)=>{t&&n&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleInput$1=(e,t,n,a,l,o,s)=>{const i={hour:(i,r,c)=>{if(!e.selectionTimeMode)return;({12:()=>{if(!e.context.selectedKeeping)return;const d=Number(transformTime24(r,e.context.selectedKeeping));if(!(d<=o&&d>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,transformTime12(r),transformTime24(r,e.context.selectedKeeping)),i>12&&updateKeepingTime$1(e,a,\"PM\"),handleActions(e,c,transformTime12(r),l)},24:()=>{if(!(i<=o&&i>=s))return updateInputAndRange(n,t,e.context.selectedHours,e.context.selectedHours),void(e.onChangeTime&&e.onChangeTime(e,c,!0));updateInputAndRange(n,t,r,r),handleActions(e,c,r,l)}})[e.selectionTimeMode]()},minute:(a,i,r)=>{if(!(a<=o&&a>=s))return n.value=e.context.selectedMinutes,void(e.onChangeTime&&e.onChangeTime(e,r,!0));n.value=i,t.value=i,handleActions(e,r,i,l)}},r=e=>{const t=Number(n.value),a=n.value.padStart(2,\"0\");i[l]&&i[l](t,a,e)};return n.addEventListener(\"change\",r),()=>{n.removeEventListener(\"change\",r)}},updateInputAndTime=(e,t,n,a,l)=>{t.value=l,handleActions(e,n,l,a)},updateKeepingTime=(e,t,n)=>{t&&(setContext(e,\"selectedKeeping\",n),t.innerText=n)},handleRange=(e,t,n,a,l)=>{const o=o=>{const s=Number(t.value),i=t.value.padStart(2,\"0\"),r=\"hour\"===l,c=24===e.selectionTimeMode,d=s>0&&s<12;r&&!c&&updateKeepingTime(e,a,0===s||d?\"AM\":\"PM\"),updateInputAndTime(e,n,o,l,!r||c||d?i:transformTime12(t.value))};return t.addEventListener(\"input\",o),()=>{t.removeEventListener(\"input\",o)}},handleMouseOver=e=>e.setAttribute(\"data-vc-input-focus\",\"\"),handleMouseOut=e=>e.removeAttribute(\"data-vc-input-focus\"),handleTime=(e,t)=>{const n=t.querySelector('[data-vc-time-range=\"hour\"] input[name=\"hour\"]'),a=t.querySelector('[data-vc-time-range=\"minute\"] input[name=\"minute\"]'),l=t.querySelector('[data-vc-time-input=\"hour\"] input[name=\"hour\"]'),o=t.querySelector('[data-vc-time-input=\"minute\"] input[name=\"minute\"]'),s=t.querySelector('[data-vc-time=\"keeping\"]');if(!(n&&a&&l&&o))return;const i=e=>{e.target===n&&handleMouseOver(l),e.target===a&&handleMouseOver(o)},r=e=>{e.target===n&&handleMouseOut(l),e.target===a&&handleMouseOut(o)};return t.addEventListener(\"mouseover\",i),t.addEventListener(\"mouseout\",r),handleInput$1(e,n,l,s,\"hour\",e.timeMaxHour,e.timeMinHour),handleInput$1(e,a,o,s,\"minute\",e.timeMaxMinute,e.timeMinMinute),handleRange(e,n,l,s,\"hour\"),handleRange(e,a,o,s,\"minute\"),s&&handleClickKeepingTime(e,s,n,e.timeMaxHour,e.timeMinHour),()=>{t.removeEventListener(\"mouseover\",i),t.removeEventListener(\"mouseout\",r)}},createTime=e=>{const t=e.context.mainElement.querySelector('[data-vc=\"time\"]');if(!e.selectionTimeMode||!t)return;const[n,a]=[e.timeMinHour,e.timeMaxHour],[l,o]=[e.timeMinMinute,e.timeMaxMinute],s=e.context.selectedKeeping?transformTime24(e.context.selectedHours,e.context.selectedKeeping):e.context.selectedHours,i=\"range\"===e.timeControls;var r;t.innerHTML=e.sanitizerHTML(`\\n    <div class=\"${e.styles.timeContent}\" data-vc-time=\"content\">\\n      ${TimeInput(\"hour\",e.styles.timeHour,e.labels,e.context.selectedHours,i)}\\n      ${TimeInput(\"minute\",e.styles.timeMinute,e.labels,e.context.selectedMinutes,i)}\\n      ${12===e.selectionTimeMode?(r=e.context.selectedKeeping,`<button type=\"button\" class=\"${e.styles.timeKeeping}\" aria-label=\"${e.labels.btnKeeping} ${r}\" data-vc-time=\"keeping\" ${i?\"disabled\":\"\"}>${r}</button>`):\"\"}\\n    </div>\\n    <div class=\"${e.styles.timeRanges}\" data-vc-time=\"ranges\">\\n      ${TimeRange(\"hour\",e.styles.timeRange,e.labels,n,a,e.timeStepHour,s)}\\n      ${TimeRange(\"minute\",e.styles.timeRange,e.labels,l,o,e.timeStepMinute,e.context.selectedMinutes)}\\n    </div>\\n  `),handleTime(e,t)},createWeek=e=>{const t=e.selectedWeekends?[...e.selectedWeekends]:[],n=[...e.context.locale.weekdays.long].reduce(((n,a,l)=>[...n,{id:l,titleShort:e.context.locale.weekdays.short[l],titleLong:a,isWeekend:t.includes(l)}]),[]),a=[...n.slice(e.firstWeekday),...n.slice(0,e.firstWeekday)];e.context.mainElement.querySelectorAll('[data-vc=\"week\"]').forEach((t=>{const n=e.onClickWeekDay?document.createElement(\"button\"):document.createElement(\"b\");e.onClickWeekDay&&(n.type=\"button\"),a.forEach((a=>{const l=n.cloneNode(!0);l.innerText=a.titleShort,l.className=e.styles.weekDay,l.role=\"columnheader\",l.ariaLabel=a.titleLong,l.dataset.vcWeekDay=String(a.id),a.isWeekend&&(l.dataset.vcWeekDayOff=\"\"),t.appendChild(l)}))}))},createYearEl=(e,t,n,a,l)=>{const o=t.cloneNode(!1);return o.className=e.styles.yearsYear,o.innerText=String(l),o.ariaLabel=String(l),o.role=\"gridcell\",o.dataset.vcYearsYear=`${l}`,a&&(o.ariaDisabled=\"true\"),a&&(o.tabIndex=-1),o.disabled=a,setYearModifier(e,o,\"year\",n===l,!1),o},createYears=(e,t)=>{var n;const a=(null==t?void 0:t.dataset.vcYear)?Number(t.dataset.vcYear):e.context.selectedYear;setContext(e,\"currentType\",\"year\"),createLayouts(e,t),visibilityTitle(e),visibilityArrows(e);const l=e.context.mainElement.querySelector('[data-vc=\"years\"]');if(!e.selectionYearsMode||!l)return;const o=\"multiple\"!==e.type||e.context.selectedYear===a?0:1,s=document.createElement(\"button\");s.type=\"button\";for(let t=e.context.displayYear-7;t<e.context.displayYear+8;t++){const n=t<getDate(e.context.dateMin).getFullYear()+o||t>getDate(e.context.dateMax).getFullYear(),i=createYearEl(e,s,a,n,t);l.appendChild(i),e.onCreateYearEls&&e.onCreateYearEls(e,i)}null==(n=e.context.mainElement.querySelector(\"[data-vc-years-year]:not([disabled])\"))||n.focus()},trackChangesHTMLElement=(e,t,n)=>{new MutationObserver((e=>{for(let a=0;a<e.length;a++){if(e[a].attributeName===t){n();break}}})).observe(e,{attributes:!0})},haveListener={value:!1,set:()=>haveListener.value=!0,check:()=>haveListener.value},setTheme=(e,t)=>e.dataset.vcTheme=t,trackChangesThemeInSystemSettings=(e,t)=>{if(setTheme(e.context.mainElement,t.matches?\"dark\":\"light\"),\"system\"!==e.selectedTheme||haveListener.check())return;const n=e=>{const t=document.querySelectorAll('[data-vc=\"calendar\"]');null==t||t.forEach((t=>setTheme(t,e.matches?\"dark\":\"light\")))};t.addEventListener?t.addEventListener(\"change\",n):t.addListener(n),haveListener.set()},detectTheme=(e,t)=>{const n=e.themeAttrDetect.length?document.querySelector(e.themeAttrDetect):null,a=e.themeAttrDetect.replace(/^.*\\[(.+)\\]/g,((e,t)=>t));if(!n||\"system\"===n.getAttribute(a))return void trackChangesThemeInSystemSettings(e,t);const l=n.getAttribute(a);l?(setTheme(e.context.mainElement,l),trackChangesHTMLElement(n,a,(()=>{const t=n.getAttribute(a);t&&setTheme(e.context.mainElement,t)}))):trackChangesThemeInSystemSettings(e,t)},handleTheme=e=>{\"not all\"!==window.matchMedia(\"(prefers-color-scheme)\").media?\"system\"===e.selectedTheme?detectTheme(e,window.matchMedia(\"(prefers-color-scheme: dark)\")):setTheme(e.context.mainElement,e.selectedTheme):setTheme(e.context.mainElement,\"light\")},capitalizeFirstLetter=e=>e.charAt(0).toUpperCase()+e.slice(1).replace(/\\./,\"\"),getLocaleWeekday=(e,t,n)=>{const a=new Date(`1978-01-0${t+1}T00:00:00.000Z`),l=a.toLocaleString(n,{weekday:\"short\",timeZone:\"UTC\"}),o=a.toLocaleString(n,{weekday:\"long\",timeZone:\"UTC\"});e.context.locale.weekdays.short.push(capitalizeFirstLetter(l)),e.context.locale.weekdays.long.push(capitalizeFirstLetter(o))},getLocaleMonth=(e,t,n)=>{const a=new Date(`1978-${String(t+1).padStart(2,\"0\")}-01T00:00:00.000Z`),l=a.toLocaleString(n,{month:\"short\",timeZone:\"UTC\"}),o=a.toLocaleString(n,{month:\"long\",timeZone:\"UTC\"});e.context.locale.months.short.push(capitalizeFirstLetter(l)),e.context.locale.months.long.push(capitalizeFirstLetter(o))},getLocale=e=>{var t,n,a,l,o,s,i,r;if(!(e.context.locale.weekdays.short[6]&&e.context.locale.weekdays.long[6]&&e.context.locale.months.short[11]&&e.context.locale.months.long[11]))if(\"string\"==typeof e.locale){if(\"string\"==typeof e.locale&&!e.locale.length)throw new Error(errorMessages.notLocale);Array.from({length:7},((t,n)=>getLocaleWeekday(e,n,e.locale))),Array.from({length:12},((t,n)=>getLocaleMonth(e,n,e.locale)))}else{if(!((null==(n=null==(t=e.locale)?void 0:t.weekdays)?void 0:n.short[6])&&(null==(l=null==(a=e.locale)?void 0:a.weekdays)?void 0:l.long[6])&&(null==(s=null==(o=e.locale)?void 0:o.months)?void 0:s.short[11])&&(null==(r=null==(i=e.locale)?void 0:i.months)?void 0:r.long[11])))throw new Error(errorMessages.notLocale);setContext(e,\"locale\",__spreadValues({},e.locale))}},create=e=>{const t={default:()=>{createWeek(e),createDates(e)},multiple:()=>{createWeek(e),createDates(e)},month:()=>createMonths(e),year:()=>createYears(e)};handleTheme(e),getLocale(e),createLayouts(e),visibilityTitle(e),visibilityArrows(e),createTime(e),t[e.context.currentType]()},handleArrowKeys=e=>{const t=t=>{var n;const a=t.target;if(![\"ArrowUp\",\"ArrowDown\",\"ArrowLeft\",\"ArrowRight\"].includes(t.key)||\"button\"!==a.localName)return;const l=Array.from(e.context.mainElement.querySelectorAll('[data-vc=\"calendar\"] button')),o=l.indexOf(a);if(-1===o)return;const s=(i=l[o]).hasAttribute(\"data-vc-date-btn\")?7:i.hasAttribute(\"data-vc-months-month\")?4:i.hasAttribute(\"data-vc-years-year\")?5:1;var i;const r=(0,{ArrowUp:()=>Math.max(0,o-s),ArrowDown:()=>Math.min(l.length-1,o+s),ArrowLeft:()=>Math.max(0,o-1),ArrowRight:()=>Math.min(l.length-1,o+1)}[t.key])();null==(n=l[r])||n.focus()};return e.context.mainElement.addEventListener(\"keydown\",t),()=>e.context.mainElement.removeEventListener(\"keydown\",t)},handleMonth=(e,t)=>{const n=getDate(getDateString(new Date(e.context.selectedYear,e.context.selectedMonth,1)));({prev:()=>n.setMonth(n.getMonth()-e.monthsToSwitch),next:()=>n.setMonth(n.getMonth()+e.monthsToSwitch)})[t](),setContext(e,\"selectedMonth\",n.getMonth()),setContext(e,\"selectedYear\",n.getFullYear()),visibilityTitle(e),visibilityArrows(e),createDates(e)},handleClickArrow=(e,t)=>{const n=t.target.closest(\"[data-vc-arrow]\");if(n){if([\"default\",\"multiple\"].includes(e.context.currentType))handleMonth(e,n.dataset.vcArrow);else if(\"year\"===e.context.currentType&&void 0!==e.context.displayYear){const a={prev:-15,next:15}[n.dataset.vcArrow];setContext(e,\"displayYear\",e.context.displayYear+a),createYears(e,t.target)}e.onClickArrow&&e.onClickArrow(e,t)}},canToggleSelection=e=>void 0===e.enableDateToggle||(\"function\"==typeof e.enableDateToggle?e.enableDateToggle(e):e.enableDateToggle),handleSelectDate=(e,t,n)=>{const a=t.dataset.vcDate,l=t.closest(\"[data-vc-date][data-vc-date-selected]\"),o=canToggleSelection(e);if(l&&!o)return;const s=l?e.context.selectedDates.filter((e=>e!==a)):n?[...e.context.selectedDates,a]:[a];setContext(e,\"selectedDates\",s)},createDateRangeTooltip=(e,t,n)=>{if(!t)return;if(!n)return t.dataset.vcDateRangeTooltip=\"hidden\",void(t.textContent=\"\");const a=e.context.mainElement.getBoundingClientRect(),l=n.getBoundingClientRect();t.style.left=l.left-a.left+l.width/2+\"px\",t.style.top=l.bottom-a.top-l.height+\"px\",t.dataset.vcDateRangeTooltip=\"visible\",t.innerHTML=e.sanitizerHTML(e.onCreateDateRangeTooltip(e,n,t,l,a))},state={self:null,lastDateEl:null,isHovering:!1,rangeMin:void 0,rangeMax:void 0,tooltipEl:null,timeoutId:null},addHoverEffect=(e,t,n)=>{var a,l,o;if(!(null==(l=null==(a=state.self)?void 0:a.context)?void 0:l.selectedDates[0]))return;const s=getDateString(e);(null==(o=state.self.context.disableDates)?void 0:o.includes(s))||(state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${s}\"]`).forEach((e=>e.dataset.vcDateHover=\"\")),t.forEach((e=>e.dataset.vcDateHover=\"first\")),n.forEach((e=>{\"first\"===e.dataset.vcDateHover?e.dataset.vcDateHover=\"first-and-last\":e.dataset.vcDateHover=\"last\"})))},removeHoverEffect=()=>{var e,t;if(!(null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.mainElement))return;state.self.context.mainElement.querySelectorAll(\"[data-vc-date-hover]\").forEach((e=>e.removeAttribute(\"data-vc-date-hover\")))},handleHoverDatesEvent=e=>{var t,n;if(!e||!(null==(n=null==(t=state.self)?void 0:t.context)?void 0:n.selectedDates[0]))return;if(!e.closest('[data-vc=\"dates\"]'))return state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),void removeHoverEffect();const a=e.closest(\"[data-vc-date]\");if(!a||state.lastDateEl===a)return;state.lastDateEl=a,createDateRangeTooltip(state.self,state.tooltipEl,a),removeHoverEffect();const l=a.dataset.vcDate,o=getDate(state.self.context.selectedDates[0]),s=getDate(l),i=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${state.self.context.selectedDates[0]}\"]`),r=state.self.context.mainElement.querySelectorAll(`[data-vc-date=\"${l}\"]`),[c,d]=o<s?[i,r]:[r,i],[u,m]=o<s?[o,s]:[s,o];for(let e=new Date(u);e<=m;e.setDate(e.getDate()+1))addHoverEffect(e,c,d)},handleHoverSelectedDatesRangeEvent=e=>{const t=null==e?void 0:e.closest(\"[data-vc-date-selected]\");if(!t&&state.lastDateEl)return state.lastDateEl=null,void createDateRangeTooltip(state.self,state.tooltipEl,null);t&&state.lastDateEl!==t&&(state.lastDateEl=t,createDateRangeTooltip(state.self,state.tooltipEl,t))},optimizedHoverHandler=e=>t=>{const n=t.target;state.isHovering||(state.isHovering=!0,requestAnimationFrame((()=>{e(n),state.isHovering=!1})))},optimizedHandleHoverDatesEvent=optimizedHoverHandler(handleHoverDatesEvent),optimizedHandleHoverSelectedDatesRangeEvent=optimizedHoverHandler(handleHoverSelectedDatesRangeEvent),handleCancelSelectionDates=e=>{state.self&&\"Escape\"===e.key&&(state.lastDateEl=null,setContext(state.self,\"selectedDates\",[]),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect())},handleMouseLeave=()=>{null!==state.timeoutId&&clearTimeout(state.timeoutId),state.timeoutId=setTimeout((()=>{state.lastDateEl=null,createDateRangeTooltip(state.self,state.tooltipEl,null),removeHoverEffect()}),50)},updateDisabledDates=()=>{var e,t,n,a;if(!(null==(n=null==(t=null==(e=state.self)?void 0:e.context)?void 0:t.selectedDates)?void 0:n[0])||!(null==(a=state.self.context.disableDates)?void 0:a[0]))return;const l=getDate(state.self.context.selectedDates[0]),[o,s]=state.self.context.disableDates.map((e=>getDate(e))).reduce((([e,t],n)=>[l>=n?n:e,l<n&&null===t?n:t]),[null,null]);o&&setContext(state.self,\"displayDateMin\",getDateString(new Date(o.setDate(o.getDate()+1)))),s&&setContext(state.self,\"displayDateMax\",getDateString(new Date(s.setDate(s.getDate()-1))));state.self.disableDatesPast&&!state.self.disableAllDates&&getDate(state.self.context.displayDateMin)<getDate(state.self.context.dateToday)&&setContext(state.self,\"displayDateMin\",state.self.context.dateToday)},handleSelectDateRange=(e,t)=>{state.self=e,state.lastDateEl=t,removeHoverEffect(),e.disableDatesGaps&&(state.rangeMin=state.rangeMin?state.rangeMin:e.context.displayDateMin,state.rangeMax=state.rangeMax?state.rangeMax:e.context.displayDateMax),e.onCreateDateRangeTooltip&&(state.tooltipEl=e.context.mainElement.querySelector(\"[data-vc-date-range-tooltip]\"));const n=null==t?void 0:t.dataset.vcDate;if(n){const t=1===e.context.selectedDates.length&&e.context.selectedDates[0].includes(n),a=t&&!canToggleSelection(e)?[n,n]:t&&canToggleSelection(e)?[]:e.context.selectedDates.length>1?[n]:[...e.context.selectedDates,n];setContext(e,\"selectedDates\",a),e.context.selectedDates.length>1&&e.context.selectedDates.sort(((e,t)=>+new Date(e)-+new Date(t)))}({set:()=>(e.disableDatesGaps&&updateDisabledDates(),createDateRangeTooltip(state.self,state.tooltipEl,t),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.addEventListener(\"keydown\",handleCancelSelectionDates),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates)}),reset:()=>{const[n,a]=[e.context.selectedDates[0],e.context.selectedDates[e.context.selectedDates.length-1]],l=e.context.selectedDates[0]!==e.context.selectedDates[e.context.selectedDates.length-1],o=parseDates([`${n}:${a}`]).filter((t=>!e.context.disableDates.includes(t))),s=l?e.enableEdgeDatesOnly?[n,a]:o:[e.context.selectedDates[0],e.context.selectedDates[0]];if(setContext(e,\"selectedDates\",s),e.disableDatesGaps&&(setContext(e,\"displayDateMin\",state.rangeMin),setContext(e,\"displayDateMax\",state.rangeMax)),state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverDatesEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),state.self.context.mainElement.removeEventListener(\"keydown\",handleCancelSelectionDates),e.onCreateDateRangeTooltip)return e.context.selectedDates[0]||(state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,null)),e.context.selectedDates[0]&&(state.self.context.mainElement.addEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.addEventListener(\"mouseleave\",handleMouseLeave),createDateRangeTooltip(state.self,state.tooltipEl,t)),()=>{state.self.context.mainElement.removeEventListener(\"mousemove\",optimizedHandleHoverSelectedDatesRangeEvent),state.self.context.mainElement.removeEventListener(\"mouseleave\",handleMouseLeave)}}})[1===e.context.selectedDates.length?\"set\":\"reset\"]()},updateDateModifier=e=>{e.context.mainElement.querySelectorAll(\"[data-vc-date]\").forEach((t=>{const n=t.querySelector(\"[data-vc-date-btn]\"),a=t.dataset.vcDate,l=getDate(a).getDay();setDateModifier(e,e.context.selectedYear,t,n,l,a,\"current\")}))},handleClickDate=(e,t)=>{var n;const a=t.target,l=a.closest(\"[data-vc-date-btn]\");if(!e.selectionDatesMode||![\"single\",\"multiple\",\"multiple-ranged\"].includes(e.selectionDatesMode)||!l)return;const o=l.closest(\"[data-vc-date]\");({single:()=>handleSelectDate(e,o,!1),multiple:()=>handleSelectDate(e,o,!0),\"multiple-ranged\":()=>handleSelectDateRange(e,o)})[e.selectionDatesMode](),null==(n=e.context.selectedDates)||n.sort(((e,t)=>+new Date(e)-+new Date(t))),e.onClickDate&&e.onClickDate(e,t),e.inputMode&&e.context.inputElement&&e.context.mainElement&&e.onChangeToInput&&e.onChangeToInput(e,t);const s=a.closest('[data-vc-date-month=\"prev\"]'),i=a.closest('[data-vc-date-month=\"next\"]');({prev:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"prev\"):updateDateModifier(e),next:()=>e.enableMonthChangeOnDayClick?handleMonth(e,\"next\"):updateDateModifier(e),current:()=>updateDateModifier(e)})[s?\"prev\":i?\"next\":\"current\"]()},typeClick=[\"month\",\"year\"],getValue=(e,t,n)=>{const{currentValue:a,columnID:l}=getColumnID(e,t);return\"month\"===e.context.currentType&&l>=0?n-l:\"year\"===e.context.currentType&&e.context.selectedYear!==a?n-1:n},handleMultipleYearSelection=(e,t)=>{const n=getValue(e,\"year\",Number(t.dataset.vcYearsYear)),a=getDate(e.context.dateMin),l=getDate(e.context.dateMax),o=e.context.displayMonthsCount-1,{columnID:s}=getColumnID(e,\"year\"),i=e.context.selectedMonth<a.getMonth()&&n<=a.getFullYear(),r=e.context.selectedMonth>l.getMonth()-o+s&&n>=l.getFullYear(),c=n<a.getFullYear(),d=n>l.getFullYear(),u=i||c?a.getFullYear():r||d?l.getFullYear():n,m=i||c?a.getMonth():r||d?l.getMonth()-o+s:e.context.selectedMonth;setContext(e,\"selectedYear\",u),setContext(e,\"selectedMonth\",m)},handleMultipleMonthSelection=(e,t)=>{const n=t.closest('[data-vc-column=\"month\"]').querySelector('[data-vc=\"year\"]'),a=getValue(e,\"month\",Number(t.dataset.vcMonthsMonth)),l=Number(n.dataset.vcYear),o=getDate(e.context.dateMin),s=getDate(e.context.dateMax),i=a<o.getMonth()&&l<=o.getFullYear(),r=a>s.getMonth()&&l>=s.getFullYear();setContext(e,\"selectedYear\",l),setContext(e,\"selectedMonth\",i?o.getMonth():r?s.getMonth():a)},handleItemClick=(e,t,n,a)=>{var l;({year:()=>{if(\"multiple\"===e.type)return handleMultipleYearSelection(e,a);setContext(e,\"selectedYear\",Number(a.dataset.vcYearsYear))},month:()=>{if(\"multiple\"===e.type)return handleMultipleMonthSelection(e,a);setContext(e,\"selectedMonth\",Number(a.dataset.vcMonthsMonth))}})[n]();({year:()=>{var n;return null==(n=e.onClickYear)?void 0:n.call(e,e,t)},month:()=>{var n;return null==(n=e.onClickMonth)?void 0:n.call(e,e,t)}})[n](),e.context.currentType!==e.type?(setContext(e,\"currentType\",e.type),create(e),null==(l=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||l.focus()):setYearModifier(e,a,n,!0,!0)},handleClickType=(e,t,n)=>{var a;const l=t.target,o=l.closest(`[data-vc=\"${n}\"]`),s={year:()=>createYears(e,l),month:()=>createMonths(e,l)};if(o&&e.onClickTitle&&e.onClickTitle(e,t),o&&e.context.currentType!==n)return s[n]();const i=l.closest(`[data-vc-${n}s-${n}]`);if(i)return handleItemClick(e,t,n,i);const r=l.closest('[data-vc=\"grid\"]'),c=l.closest('[data-vc=\"column\"]');(e.context.currentType===n&&o||\"multiple\"===e.type&&e.context.currentType===n&&r&&!c)&&(setContext(e,\"currentType\",e.type),create(e),null==(a=e.context.mainElement.querySelector(`[data-vc=\"${n}\"]`))||a.focus())},handleClickMonthOrYear=(e,t)=>{const n={month:e.selectionMonthsMode,year:e.selectionYearsMode};typeClick.forEach((a=>{n[a]&&t.target&&handleClickType(e,t,a)}))},handleClickWeekNumber=(e,t)=>{if(!e.enableWeekNumbers||!e.onClickWeekNumber)return;const n=t.target.closest(\"[data-vc-week-number]\"),a=e.context.mainElement.querySelectorAll(\"[data-vc-date-week-number]\");if(!n||!a[0])return;const l=Number(n.innerText),o=Number(n.dataset.vcWeekYear),s=Array.from(a).filter((e=>Number(e.dataset.vcDateWeekNumber)===l));e.onClickWeekNumber(e,l,o,s,t)},handleClickWeekDay=(e,t)=>{if(!e.onClickWeekDay)return;const n=t.target.closest(\"[data-vc-week-day]\"),a=t.target.closest('[data-vc=\"column\"]'),l=a?a.querySelectorAll(\"[data-vc-date-week-day]\"):e.context.mainElement.querySelectorAll(\"[data-vc-date-week-day]\");if(!n||!l[0])return;const o=Number(n.dataset.vcWeekDay),s=Array.from(l).filter((e=>Number(e.dataset.vcDateWeekDay)===o));e.onClickWeekDay(e,o,s,t)},handleClick=e=>{const t=t=>{handleClickArrow(e,t),handleClickWeekDay(e,t),handleClickWeekNumber(e,t),handleClickDate(e,t),handleClickMonthOrYear(e,t)};return e.context.mainElement.addEventListener(\"click\",t),()=>e.context.mainElement.removeEventListener(\"click\",t)},initMonthsCount=e=>{if(\"multiple\"===e.type&&(e.displayMonthsCount<=1||e.displayMonthsCount>12))throw new Error(errorMessages.incorrectMonthsCount);if(\"multiple\"!==e.type&&e.displayMonthsCount>1)throw new Error(errorMessages.incorrectMonthsCount);setContext(e,\"displayMonthsCount\",e.displayMonthsCount?e.displayMonthsCount:\"multiple\"===e.type?2:1)},getLocalDate=()=>{const e=new Date;return new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().substring(0,10)},resolveDate=(e,t)=>\"today\"===e?getLocalDate():e instanceof Date||\"number\"==typeof e||\"string\"==typeof e?parseDates([e])[0]:t,initRange=e=>{var t,n,a;const l=resolveDate(e.dateMin,e.dateMin),o=resolveDate(e.dateMax,e.dateMax),s=resolveDate(e.displayDateMin,l),i=resolveDate(e.displayDateMax,o);setContext(e,\"dateToday\",resolveDate(e.dateToday,e.dateToday)),setContext(e,\"displayDateMin\",s?getDate(l)>=getDate(s)?l:s:l),setContext(e,\"displayDateMax\",i?getDate(o)<=getDate(i)?o:i:o);const r=e.disableDatesPast&&!e.disableAllDates&&getDate(s)<getDate(e.context.dateToday);setContext(e,\"displayDateMin\",r||e.disableAllDates?e.context.dateToday:s),setContext(e,\"displayDateMax\",e.disableAllDates?e.context.dateToday:i),setContext(e,\"disableDates\",e.disableDates[0]&&!e.disableAllDates?parseDates(e.disableDates):e.disableAllDates?[e.context.displayDateMin]:[]),e.context.disableDates.length>1&&e.context.disableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),setContext(e,\"enableDates\",e.enableDates[0]?parseDates(e.enableDates):[]),(null==(t=e.context.enableDates)?void 0:t[0])&&(null==(n=e.context.disableDates)?void 0:n[0])&&setContext(e,\"disableDates\",e.context.disableDates.filter((t=>!e.context.enableDates.includes(t)))),e.context.enableDates.length>1&&e.context.enableDates.sort(((e,t)=>+new Date(e)-+new Date(t))),(null==(a=e.context.enableDates)?void 0:a[0])&&e.disableAllDates&&(setContext(e,\"displayDateMin\",e.context.enableDates[0]),setContext(e,\"displayDateMax\",e.context.enableDates[e.context.enableDates.length-1])),setContext(e,\"dateMin\",e.displayDisabledDates?l:e.context.displayDateMin),setContext(e,\"dateMax\",e.displayDisabledDates?o:e.context.displayDateMax)},initSelectedDates=e=>{var t;setContext(e,\"selectedDates\",(null==(t=e.selectedDates)?void 0:t[0])?parseDates(e.selectedDates):[])},displayClosestValidDate=e=>{const t=t=>{const n=new Date(t);setInitialContext(e,n.getMonth(),n.getFullYear())};if(e.displayDateMin&&\"today\"!==e.displayDateMin&&(n=e.displayDateMin,a=new Date,new Date(n).getTime()>a.getTime())){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMin;return t(getDate(resolveDate(n,e.displayDateMin))),!0}var n,a;if(e.displayDateMax&&\"today\"!==e.displayDateMax&&((e,t)=>new Date(e).getTime()<t.getTime())(e.displayDateMax,new Date)){const n=e.selectedDates.length&&e.selectedDates[0]?parseDates(e.selectedDates)[0]:e.displayDateMax;return t(getDate(resolveDate(n,e.displayDateMax))),!0}return!1},setInitialContext=(e,t,n)=>{setContext(e,\"selectedMonth\",t),setContext(e,\"selectedYear\",n),setContext(e,\"displayYear\",n)},initSelectedMonthYear=e=>{var t;if(e.enableJumpToSelectedDate&&(null==(t=e.selectedDates)?void 0:t[0])&&void 0===e.selectedMonth&&void 0===e.selectedYear){const t=getDate(parseDates(e.selectedDates)[0]);return void setInitialContext(e,t.getMonth(),t.getFullYear())}if(displayClosestValidDate(e))return;const n=void 0!==e.selectedMonth&&Number(e.selectedMonth)>=0&&Number(e.selectedMonth)<12,a=void 0!==e.selectedYear&&Number(e.selectedYear)>=0&&Number(e.selectedYear)<=9999;setInitialContext(e,n?Number(e.selectedMonth):getDate(e.context.dateToday).getMonth(),a?Number(e.selectedYear):getDate(e.context.dateToday).getFullYear())},initTime=e=>{var t,n,a;if(!e.selectionTimeMode)return;if(![12,24].includes(e.selectionTimeMode))throw new Error(errorMessages.incorrectTime);const l=12===e.selectionTimeMode,o=l?/^(0[1-9]|1[0-2]):([0-5][0-9]) ?(AM|PM)?$/i:/^([0-1]?[0-9]|2[0-3]):([0-5][0-9])$/;let[s,i,r]=null!=(a=null==(n=null==(t=e.selectedTime)?void 0:t.match(o))?void 0:n.slice(1))?a:[];s?l&&!r&&(r=\"AM\"):(s=l?transformTime12(String(e.timeMinHour)):String(e.timeMinHour),i=String(e.timeMinMinute),r=l?Number(transformTime12(String(e.timeMinHour)))>=12?\"PM\":\"AM\":null),setContext(e,\"selectedHours\",s.padStart(2,\"0\")),setContext(e,\"selectedMinutes\",i.padStart(2,\"0\")),setContext(e,\"selectedKeeping\",r),setContext(e,\"selectedTime\",`${e.context.selectedHours}:${e.context.selectedMinutes}${r?` ${r}`:\"\"}`)},initAllVariables=e=>{setContext(e,\"currentType\",e.type),initMonthsCount(e),initRange(e),initSelectedMonthYear(e),initSelectedDates(e),initTime(e)},reset=(e,{year:t,month:n,dates:a,time:l,locale:o},s=!0)=>{var i;const r={year:e.selectedYear,month:e.selectedMonth,dates:e.selectedDates,time:e.selectedTime};if(e.selectedYear=t?r.year:e.context.selectedYear,e.selectedMonth=n?r.month:e.context.selectedMonth,e.selectedTime=l?r.time:e.context.selectedTime,e.selectedDates=\"only-first\"===a&&(null==(i=e.context.selectedDates)?void 0:i[0])?[e.context.selectedDates[0]]:!0===a?r.dates:e.context.selectedDates,o){setContext(e,\"locale\",{months:{short:[],long:[]},weekdays:{short:[],long:[]}})}initAllVariables(e),s&&create(e),e.selectedYear=r.year,e.selectedMonth=r.month,e.selectedDates=r.dates,e.selectedTime=r.time,\"multiple-ranged\"===e.selectionDatesMode&&a&&handleSelectDateRange(e,null)},createToInput=e=>{const t=document.createElement(\"div\");return t.className=e.styles.calendar,t.dataset.vc=\"calendar\",t.dataset.vcInput=\"\",t.dataset.vcCalendarHidden=\"\",setContext(e,\"inputModeInit\",!0),setContext(e,\"isShowInInputMode\",!1),setContext(e,\"mainElement\",t),document.body.appendChild(e.context.mainElement),reset(e,{year:!0,month:!0,dates:!0,time:!0,locale:!0}),setTimeout((()=>show(e))),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e)},handleInput=e=>{setContext(e,\"inputElement\",e.context.mainElement);const t=()=>{e.context.inputModeInit?setTimeout((()=>show(e))):createToInput(e)};return e.context.inputElement.addEventListener(\"click\",t),e.context.inputElement.addEventListener(\"focus\",t),()=>{e.context.inputElement.removeEventListener(\"click\",t),e.context.inputElement.removeEventListener(\"focus\",t)}},init=e=>(setContext(e,\"originalElement\",e.context.mainElement.cloneNode(!0)),setContext(e,\"isInit\",!0),e.inputMode?handleInput(e):(initAllVariables(e),create(e),e.onInit&&e.onInit(e),handleArrowKeys(e),handleClick(e))),update=(e,t)=>{if(!e.context.isInit)throw new Error(errorMessages.notInit);reset(e,__spreadValues(__spreadValues({},{year:!0,month:!0,dates:!0,time:!0,locale:!0}),t),!(e.inputMode&&!e.context.inputModeInit)),e.onUpdate&&e.onUpdate(e)},replaceProperties=(e,t)=>{const n=Object.keys(t);for(let a=0;a<n.length;a++){const l=n[a];\"object\"!=typeof e[l]||\"object\"!=typeof t[l]||t[l]instanceof Date||Array.isArray(t[l])?void 0!==t[l]&&(e[l]=t[l]):replaceProperties(e[l],t[l])}},set=(e,t,n)=>{replaceProperties(e,t),e.context.isInit&&update(e,n)};function findBestPickerPosition(e,t){const n=\"left\";if(!t||!e)return n;const{canShow:a,parentPositions:l}=getAvailablePosition(e,t),o=a.left&&a.right;return(o&&a.bottom?\"center\":o&&a.top?[\"top\",\"center\"]:Array.isArray(l)?[\"bottom\"===l[0]?\"top\":\"bottom\",...l.slice(1)]:l)||n}const setPosition=(e,t,n)=>{if(!e)return;const a=\"auto\"===n?findBestPickerPosition(e,t):n,l={top:-t.offsetHeight,bottom:e.offsetHeight,left:0,center:e.offsetWidth/2-t.offsetWidth/2,right:e.offsetWidth-t.offsetWidth},o=Array.isArray(a)?a[0]:\"bottom\",s=Array.isArray(a)?a[1]:a;t.dataset.vcPosition=o;const{top:i,left:r}=getOffset(e),c=i+l[o];let d=r+l[s];const{vw:u}=getViewportDimensions();if(d+t.clientWidth>u){const e=window.innerWidth-document.body.clientWidth;d=u-t.clientWidth-e}else d<0&&(d=0);Object.assign(t.style,{left:`${d}px`,top:`${c}px`})},show=e=>{if(e.context.isShowInInputMode)return;if(!e.context.currentType)return void e.context.mainElement.click();setContext(e,\"cleanupHandlers\",[]),setContext(e,\"isShowInInputMode\",!0),setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput),e.context.mainElement.removeAttribute(\"data-vc-calendar-hidden\");const t=()=>{setPosition(e.context.inputElement,e.context.mainElement,e.positionToInput)};window.addEventListener(\"resize\",t),e.context.cleanupHandlers.push((()=>window.removeEventListener(\"resize\",t)));const n=t=>{\"Escape\"===t.key&&hide(e)};document.addEventListener(\"keydown\",n),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"keydown\",n)));const a=t=>{t.target===e.context.inputElement||e.context.mainElement.contains(t.target)||hide(e)};document.addEventListener(\"click\",a,{capture:!0}),e.context.cleanupHandlers.push((()=>document.removeEventListener(\"click\",a,{capture:!0}))),e.onShow&&e.onShow(e)},labels={application:\"Calendar\",navigation:\"Calendar Navigation\",arrowNext:{month:\"Next month\",year:\"Next list of years\"},arrowPrev:{month:\"Previous month\",year:\"Previous list of years\"},month:\"Select month, current selected month:\",months:\"List of months\",year:\"Select year, current selected year:\",years:\"List of years\",week:\"Days of the week\",weekNumber:\"Numbers of weeks in a year\",dates:\"Dates in the current month\",selectingTime:\"Selecting a time \",inputHour:\"Hours\",inputMinute:\"Minutes\",rangeHour:\"Slider for selecting hours\",rangeMinute:\"Slider for selecting minutes\",btnKeeping:\"Switch AM/PM, current position:\"},styles={calendar:\"vc\",controls:\"vc-controls\",grid:\"vc-grid\",column:\"vc-column\",header:\"vc-header\",headerContent:\"vc-header__content\",month:\"vc-month\",year:\"vc-year\",arrowPrev:\"vc-arrow vc-arrow_prev\",arrowNext:\"vc-arrow vc-arrow_next\",wrapper:\"vc-wrapper\",content:\"vc-content\",months:\"vc-months\",monthsMonth:\"vc-months__month\",years:\"vc-years\",yearsYear:\"vc-years__year\",week:\"vc-week\",weekDay:\"vc-week__day\",weekNumbers:\"vc-week-numbers\",weekNumbersTitle:\"vc-week-numbers__title\",weekNumbersContent:\"vc-week-numbers__content\",weekNumber:\"vc-week-number\",dates:\"vc-dates\",date:\"vc-date\",dateBtn:\"vc-date__btn\",datePopup:\"vc-date__popup\",dateRangeTooltip:\"vc-date-range-tooltip\",time:\"vc-time\",timeContent:\"vc-time__content\",timeHour:\"vc-time__hour\",timeMinute:\"vc-time__minute\",timeKeeping:\"vc-time__keeping\",timeRanges:\"vc-time__ranges\",timeRange:\"vc-time__range\"};class OptionsCalendar{constructor(){__publicField(this,\"type\",\"default\"),__publicField(this,\"inputMode\",!1),__publicField(this,\"positionToInput\",\"left\"),__publicField(this,\"firstWeekday\",1),__publicField(this,\"monthsToSwitch\",1),__publicField(this,\"themeAttrDetect\",\"html[data-theme]\"),__publicField(this,\"locale\",\"en\"),__publicField(this,\"dateToday\",\"today\"),__publicField(this,\"dateMin\",\"1970-01-01\"),__publicField(this,\"dateMax\",\"2470-12-31\"),__publicField(this,\"displayDateMin\"),__publicField(this,\"displayDateMax\"),__publicField(this,\"displayDatesOutside\",!0),__publicField(this,\"displayDisabledDates\",!1),__publicField(this,\"displayMonthsCount\"),__publicField(this,\"disableDates\",[]),__publicField(this,\"disableAllDates\",!1),__publicField(this,\"disableDatesPast\",!1),__publicField(this,\"disableDatesGaps\",!1),__publicField(this,\"disableWeekdays\",[]),__publicField(this,\"disableToday\",!1),__publicField(this,\"enableDates\",[]),__publicField(this,\"enableEdgeDatesOnly\",!0),__publicField(this,\"enableDateToggle\",!0),__publicField(this,\"enableWeekNumbers\",!1),__publicField(this,\"enableMonthChangeOnDayClick\",!0),__publicField(this,\"enableJumpToSelectedDate\",!1),__publicField(this,\"selectionDatesMode\",\"single\"),__publicField(this,\"selectionMonthsMode\",!0),__publicField(this,\"selectionYearsMode\",!0),__publicField(this,\"selectionTimeMode\",!1),__publicField(this,\"selectedDates\",[]),__publicField(this,\"selectedMonth\"),__publicField(this,\"selectedYear\"),__publicField(this,\"selectedHolidays\",[]),__publicField(this,\"selectedWeekends\",[0,6]),__publicField(this,\"selectedTime\"),__publicField(this,\"selectedTheme\",\"system\"),__publicField(this,\"timeMinHour\",0),__publicField(this,\"timeMaxHour\",23),__publicField(this,\"timeMinMinute\",0),__publicField(this,\"timeMaxMinute\",59),__publicField(this,\"timeControls\",\"all\"),__publicField(this,\"timeStepHour\",1),__publicField(this,\"timeStepMinute\",1),__publicField(this,\"sanitizerHTML\",(e=>e)),__publicField(this,\"onClickDate\"),__publicField(this,\"onClickWeekDay\"),__publicField(this,\"onClickWeekNumber\"),__publicField(this,\"onClickTitle\"),__publicField(this,\"onClickMonth\"),__publicField(this,\"onClickYear\"),__publicField(this,\"onClickArrow\"),__publicField(this,\"onChangeTime\"),__publicField(this,\"onChangeToInput\"),__publicField(this,\"onCreateDateRangeTooltip\"),__publicField(this,\"onCreateDateEls\"),__publicField(this,\"onCreateMonthEls\"),__publicField(this,\"onCreateYearEls\"),__publicField(this,\"onInit\"),__publicField(this,\"onUpdate\"),__publicField(this,\"onDestroy\"),__publicField(this,\"onShow\"),__publicField(this,\"onHide\"),__publicField(this,\"popups\",{}),__publicField(this,\"labels\",__spreadValues({},labels)),__publicField(this,\"layouts\",{default:\"\",multiple:\"\",month:\"\",year:\"\"}),__publicField(this,\"styles\",__spreadValues({},styles))}}const _Calendar=class e extends OptionsCalendar{constructor(t,n){var a;super(),__publicField(this,\"init\",(()=>init(this))),__publicField(this,\"update\",(e=>update(this,e))),__publicField(this,\"destroy\",(()=>destroy(this))),__publicField(this,\"show\",(()=>show(this))),__publicField(this,\"hide\",(()=>hide(this))),__publicField(this,\"set\",((e,t)=>set(this,e,t))),__publicField(this,\"context\"),this.context=__spreadProps(__spreadValues({},this.context),{locale:{months:{short:[],long:[]},weekdays:{short:[],long:[]}}}),setContext(this,\"mainElement\",\"string\"==typeof t?null!=(a=e.memoizedElements.get(t))?a:this.queryAndMemoize(t):t),n&&replaceProperties(this,n)}queryAndMemoize(t){const n=document.querySelector(t);if(!n)throw new Error(errorMessages.notFoundSelector(t));return e.memoizedElements.set(t,n),n}};__publicField(_Calendar,\"memoizedElements\",new Map);let Calendar=_Calendar;export{Calendar};","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n  x: v,\n  y: v\n});\nconst oppositeSideMap = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n  start: 'end',\n  end: 'start'\n};\nfunction clamp(start, value, end) {\n  return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n  return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n  return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n  return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n  return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n  return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n  return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n  if (rtl === void 0) {\n    rtl = false;\n  }\n  const alignment = getAlignment(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const length = getAxisLength(alignmentAxis);\n  let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n  if (rects.reference[length] > rects.floating[length]) {\n    mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n  }\n  return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n  const oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n  switch (side) {\n    case 'top':\n    case 'bottom':\n      if (rtl) return isStart ? rlPlacement : lrPlacement;\n      return isStart ? lrPlacement : rlPlacement;\n    case 'left':\n    case 'right':\n      return isStart ? tbPlacement : btPlacement;\n    default:\n      return [];\n  }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n  const alignment = getAlignment(placement);\n  let list = getSideList(getSide(placement), direction === 'start', rtl);\n  if (alignment) {\n    list = list.map(side => side + \"-\" + alignment);\n    if (flipAlignment) {\n      list = list.concat(list.map(getOppositeAlignmentPlacement));\n    }\n  }\n  return list;\n}\nfunction getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0,\n    ...padding\n  };\n}\nfunction getPaddingObject(padding) {\n  return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n    top: padding,\n    right: padding,\n    bottom: padding,\n    left: padding\n  };\n}\nfunction rectToClientRect(rect) {\n  const {\n    x,\n    y,\n    width,\n    height\n  } = rect;\n  return {\n    width,\n    height,\n    top: y,\n    left: x,\n    right: x + width,\n    bottom: y + height,\n    x,\n    y\n  };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n  let {\n    reference,\n    floating\n  } = _ref;\n  const sideAxis = getSideAxis(placement);\n  const alignmentAxis = getAlignmentAxis(placement);\n  const alignLength = getAxisLength(alignmentAxis);\n  const side = getSide(placement);\n  const isVertical = sideAxis === 'y';\n  const commonX = reference.x + reference.width / 2 - floating.width / 2;\n  const commonY = reference.y + reference.height / 2 - floating.height / 2;\n  const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n  let coords;\n  switch (side) {\n    case 'top':\n      coords = {\n        x: commonX,\n        y: reference.y - floating.height\n      };\n      break;\n    case 'bottom':\n      coords = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n    case 'right':\n      coords = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n    case 'left':\n      coords = {\n        x: reference.x - floating.width,\n        y: commonY\n      };\n      break;\n    default:\n      coords = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n  switch (getAlignment(placement)) {\n    case 'start':\n      coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n    case 'end':\n      coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n      break;\n  }\n  return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n  const {\n    placement = 'bottom',\n    strategy = 'absolute',\n    middleware = [],\n    platform\n  } = config;\n  const validMiddleware = middleware.filter(Boolean);\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n  let rects = await platform.getElementRects({\n    reference,\n    floating,\n    strategy\n  });\n  let {\n    x,\n    y\n  } = computeCoordsFromPlacement(rects, placement, rtl);\n  let statefulPlacement = placement;\n  let middlewareData = {};\n  let resetCount = 0;\n  for (let i = 0; i < validMiddleware.length; i++) {\n    const {\n      name,\n      fn\n    } = validMiddleware[i];\n    const {\n      x: nextX,\n      y: nextY,\n      data,\n      reset\n    } = await fn({\n      x,\n      y,\n      initialPlacement: placement,\n      placement: statefulPlacement,\n      strategy,\n      middlewareData,\n      rects,\n      platform,\n      elements: {\n        reference,\n        floating\n      }\n    });\n    x = nextX != null ? nextX : x;\n    y = nextY != null ? nextY : y;\n    middlewareData = {\n      ...middlewareData,\n      [name]: {\n        ...middlewareData[name],\n        ...data\n      }\n    };\n    if (reset && resetCount <= 50) {\n      resetCount++;\n      if (typeof reset === 'object') {\n        if (reset.placement) {\n          statefulPlacement = reset.placement;\n        }\n        if (reset.rects) {\n          rects = reset.rects === true ? await platform.getElementRects({\n            reference,\n            floating,\n            strategy\n          }) : reset.rects;\n        }\n        ({\n          x,\n          y\n        } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n      }\n      i = -1;\n    }\n  }\n  return {\n    x,\n    y,\n    placement: statefulPlacement,\n    strategy,\n    middlewareData\n  };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n  var _await$platform$isEle;\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    x,\n    y,\n    platform,\n    rects,\n    elements,\n    strategy\n  } = state;\n  const {\n    boundary = 'clippingAncestors',\n    rootBoundary = 'viewport',\n    elementContext = 'floating',\n    altBoundary = false,\n    padding = 0\n  } = evaluate(options, state);\n  const paddingObject = getPaddingObject(padding);\n  const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n  const element = elements[altBoundary ? altContext : elementContext];\n  const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n    element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n    boundary,\n    rootBoundary,\n    strategy\n  }));\n  const rect = elementContext === 'floating' ? {\n    x,\n    y,\n    width: rects.floating.width,\n    height: rects.floating.height\n  } : rects.reference;\n  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n    x: 1,\n    y: 1\n  } : {\n    x: 1,\n    y: 1\n  };\n  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  }) : rect);\n  return {\n    top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n    bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n    left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n    right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n  };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n  name: 'arrow',\n  options,\n  async fn(state) {\n    const {\n      x,\n      y,\n      placement,\n      rects,\n      platform,\n      elements,\n      middlewareData\n    } = state;\n    // Since `element` is required, we don't Partial<> the type.\n    const {\n      element,\n      padding = 0\n    } = evaluate(options, state) || {};\n    if (element == null) {\n      return {};\n    }\n    const paddingObject = getPaddingObject(padding);\n    const coords = {\n      x,\n      y\n    };\n    const axis = getAlignmentAxis(placement);\n    const length = getAxisLength(axis);\n    const arrowDimensions = await platform.getDimensions(element);\n    const isYAxis = axis === 'y';\n    const minProp = isYAxis ? 'top' : 'left';\n    const maxProp = isYAxis ? 'bottom' : 'right';\n    const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n    const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n    const startDiff = coords[axis] - rects.reference[axis];\n    const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n    let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n    // DOM platform can return `window` as the `offsetParent`.\n    if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n      clientSize = elements.floating[clientProp] || rects.floating[length];\n    }\n    const centerToReference = endDiff / 2 - startDiff / 2;\n\n    // If the padding is large enough that it causes the arrow to no longer be\n    // centered, modify the padding so that it is centered.\n    const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n    const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n    const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n    // Make sure the arrow doesn't overflow the floating element if the center\n    // point is outside the floating element's bounds.\n    const min$1 = minPadding;\n    const max = clientSize - arrowDimensions[length] - maxPadding;\n    const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n    const offset = clamp(min$1, center, max);\n\n    // If the reference is small enough that the arrow's padding causes it to\n    // to point to nothing for an aligned placement, adjust the offset of the\n    // floating element itself. To ensure `shift()` continues to take action,\n    // a single reset is performed when this is true.\n    const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n    const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n    return {\n      [axis]: coords[axis] + alignmentOffset,\n      data: {\n        [axis]: offset,\n        centerOffset: center - offset - alignmentOffset,\n        ...(shouldAddOffset && {\n          alignmentOffset\n        })\n      },\n      reset: shouldAddOffset\n    };\n  }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n  const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n  return allowedPlacementsSortedByAlignment.filter(placement => {\n    if (alignment) {\n      return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n    }\n    return true;\n  });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'autoPlacement',\n    options,\n    async fn(state) {\n      var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n      const {\n        rects,\n        middlewareData,\n        placement,\n        platform,\n        elements\n      } = state;\n      const {\n        crossAxis = false,\n        alignment,\n        allowedPlacements = placements,\n        autoAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n      const currentPlacement = placements$1[currentIndex];\n      if (currentPlacement == null) {\n        return {};\n      }\n      const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n      // Make `computeCoords` start from the right place.\n      if (placement !== currentPlacement) {\n        return {\n          reset: {\n            placement: placements$1[0]\n          }\n        };\n      }\n      const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n      const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n        placement: currentPlacement,\n        overflows: currentOverflows\n      }];\n      const nextPlacement = placements$1[currentIndex + 1];\n\n      // There are more placements to check.\n      if (nextPlacement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: nextPlacement\n          }\n        };\n      }\n      const placementsSortedByMostSpace = allOverflows.map(d => {\n        const alignment = getAlignment(d.placement);\n        return [d.placement, alignment && crossAxis ?\n        // Check along the mainAxis and main crossAxis side.\n        d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n        // Check only the mainAxis.\n        d.overflows[0], d.overflows];\n      }).sort((a, b) => a[1] - b[1]);\n      const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n      // Aligned placements should not check their opposite crossAxis\n      // side.\n      getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n      const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n      if (resetPlacement !== placement) {\n        return {\n          data: {\n            index: currentIndex + 1,\n            overflows: allOverflows\n          },\n          reset: {\n            placement: resetPlacement\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'flip',\n    options,\n    async fn(state) {\n      var _middlewareData$arrow, _middlewareData$flip;\n      const {\n        placement,\n        middlewareData,\n        rects,\n        initialPlacement,\n        platform,\n        elements\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true,\n        fallbackPlacements: specifiedFallbackPlacements,\n        fallbackStrategy = 'bestFit',\n        fallbackAxisSideDirection = 'none',\n        flipAlignment = true,\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n\n      // If a reset by the arrow was caused due to an alignment offset being\n      // added, we should skip any logic now since `flip()` has already done its\n      // work.\n      // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n      if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      const side = getSide(placement);\n      const initialSideAxis = getSideAxis(initialPlacement);\n      const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n      const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n      const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n      const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n      if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n        fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n      }\n      const placements = [initialPlacement, ...fallbackPlacements];\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const overflows = [];\n      let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n      if (checkMainAxis) {\n        overflows.push(overflow[side]);\n      }\n      if (checkCrossAxis) {\n        const sides = getAlignmentSides(placement, rects, rtl);\n        overflows.push(overflow[sides[0]], overflow[sides[1]]);\n      }\n      overflowsData = [...overflowsData, {\n        placement,\n        overflows\n      }];\n\n      // One or more sides is overflowing.\n      if (!overflows.every(side => side <= 0)) {\n        var _middlewareData$flip2, _overflowsData$filter;\n        const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n        const nextPlacement = placements[nextIndex];\n        if (nextPlacement) {\n          const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n          if (!ignoreCrossAxisOverflow ||\n          // We leave the current main axis only if every placement on that axis\n          // overflows the main axis.\n          overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n            // Try next placement and re-run the lifecycle.\n            return {\n              data: {\n                index: nextIndex,\n                overflows: overflowsData\n              },\n              reset: {\n                placement: nextPlacement\n              }\n            };\n          }\n        }\n\n        // First, find the candidates that fit on the mainAxis side of overflow,\n        // then find the placement that fits the best on the main crossAxis side.\n        let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n        // Otherwise fallback.\n        if (!resetPlacement) {\n          switch (fallbackStrategy) {\n            case 'bestFit':\n              {\n                var _overflowsData$filter2;\n                const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n                  if (hasFallbackAxisSideDirection) {\n                    const currentSideAxis = getSideAxis(d.placement);\n                    return currentSideAxis === initialSideAxis ||\n                    // Create a bias to the `y` side axis due to horizontal\n                    // reading directions favoring greater width.\n                    currentSideAxis === 'y';\n                  }\n                  return true;\n                }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n                if (placement) {\n                  resetPlacement = placement;\n                }\n                break;\n              }\n            case 'initialPlacement':\n              resetPlacement = initialPlacement;\n              break;\n          }\n        }\n        if (placement !== resetPlacement) {\n          return {\n            reset: {\n              placement: resetPlacement\n            }\n          };\n        }\n      }\n      return {};\n    }\n  };\n};\n\nfunction getSideOffsets(overflow, rect) {\n  return {\n    top: overflow.top - rect.height,\n    right: overflow.right - rect.width,\n    bottom: overflow.bottom - rect.height,\n    left: overflow.left - rect.width\n  };\n}\nfunction isAnySideFullyClipped(overflow) {\n  return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'hide',\n    options,\n    async fn(state) {\n      const {\n        rects\n      } = state;\n      const {\n        strategy = 'referenceHidden',\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      switch (strategy) {\n        case 'referenceHidden':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              elementContext: 'reference'\n            });\n            const offsets = getSideOffsets(overflow, rects.reference);\n            return {\n              data: {\n                referenceHiddenOffsets: offsets,\n                referenceHidden: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        case 'escaped':\n          {\n            const overflow = await detectOverflow(state, {\n              ...detectOverflowOptions,\n              altBoundary: true\n            });\n            const offsets = getSideOffsets(overflow, rects.floating);\n            return {\n              data: {\n                escapedOffsets: offsets,\n                escaped: isAnySideFullyClipped(offsets)\n              }\n            };\n          }\n        default:\n          {\n            return {};\n          }\n      }\n    }\n  };\n};\n\nfunction getBoundingRect(rects) {\n  const minX = min(...rects.map(rect => rect.left));\n  const minY = min(...rects.map(rect => rect.top));\n  const maxX = max(...rects.map(rect => rect.right));\n  const maxY = max(...rects.map(rect => rect.bottom));\n  return {\n    x: minX,\n    y: minY,\n    width: maxX - minX,\n    height: maxY - minY\n  };\n}\nfunction getRectsByLine(rects) {\n  const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n  const groups = [];\n  let prevRect = null;\n  for (let i = 0; i < sortedRects.length; i++) {\n    const rect = sortedRects[i];\n    if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n      groups.push([rect]);\n    } else {\n      groups[groups.length - 1].push(rect);\n    }\n    prevRect = rect;\n  }\n  return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'inline',\n    options,\n    async fn(state) {\n      const {\n        placement,\n        elements,\n        rects,\n        platform,\n        strategy\n      } = state;\n      // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n      // ClientRect's bounds, despite the event listener being triggered. A\n      // padding of 2 seems to handle this issue.\n      const {\n        padding = 2,\n        x,\n        y\n      } = evaluate(options, state);\n      const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n      const clientRects = getRectsByLine(nativeClientRects);\n      const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n      const paddingObject = getPaddingObject(padding);\n      function getBoundingClientRect() {\n        // There are two rects and they are disjoined.\n        if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n          // Find the first rect in which the point is fully inside.\n          return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n        }\n\n        // There are 2 or more connected rects.\n        if (clientRects.length >= 2) {\n          if (getSideAxis(placement) === 'y') {\n            const firstRect = clientRects[0];\n            const lastRect = clientRects[clientRects.length - 1];\n            const isTop = getSide(placement) === 'top';\n            const top = firstRect.top;\n            const bottom = lastRect.bottom;\n            const left = isTop ? firstRect.left : lastRect.left;\n            const right = isTop ? firstRect.right : lastRect.right;\n            const width = right - left;\n            const height = bottom - top;\n            return {\n              top,\n              bottom,\n              left,\n              right,\n              width,\n              height,\n              x: left,\n              y: top\n            };\n          }\n          const isLeftSide = getSide(placement) === 'left';\n          const maxRight = max(...clientRects.map(rect => rect.right));\n          const minLeft = min(...clientRects.map(rect => rect.left));\n          const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n          const top = measureRects[0].top;\n          const bottom = measureRects[measureRects.length - 1].bottom;\n          const left = minLeft;\n          const right = maxRight;\n          const width = right - left;\n          const height = bottom - top;\n          return {\n            top,\n            bottom,\n            left,\n            right,\n            width,\n            height,\n            x: left,\n            y: top\n          };\n        }\n        return fallback;\n      }\n      const resetRects = await platform.getElementRects({\n        reference: {\n          getBoundingClientRect\n        },\n        floating: elements.floating,\n        strategy\n      });\n      if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n        return {\n          reset: {\n            rects: resetRects\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n  const {\n    placement,\n    platform,\n    elements\n  } = state;\n  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n  const side = getSide(placement);\n  const alignment = getAlignment(placement);\n  const isVertical = getSideAxis(placement) === 'y';\n  const mainAxisMulti = originSides.has(side) ? -1 : 1;\n  const crossAxisMulti = rtl && isVertical ? -1 : 1;\n  const rawValue = evaluate(options, state);\n\n  // eslint-disable-next-line prefer-const\n  let {\n    mainAxis,\n    crossAxis,\n    alignmentAxis\n  } = typeof rawValue === 'number' ? {\n    mainAxis: rawValue,\n    crossAxis: 0,\n    alignmentAxis: null\n  } : {\n    mainAxis: rawValue.mainAxis || 0,\n    crossAxis: rawValue.crossAxis || 0,\n    alignmentAxis: rawValue.alignmentAxis\n  };\n  if (alignment && typeof alignmentAxis === 'number') {\n    crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n  }\n  return isVertical ? {\n    x: crossAxis * crossAxisMulti,\n    y: mainAxis * mainAxisMulti\n  } : {\n    x: mainAxis * mainAxisMulti,\n    y: crossAxis * crossAxisMulti\n  };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n  if (options === void 0) {\n    options = 0;\n  }\n  return {\n    name: 'offset',\n    options,\n    async fn(state) {\n      var _middlewareData$offse, _middlewareData$arrow;\n      const {\n        x,\n        y,\n        placement,\n        middlewareData\n      } = state;\n      const diffCoords = await convertValueToCoords(state, options);\n\n      // If the placement is the same and the arrow caused an alignment offset\n      // then we don't need to change the positioning coordinates.\n      if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n        return {};\n      }\n      return {\n        x: x + diffCoords.x,\n        y: y + diffCoords.y,\n        data: {\n          ...diffCoords,\n          placement\n        }\n      };\n    }\n  };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'shift',\n    options,\n    async fn(state) {\n      const {\n        x,\n        y,\n        placement\n      } = state;\n      const {\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = false,\n        limiter = {\n          fn: _ref => {\n            let {\n              x,\n              y\n            } = _ref;\n            return {\n              x,\n              y\n            };\n          }\n        },\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const crossAxis = getSideAxis(getSide(placement));\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      if (checkMainAxis) {\n        const minSide = mainAxis === 'y' ? 'top' : 'left';\n        const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n        const min = mainAxisCoord + overflow[minSide];\n        const max = mainAxisCoord - overflow[maxSide];\n        mainAxisCoord = clamp(min, mainAxisCoord, max);\n      }\n      if (checkCrossAxis) {\n        const minSide = crossAxis === 'y' ? 'top' : 'left';\n        const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n        const min = crossAxisCoord + overflow[minSide];\n        const max = crossAxisCoord - overflow[maxSide];\n        crossAxisCoord = clamp(min, crossAxisCoord, max);\n      }\n      const limitedCoords = limiter.fn({\n        ...state,\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      });\n      return {\n        ...limitedCoords,\n        data: {\n          x: limitedCoords.x - x,\n          y: limitedCoords.y - y,\n          enabled: {\n            [mainAxis]: checkMainAxis,\n            [crossAxis]: checkCrossAxis\n          }\n        }\n      };\n    }\n  };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    options,\n    fn(state) {\n      const {\n        x,\n        y,\n        placement,\n        rects,\n        middlewareData\n      } = state;\n      const {\n        offset = 0,\n        mainAxis: checkMainAxis = true,\n        crossAxis: checkCrossAxis = true\n      } = evaluate(options, state);\n      const coords = {\n        x,\n        y\n      };\n      const crossAxis = getSideAxis(placement);\n      const mainAxis = getOppositeAxis(crossAxis);\n      let mainAxisCoord = coords[mainAxis];\n      let crossAxisCoord = coords[crossAxis];\n      const rawOffset = evaluate(offset, state);\n      const computedOffset = typeof rawOffset === 'number' ? {\n        mainAxis: rawOffset,\n        crossAxis: 0\n      } : {\n        mainAxis: 0,\n        crossAxis: 0,\n        ...rawOffset\n      };\n      if (checkMainAxis) {\n        const len = mainAxis === 'y' ? 'height' : 'width';\n        const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n        const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n        if (mainAxisCoord < limitMin) {\n          mainAxisCoord = limitMin;\n        } else if (mainAxisCoord > limitMax) {\n          mainAxisCoord = limitMax;\n        }\n      }\n      if (checkCrossAxis) {\n        var _middlewareData$offse, _middlewareData$offse2;\n        const len = mainAxis === 'y' ? 'width' : 'height';\n        const isOriginSide = originSides.has(getSide(placement));\n        const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n        const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n        if (crossAxisCoord < limitMin) {\n          crossAxisCoord = limitMin;\n        } else if (crossAxisCoord > limitMax) {\n          crossAxisCoord = limitMax;\n        }\n      }\n      return {\n        [mainAxis]: mainAxisCoord,\n        [crossAxis]: crossAxisCoord\n      };\n    }\n  };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n  if (options === void 0) {\n    options = {};\n  }\n  return {\n    name: 'size',\n    options,\n    async fn(state) {\n      var _state$middlewareData, _state$middlewareData2;\n      const {\n        placement,\n        rects,\n        platform,\n        elements\n      } = state;\n      const {\n        apply = () => {},\n        ...detectOverflowOptions\n      } = evaluate(options, state);\n      const overflow = await detectOverflow(state, detectOverflowOptions);\n      const side = getSide(placement);\n      const alignment = getAlignment(placement);\n      const isYAxis = getSideAxis(placement) === 'y';\n      const {\n        width,\n        height\n      } = rects.floating;\n      let heightSide;\n      let widthSide;\n      if (side === 'top' || side === 'bottom') {\n        heightSide = side;\n        widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n      } else {\n        widthSide = side;\n        heightSide = alignment === 'end' ? 'top' : 'bottom';\n      }\n      const maximumClippingHeight = height - overflow.top - overflow.bottom;\n      const maximumClippingWidth = width - overflow.left - overflow.right;\n      const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n      const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n      const noShift = !state.middlewareData.shift;\n      let availableHeight = overflowAvailableHeight;\n      let availableWidth = overflowAvailableWidth;\n      if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n        availableWidth = maximumClippingWidth;\n      }\n      if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n        availableHeight = maximumClippingHeight;\n      }\n      if (noShift && !alignment) {\n        const xMin = max(overflow.left, 0);\n        const xMax = max(overflow.right, 0);\n        const yMin = max(overflow.top, 0);\n        const yMax = max(overflow.bottom, 0);\n        if (isYAxis) {\n          availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n        } else {\n          availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n        }\n      }\n      await apply({\n        ...state,\n        availableWidth,\n        availableHeight\n      });\n      const nextDimensions = await platform.getDimensions(elements.floating);\n      if (width !== nextDimensions.width || height !== nextDimensions.height) {\n        return {\n          reset: {\n            rects: true\n          }\n        };\n      }\n      return {};\n    }\n  };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n  return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n  if (isNode(node)) {\n    return (node.nodeName || '').toLowerCase();\n  }\n  // Mocked nodes in testing environments may not be instances of Node. By\n  // returning `#document` an infinite loop won't occur.\n  // https://github.com/floating-ui/floating-ui/issues/2317\n  return '#document';\n}\nfunction getWindow(node) {\n  var _node$ownerDocument;\n  return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n  var _ref;\n  return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n  if (!hasWindow()) {\n    return false;\n  }\n  return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n  if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n  const {\n    overflow,\n    overflowX,\n    overflowY,\n    display\n  } = getComputedStyle(element);\n  return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n  return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n  return topLayerSelectors.some(selector => {\n    try {\n      return element.matches(selector);\n    } catch (_e) {\n      return false;\n    }\n  });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n  const webkit = isWebKit();\n  const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n  return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n  let currentNode = getParentNode(element);\n  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    if (isContainingBlock(currentNode)) {\n      return currentNode;\n    } else if (isTopLayer(currentNode)) {\n      return null;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  return null;\n}\nfunction isWebKit() {\n  if (typeof CSS === 'undefined' || !CSS.supports) return false;\n  return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n  return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n  if (isElement(element)) {\n    return {\n      scrollLeft: element.scrollLeft,\n      scrollTop: element.scrollTop\n    };\n  }\n  return {\n    scrollLeft: element.scrollX,\n    scrollTop: element.scrollY\n  };\n}\nfunction getParentNode(node) {\n  if (getNodeName(node) === 'html') {\n    return node;\n  }\n  const result =\n  // Step into the shadow DOM of the parent of a slotted node.\n  node.assignedSlot ||\n  // DOM Element detected.\n  node.parentNode ||\n  // ShadowRoot detected.\n  isShadowRoot(node) && node.host ||\n  // Fallback.\n  getDocumentElement(node);\n  return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n  const parentNode = getParentNode(node);\n  if (isLastTraversableNode(parentNode)) {\n    return node.ownerDocument ? node.ownerDocument.body : node.body;\n  }\n  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n    return parentNode;\n  }\n  return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n  var _node$ownerDocument2;\n  if (list === void 0) {\n    list = [];\n  }\n  if (traverseIframes === void 0) {\n    traverseIframes = true;\n  }\n  const scrollableAncestor = getNearestOverflowAncestor(node);\n  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n  const win = getWindow(scrollableAncestor);\n  if (isBody) {\n    const frameElement = getFrameElement(win);\n    return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n  }\n  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n  const css = getComputedStyle$1(element);\n  // In testing environments, the `width` and `height` properties are empty\n  // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n  let width = parseFloat(css.width) || 0;\n  let height = parseFloat(css.height) || 0;\n  const hasOffset = isHTMLElement(element);\n  const offsetWidth = hasOffset ? element.offsetWidth : width;\n  const offsetHeight = hasOffset ? element.offsetHeight : height;\n  const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n  if (shouldFallback) {\n    width = offsetWidth;\n    height = offsetHeight;\n  }\n  return {\n    width,\n    height,\n    $: shouldFallback\n  };\n}\n\nfunction unwrapElement(element) {\n  return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n  const domElement = unwrapElement(element);\n  if (!isHTMLElement(domElement)) {\n    return createCoords(1);\n  }\n  const rect = domElement.getBoundingClientRect();\n  const {\n    width,\n    height,\n    $\n  } = getCssDimensions(domElement);\n  let x = ($ ? round(rect.width) : rect.width) / width;\n  let y = ($ ? round(rect.height) : rect.height) / height;\n\n  // 0, NaN, or Infinity should always fallback to 1.\n\n  if (!x || !Number.isFinite(x)) {\n    x = 1;\n  }\n  if (!y || !Number.isFinite(y)) {\n    y = 1;\n  }\n  return {\n    x,\n    y\n  };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n  const win = getWindow(element);\n  if (!isWebKit() || !win.visualViewport) {\n    return noOffsets;\n  }\n  return {\n    x: win.visualViewport.offsetLeft,\n    y: win.visualViewport.offsetTop\n  };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n  if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n    return false;\n  }\n  return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n  const clientRect = element.getBoundingClientRect();\n  const domElement = unwrapElement(element);\n  let scale = createCoords(1);\n  if (includeScale) {\n    if (offsetParent) {\n      if (isElement(offsetParent)) {\n        scale = getScale(offsetParent);\n      }\n    } else {\n      scale = getScale(element);\n    }\n  }\n  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n  let x = (clientRect.left + visualOffsets.x) / scale.x;\n  let y = (clientRect.top + visualOffsets.y) / scale.y;\n  let width = clientRect.width / scale.x;\n  let height = clientRect.height / scale.y;\n  if (domElement) {\n    const win = getWindow(domElement);\n    const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n    let currentWin = win;\n    let currentIFrame = getFrameElement(currentWin);\n    while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n      const iframeScale = getScale(currentIFrame);\n      const iframeRect = currentIFrame.getBoundingClientRect();\n      const css = getComputedStyle$1(currentIFrame);\n      const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n      const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n      x *= iframeScale.x;\n      y *= iframeScale.y;\n      width *= iframeScale.x;\n      height *= iframeScale.y;\n      x += left;\n      y += top;\n      currentWin = getWindow(currentIFrame);\n      currentIFrame = getFrameElement(currentWin);\n    }\n  }\n  return rectToClientRect({\n    width,\n    height,\n    x,\n    y\n  });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n  const leftScroll = getNodeScroll(element).scrollLeft;\n  if (!rect) {\n    return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n  }\n  return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n  const htmlRect = documentElement.getBoundingClientRect();\n  const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n  const y = htmlRect.top + scroll.scrollTop;\n  return {\n    x,\n    y\n  };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n  let {\n    elements,\n    rect,\n    offsetParent,\n    strategy\n  } = _ref;\n  const isFixed = strategy === 'fixed';\n  const documentElement = getDocumentElement(offsetParent);\n  const topLayer = elements ? isTopLayer(elements.floating) : false;\n  if (offsetParent === documentElement || topLayer && isFixed) {\n    return rect;\n  }\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  let scale = createCoords(1);\n  const offsets = createCoords(0);\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isHTMLElement(offsetParent)) {\n      const offsetRect = getBoundingClientRect(offsetParent);\n      scale = getScale(offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    }\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  return {\n    width: rect.width * scale.x,\n    height: rect.height * scale.y,\n    x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n    y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n  };\n}\n\nfunction getClientRects(element) {\n  return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n  const html = getDocumentElement(element);\n  const scroll = getNodeScroll(element);\n  const body = element.ownerDocument.body;\n  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n  let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n  const y = -scroll.scrollTop;\n  if (getComputedStyle$1(body).direction === 'rtl') {\n    x += max(html.clientWidth, body.clientWidth) - width;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n  const win = getWindow(element);\n  const html = getDocumentElement(element);\n  const visualViewport = win.visualViewport;\n  let width = html.clientWidth;\n  let height = html.clientHeight;\n  let x = 0;\n  let y = 0;\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    const visualViewportBased = isWebKit();\n    if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n  const windowScrollbarX = getWindowScrollBarX(html);\n  // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n  // visual width of the <html> but this is not considered in the size\n  // of `html.clientWidth`.\n  if (windowScrollbarX <= 0) {\n    const doc = html.ownerDocument;\n    const body = doc.body;\n    const bodyStyles = getComputedStyle(body);\n    const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n    const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n    if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n      width -= clippingStableScrollbarWidth;\n    }\n  } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n    // If the <body> scrollbar is on the left, the width needs to be extended\n    // by the scrollbar amount so there isn't extra space on the right.\n    width += windowScrollbarX;\n  }\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n  const top = clientRect.top + element.clientTop;\n  const left = clientRect.left + element.clientLeft;\n  const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n  const width = element.clientWidth * scale.x;\n  const height = element.clientHeight * scale.y;\n  const x = left * scale.x;\n  const y = top * scale.y;\n  return {\n    width,\n    height,\n    x,\n    y\n  };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n  let rect;\n  if (clippingAncestor === 'viewport') {\n    rect = getViewportRect(element, strategy);\n  } else if (clippingAncestor === 'document') {\n    rect = getDocumentRect(getDocumentElement(element));\n  } else if (isElement(clippingAncestor)) {\n    rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n  } else {\n    const visualOffsets = getVisualOffsets(element);\n    rect = {\n      x: clippingAncestor.x - visualOffsets.x,\n      y: clippingAncestor.y - visualOffsets.y,\n      width: clippingAncestor.width,\n      height: clippingAncestor.height\n    };\n  }\n  return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n  const parentNode = getParentNode(element);\n  if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n    return false;\n  }\n  return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n  const cachedResult = cache.get(element);\n  if (cachedResult) {\n    return cachedResult;\n  }\n  let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n  let currentContainingBlockComputedStyle = null;\n  const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n  let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n    const computedStyle = getComputedStyle$1(currentNode);\n    const currentNodeIsContaining = isContainingBlock(currentNode);\n    if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n      currentContainingBlockComputedStyle = null;\n    }\n    const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n    if (shouldDropCurrentNode) {\n      // Drop non-containing blocks.\n      result = result.filter(ancestor => ancestor !== currentNode);\n    } else {\n      // Record last containing block for next iteration.\n      currentContainingBlockComputedStyle = computedStyle;\n    }\n    currentNode = getParentNode(currentNode);\n  }\n  cache.set(element, result);\n  return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n  let {\n    element,\n    boundary,\n    rootBoundary,\n    strategy\n  } = _ref;\n  const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n  const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n  const firstClippingAncestor = clippingAncestors[0];\n  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n    const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n    accRect.top = max(rect.top, accRect.top);\n    accRect.right = min(rect.right, accRect.right);\n    accRect.bottom = min(rect.bottom, accRect.bottom);\n    accRect.left = max(rect.left, accRect.left);\n    return accRect;\n  }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n  return {\n    width: clippingRect.right - clippingRect.left,\n    height: clippingRect.bottom - clippingRect.top,\n    x: clippingRect.left,\n    y: clippingRect.top\n  };\n}\n\nfunction getDimensions(element) {\n  const {\n    width,\n    height\n  } = getCssDimensions(element);\n  return {\n    width,\n    height\n  };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n  const isOffsetParentAnElement = isHTMLElement(offsetParent);\n  const documentElement = getDocumentElement(offsetParent);\n  const isFixed = strategy === 'fixed';\n  const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n  let scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  const offsets = createCoords(0);\n\n  // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n  // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n  function setLeftRTLScrollbarOffset() {\n    offsets.x = getWindowScrollBarX(documentElement);\n  }\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n    if (isOffsetParentAnElement) {\n      const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n      offsets.x = offsetRect.x + offsetParent.clientLeft;\n      offsets.y = offsetRect.y + offsetParent.clientTop;\n    } else if (documentElement) {\n      setLeftRTLScrollbarOffset();\n    }\n  }\n  if (isFixed && !isOffsetParentAnElement && documentElement) {\n    setLeftRTLScrollbarOffset();\n  }\n  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n  return {\n    x,\n    y,\n    width: rect.width,\n    height: rect.height\n  };\n}\n\nfunction isStaticPositioned(element) {\n  return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n  if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n    return null;\n  }\n  if (polyfill) {\n    return polyfill(element);\n  }\n  let rawOffsetParent = element.offsetParent;\n\n  // Firefox returns the <html> element as the offsetParent if it's non-static,\n  // while Chrome and Safari return the <body> element. The <body> element must\n  // be used to perform the correct calculations even if the <html> element is\n  // non-static.\n  if (getDocumentElement(element) === rawOffsetParent) {\n    rawOffsetParent = rawOffsetParent.ownerDocument.body;\n  }\n  return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n  const win = getWindow(element);\n  if (isTopLayer(element)) {\n    return win;\n  }\n  if (!isHTMLElement(element)) {\n    let svgOffsetParent = getParentNode(element);\n    while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n      if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n        return svgOffsetParent;\n      }\n      svgOffsetParent = getParentNode(svgOffsetParent);\n    }\n    return win;\n  }\n  let offsetParent = getTrueOffsetParent(element, polyfill);\n  while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n    offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n  }\n  if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n    return win;\n  }\n  return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n  const getDimensionsFn = this.getDimensions;\n  const floatingDimensions = await getDimensionsFn(data.floating);\n  return {\n    reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n    floating: {\n      x: 0,\n      y: 0,\n      width: floatingDimensions.width,\n      height: floatingDimensions.height\n    }\n  };\n};\n\nfunction isRTL(element) {\n  return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n  convertOffsetParentRelativeRectToViewportRelativeRect,\n  getDocumentElement,\n  getClippingRect,\n  getOffsetParent,\n  getElementRects,\n  getClientRects,\n  getDimensions,\n  getScale,\n  isElement,\n  isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n  let io = null;\n  let timeoutId;\n  const root = getDocumentElement(element);\n  function cleanup() {\n    var _io;\n    clearTimeout(timeoutId);\n    (_io = io) == null || _io.disconnect();\n    io = null;\n  }\n  function refresh(skip, threshold) {\n    if (skip === void 0) {\n      skip = false;\n    }\n    if (threshold === void 0) {\n      threshold = 1;\n    }\n    cleanup();\n    const elementRectForRootMargin = element.getBoundingClientRect();\n    const {\n      left,\n      top,\n      width,\n      height\n    } = elementRectForRootMargin;\n    if (!skip) {\n      onMove();\n    }\n    if (!width || !height) {\n      return;\n    }\n    const insetTop = floor(top);\n    const insetRight = floor(root.clientWidth - (left + width));\n    const insetBottom = floor(root.clientHeight - (top + height));\n    const insetLeft = floor(left);\n    const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n    const options = {\n      rootMargin,\n      threshold: max(0, min(1, threshold)) || 1\n    };\n    let isFirstUpdate = true;\n    function handleObserve(entries) {\n      const ratio = entries[0].intersectionRatio;\n      if (ratio !== threshold) {\n        if (!isFirstUpdate) {\n          return refresh();\n        }\n        if (!ratio) {\n          // If the reference is clipped, the ratio is 0. Throttle the refresh\n          // to prevent an infinite loop of updates.\n          timeoutId = setTimeout(() => {\n            refresh(false, 1e-7);\n          }, 1000);\n        } else {\n          refresh(false, ratio);\n        }\n      }\n      if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n        // It's possible that even though the ratio is reported as 1, the\n        // element is not actually fully within the IntersectionObserver's root\n        // area anymore. This can happen under performance constraints. This may\n        // be a bug in the browser's IntersectionObserver implementation. To\n        // work around this, we compare the element's bounding rect now with\n        // what it was at the time we created the IntersectionObserver. If they\n        // are not equal then the element moved, so we refresh.\n        refresh();\n      }\n      isFirstUpdate = false;\n    }\n\n    // Older browsers don't support a `document` as the root and will throw an\n    // error.\n    try {\n      io = new IntersectionObserver(handleObserve, {\n        ...options,\n        // Handle <iframe>s\n        root: root.ownerDocument\n      });\n    } catch (_e) {\n      io = new IntersectionObserver(handleObserve, options);\n    }\n    io.observe(element);\n  }\n  refresh(true);\n  return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n  if (options === void 0) {\n    options = {};\n  }\n  const {\n    ancestorScroll = true,\n    ancestorResize = true,\n    elementResize = typeof ResizeObserver === 'function',\n    layoutShift = typeof IntersectionObserver === 'function',\n    animationFrame = false\n  } = options;\n  const referenceEl = unwrapElement(reference);\n  const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n  ancestors.forEach(ancestor => {\n    ancestorScroll && ancestor.addEventListener('scroll', update, {\n      passive: true\n    });\n    ancestorResize && ancestor.addEventListener('resize', update);\n  });\n  const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n  let reobserveFrame = -1;\n  let resizeObserver = null;\n  if (elementResize) {\n    resizeObserver = new ResizeObserver(_ref => {\n      let [firstEntry] = _ref;\n      if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n        // Prevent update loops when using the `size` middleware.\n        // https://github.com/floating-ui/floating-ui/issues/1740\n        resizeObserver.unobserve(floating);\n        cancelAnimationFrame(reobserveFrame);\n        reobserveFrame = requestAnimationFrame(() => {\n          var _resizeObserver;\n          (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n        });\n      }\n      update();\n    });\n    if (referenceEl && !animationFrame) {\n      resizeObserver.observe(referenceEl);\n    }\n    resizeObserver.observe(floating);\n  }\n  let frameId;\n  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n  if (animationFrame) {\n    frameLoop();\n  }\n  function frameLoop() {\n    const nextRefRect = getBoundingClientRect(reference);\n    if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n      update();\n    }\n    prevRefRect = nextRefRect;\n    frameId = requestAnimationFrame(frameLoop);\n  }\n  update();\n  return () => {\n    var _resizeObserver2;\n    ancestors.forEach(ancestor => {\n      ancestorScroll && ancestor.removeEventListener('scroll', update);\n      ancestorResize && ancestor.removeEventListener('resize', update);\n    });\n    cleanupIo == null || cleanupIo();\n    (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n    resizeObserver = null;\n    if (animationFrame) {\n      cancelAnimationFrame(frameId);\n    }\n  };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n  // This caches the expensive `getClippingElementAncestors` function so that\n  // multiple lifecycle resets re-use the same result. It only lives for a\n  // single call. If other functions become expensive, we can add them as well.\n  const cache = new Map();\n  const mergedOptions = {\n    platform,\n    ...options\n  };\n  const platformWithCache = {\n    ...mergedOptions.platform,\n    _c: cache\n  };\n  return computePosition$1(reference, floating, {\n    ...mergedOptions,\n    platform: platformWithCache\n  });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start → right, end → left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start → left, end → right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Datepicker from './src/datepicker.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Strength from './src/strength.js'\nimport OtpInput from './src/otp-input.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Toggler from './src/toggler.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Datepicker,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Strength,\n  OtpInput,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Toggler,\n  Tooltip\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","showEvent","hideEvent","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","Date","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","computePosition","arrow","flip","offset","shift","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","fallbackPlacements","_getFallbackPlacements","fallbackMap","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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","x_google_ignoreList":[13,16,17,18,19]}
\ No newline at end of file
index 8797399d4c2886dff6c57916de16fb089d04d0fd..306394f893a1c2ebc149e88e9295879ac30736e6 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
@@ -578,7 +578,7 @@ class Config {
  * Constants
  */
 
-const VERSION = '5.3.8';
+const VERSION = '6.0.0-alpha1';
 
 /**
  * Class definition
index 1028737469a86991704b606d8a06a603f0249cb5..f9fd58dcaaf2b67529b8f3c62a6be608a5f33f5b 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start → right, end → left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start → left, end → right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","showEvent","hideEvent","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","Date","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","offset","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"bootstrap.esm.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start → right, end → left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start → left, end → right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","showEvent","hideEvent","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","Date","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","offset","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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"}
\ No newline at end of file
index c325b2f4556c6f6064b9333cbf7cf5c54121146e..a688e8f12bd6ca01e352d797137c54fd52609dbd 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
    * Constants
    */
 
-  const VERSION = '5.3.8';
+  const VERSION = '6.0.0-alpha1';
 
   /**
    * Class definition
index 00047b1da5717af70f588a73d89cd5a7e41f33fc..8b2504b995d7f2227d79599cc56372d00411e12f 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"bootstrap.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start → right, end → left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start → left, end → right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Datepicker from './src/datepicker.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Strength from './src/strength.js'\nimport OtpInput from './src/otp-input.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Toggler from './src/toggler.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Datepicker,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Strength,\n  OtpInput,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Toggler,\n  Tooltip\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","showEvent","hideEvent","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","Date","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","offset","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"bootstrap.js","sources":["../../js/src/dom/data.js","../../js/src/dom/event-handler.js","../../js/src/dom/manipulator.js","../../js/src/util/index.js","../../js/src/util/config.js","../../js/src/base-component.js","../../js/src/dom/selector-engine.js","../../js/src/util/component-functions.js","../../js/src/alert.js","../../js/src/button.js","../../js/src/util/swipe.js","../../js/src/carousel.js","../../js/src/collapse.js","../../js/src/datepicker.js","../../js/src/dialog.js","../../js/src/util/floating-ui.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/offcanvas.js","../../js/src/strength.js","../../js/src/otp-input.js","../../js/src/util/sanitizer.js","../../js/src/util/template-factory.js","../../js/src/tooltip.js","../../js/src/popover.js","../../js/src/scrollspy.js","../../js/src/tab.js","../../js/src/toast.js","../../js/src/toggler.js","../../js/index.umd.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst elementMap = new Map()\n\nexport default {\n  set(element, key, instance) {\n    if (!elementMap.has(element)) {\n      elementMap.set(element, new Map())\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    // make it clear we only want one instance per element\n    // can be removed later when multiple key/instances are fine to be used\n    if (!instanceMap.has(key) && instanceMap.size !== 0) {\n      // eslint-disable-next-line no-console\n      console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(instanceMap.keys())[0]}.`)\n      return\n    }\n\n    instanceMap.set(key, instance)\n  },\n\n  get(element, key) {\n    if (elementMap.has(element)) {\n      return elementMap.get(element).get(key) || null\n    }\n\n    return null\n  },\n\n  remove(element, key) {\n    if (!elementMap.has(element)) {\n      return\n    }\n\n    const instanceMap = elementMap.get(element)\n\n    instanceMap.delete(key)\n\n    // free up element references if there are no instances left for an element\n    if (instanceMap.size === 0) {\n      elementMap.delete(element)\n    }\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n/**\n * Constants\n */\n\nconst namespaceRegex = /[^.]*(?=\\..*)\\.|.*/\nconst stripNameRegex = /\\..*/\nconst stripUidRegex = /::\\d+$/\nconst eventRegistry = {} // Events storage\nlet uidEvent = 1\nconst customEvents = {\n  mouseenter: 'mouseover',\n  mouseleave: 'mouseout'\n}\n\nconst nativeEvents = new Set([\n  'click',\n  'dblclick',\n  'mouseup',\n  'mousedown',\n  'contextmenu',\n  'mousewheel',\n  'DOMMouseScroll',\n  'mouseover',\n  'mouseout',\n  'mousemove',\n  'selectstart',\n  'selectend',\n  'keydown',\n  'keypress',\n  'keyup',\n  'orientationchange',\n  'touchstart',\n  'touchmove',\n  'touchend',\n  'touchcancel',\n  'pointerdown',\n  'pointermove',\n  'pointerup',\n  'pointerleave',\n  'pointercancel',\n  'gesturestart',\n  'gesturechange',\n  'gestureend',\n  'focus',\n  'blur',\n  'change',\n  'reset',\n  'select',\n  'submit',\n  'focusin',\n  'focusout',\n  'load',\n  'unload',\n  'beforeunload',\n  'resize',\n  'move',\n  'DOMContentLoaded',\n  'readystatechange',\n  'error',\n  'abort',\n  'scroll'\n])\n\n/**\n * Private methods\n */\n\nfunction makeEventUid(element, uid) {\n  return (uid && `${uid}::${uidEvent++}`) || element.uidEvent || uidEvent++\n}\n\nfunction getElementEvents(element) {\n  const uid = makeEventUid(element)\n\n  element.uidEvent = uid\n  eventRegistry[uid] = eventRegistry[uid] || {}\n\n  return eventRegistry[uid]\n}\n\nfunction bootstrapHandler(element, fn) {\n  return function handler(event) {\n    hydrateObj(event, { delegateTarget: element })\n\n    if (handler.oneOff) {\n      EventHandler.off(element, event.type, fn)\n    }\n\n    return fn.apply(element, [event])\n  }\n}\n\nfunction bootstrapDelegationHandler(element, selector, fn) {\n  return function handler(event) {\n    const domElements = element.querySelectorAll(selector)\n\n    for (let { target } = event; target && target !== this; target = target.parentNode) {\n      for (const domElement of domElements) {\n        if (domElement !== target) {\n          continue\n        }\n\n        hydrateObj(event, { delegateTarget: target })\n\n        if (handler.oneOff) {\n          EventHandler.off(element, event.type, selector, fn)\n        }\n\n        return fn.apply(target, [event])\n      }\n    }\n  }\n}\n\nfunction findHandler(events, callable, delegationSelector = null) {\n  return Object.values(events)\n    .find(event => event.callable === callable && event.delegationSelector === delegationSelector)\n}\n\nfunction normalizeParameters(originalTypeEvent, handler, delegationFunction) {\n  const isDelegated = typeof handler === 'string'\n  const callable = isDelegated ? delegationFunction : (handler || delegationFunction)\n  let typeEvent = getTypeEvent(originalTypeEvent)\n\n  if (!nativeEvents.has(typeEvent)) {\n    typeEvent = originalTypeEvent\n  }\n\n  return [isDelegated, callable, typeEvent]\n}\n\nfunction addHandler(element, originalTypeEvent, handler, delegationFunction, oneOff) {\n  if (typeof originalTypeEvent !== 'string' || !element) {\n    return\n  }\n\n  let [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n\n  // in case of mouseenter or mouseleave wrap the handler within a function that checks for its DOM position\n  // this prevents the handler from being dispatched the same way as mouseover or mouseout does\n  if (originalTypeEvent in customEvents) {\n    const wrapFunction = fn => {\n      return function (event) {\n        if (!event.relatedTarget || (event.relatedTarget !== event.delegateTarget && !event.delegateTarget.contains(event.relatedTarget))) {\n          return fn.call(this, event)\n        }\n      }\n    }\n\n    callable = wrapFunction(callable)\n  }\n\n  const events = getElementEvents(element)\n  const handlers = events[typeEvent] || (events[typeEvent] = {})\n  const previousFunction = findHandler(handlers, callable, isDelegated ? handler : null)\n\n  if (previousFunction) {\n    previousFunction.oneOff = previousFunction.oneOff && oneOff\n\n    return\n  }\n\n  const uid = makeEventUid(callable, originalTypeEvent.replace(namespaceRegex, ''))\n  const fn = isDelegated ?\n    bootstrapDelegationHandler(element, handler, callable) :\n    bootstrapHandler(element, callable)\n\n  fn.delegationSelector = isDelegated ? handler : null\n  fn.callable = callable\n  fn.oneOff = oneOff\n  fn.uidEvent = uid\n  handlers[uid] = fn\n\n  element.addEventListener(typeEvent, fn, isDelegated)\n}\n\nfunction removeHandler(element, events, typeEvent, handler, delegationSelector) {\n  const fn = findHandler(events[typeEvent], handler, delegationSelector)\n\n  if (!fn) {\n    return\n  }\n\n  element.removeEventListener(typeEvent, fn, Boolean(delegationSelector))\n  delete events[typeEvent][fn.uidEvent]\n}\n\nfunction removeNamespacedHandlers(element, events, typeEvent, namespace) {\n  const storeElementEvent = events[typeEvent] || {}\n\n  for (const [handlerKey, event] of Object.entries(storeElementEvent)) {\n    if (handlerKey.includes(namespace)) {\n      removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n    }\n  }\n}\n\nfunction getTypeEvent(event) {\n  // allow to get the native events from namespaced events ('click.bs.button' --> 'click')\n  event = event.replace(stripNameRegex, '')\n  return customEvents[event] || event\n}\n\nconst EventHandler = {\n  on(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, false)\n  },\n\n  one(element, event, handler, delegationFunction) {\n    addHandler(element, event, handler, delegationFunction, true)\n  },\n\n  off(element, originalTypeEvent, handler, delegationFunction) {\n    if (typeof originalTypeEvent !== 'string' || !element) {\n      return\n    }\n\n    const [isDelegated, callable, typeEvent] = normalizeParameters(originalTypeEvent, handler, delegationFunction)\n    const inNamespace = typeEvent !== originalTypeEvent\n    const events = getElementEvents(element)\n    const storeElementEvent = events[typeEvent] || {}\n    const isNamespace = originalTypeEvent.startsWith('.')\n\n    if (typeof callable !== 'undefined') {\n      // Simplest case: handler is passed, remove that listener ONLY.\n      if (!Object.keys(storeElementEvent).length) {\n        return\n      }\n\n      removeHandler(element, events, typeEvent, callable, isDelegated ? handler : null)\n      return\n    }\n\n    if (isNamespace) {\n      for (const elementEvent of Object.keys(events)) {\n        removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n      }\n    }\n\n    for (const [keyHandlers, event] of Object.entries(storeElementEvent)) {\n      const handlerKey = keyHandlers.replace(stripUidRegex, '')\n\n      if (!inNamespace || originalTypeEvent.includes(handlerKey)) {\n        removeHandler(element, events, typeEvent, event.callable, event.delegationSelector)\n      }\n    }\n  },\n\n  trigger(element, event, args) {\n    if (typeof event !== 'string' || !element) {\n      return null\n    }\n\n    const evt = hydrateObj(new Event(event, { bubbles: true, cancelable: true }), args)\n    element.dispatchEvent(evt)\n    return evt\n  }\n}\n\nfunction hydrateObj(obj, meta = {}) {\n  for (const [key, value] of Object.entries(meta)) {\n    try {\n      obj[key] = value\n    } catch {\n      Object.defineProperty(obj, key, {\n        configurable: true,\n        get() {\n          return value\n        }\n      })\n    }\n  }\n\n  return obj\n}\n\nexport default EventHandler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nfunction normalizeData(value) {\n  if (value === 'true') {\n    return true\n  }\n\n  if (value === 'false') {\n    return false\n  }\n\n  if (value === Number(value).toString()) {\n    return Number(value)\n  }\n\n  if (value === '' || value === 'null') {\n    return null\n  }\n\n  if (typeof value !== 'string') {\n    return value\n  }\n\n  try {\n    return JSON.parse(decodeURIComponent(value))\n  } catch {\n    return value\n  }\n}\n\nfunction normalizeDataKey(key) {\n  return key.replace(/[A-Z]/g, chr => `-${chr.toLowerCase()}`)\n}\n\nconst Manipulator = {\n  setDataAttribute(element, key, value) {\n    element.setAttribute(`data-bs-${normalizeDataKey(key)}`, value)\n  },\n\n  removeDataAttribute(element, key) {\n    element.removeAttribute(`data-bs-${normalizeDataKey(key)}`)\n  },\n\n  getDataAttributes(element) {\n    if (!element) {\n      return {}\n    }\n\n    const attributes = {}\n    const bsKeys = Object.keys(element.dataset).filter(key => key.startsWith('bs') && !key.startsWith('bsConfig'))\n\n    for (const key of bsKeys) {\n      let pureKey = key.replace(/^bs/, '')\n      pureKey = pureKey.charAt(0).toLowerCase() + pureKey.slice(1)\n      attributes[pureKey] = normalizeData(element.dataset[key])\n    }\n\n    return attributes\n  },\n\n  getDataAttribute(element, key) {\n    return normalizeData(element.getAttribute(`data-bs-${normalizeDataKey(key)}`))\n  }\n}\n\nexport default Manipulator\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nconst MAX_UID = 1_000_000\nconst MILLISECONDS_MULTIPLIER = 1000\nconst TRANSITION_END = 'transitionend'\n\n/**\n * Properly escape IDs selectors to handle weird IDs\n * @param {string} selector\n * @returns {string}\n */\nconst parseSelector = selector => {\n  if (selector && window.CSS && window.CSS.escape) {\n    // document.querySelector needs escaping to handle IDs (html5+) containing for instance /\n    selector = selector.replace(/#([^\\s\"#']+)/g, (match, id) => `#${CSS.escape(id)}`)\n  }\n\n  return selector\n}\n\n// Shout-out Angus Croll (https://goo.gl/pxwQGp)\nconst toType = object => {\n  if (object === null || object === undefined) {\n    return `${object}`\n  }\n\n  return Object.prototype.toString.call(object).match(/\\s([a-z]+)/i)[1].toLowerCase()\n}\n\n/**\n * Public Util API\n */\n\nconst getUID = prefix => {\n  do {\n    prefix += Math.floor(Math.random() * MAX_UID)\n  } while (document.getElementById(prefix))\n\n  return prefix\n}\n\nconst getTransitionDurationFromElement = element => {\n  if (!element) {\n    return 0\n  }\n\n  // Get transition-duration of the element\n  let { transitionDuration, transitionDelay } = window.getComputedStyle(element)\n\n  const floatTransitionDuration = Number.parseFloat(transitionDuration)\n  const floatTransitionDelay = Number.parseFloat(transitionDelay)\n\n  // Return 0 if element or transition duration is not found\n  if (!floatTransitionDuration && !floatTransitionDelay) {\n    return 0\n  }\n\n  // If multiple durations are defined, take the first\n  transitionDuration = transitionDuration.split(',')[0]\n  transitionDelay = transitionDelay.split(',')[0]\n\n  return (Number.parseFloat(transitionDuration) + Number.parseFloat(transitionDelay)) * MILLISECONDS_MULTIPLIER\n}\n\nconst triggerTransitionEnd = element => {\n  element.dispatchEvent(new Event(TRANSITION_END))\n}\n\nconst isElement = object => {\n  if (!object || typeof object !== 'object') {\n    return false\n  }\n\n  return typeof object.nodeType !== 'undefined'\n}\n\nconst getElement = object => {\n  if (isElement(object)) {\n    return object\n  }\n\n  if (typeof object === 'string' && object.length > 0) {\n    return document.querySelector(parseSelector(object))\n  }\n\n  return null\n}\n\nconst isVisible = element => {\n  if (!isElement(element) || element.getClientRects().length === 0) {\n    return false\n  }\n\n  const elementIsVisible = getComputedStyle(element).getPropertyValue('visibility') === 'visible'\n  // Handle `details` element as its content may falsie appear visible when it is closed\n  const closedDetails = element.closest('details:not([open])')\n\n  if (!closedDetails) {\n    return elementIsVisible\n  }\n\n  if (closedDetails !== element) {\n    const summary = element.closest('summary')\n    if (summary && summary.parentNode !== closedDetails) {\n      return false\n    }\n\n    if (summary === null) {\n      return false\n    }\n  }\n\n  return elementIsVisible\n}\n\nconst isDisabled = element => {\n  if (!element || element.nodeType !== Node.ELEMENT_NODE) {\n    return true\n  }\n\n  if (element.classList.contains('disabled')) {\n    return true\n  }\n\n  if (typeof element.disabled !== 'undefined') {\n    return element.disabled\n  }\n\n  return element.hasAttribute('disabled') && element.getAttribute('disabled') !== 'false'\n}\n\nconst findShadowRoot = element => {\n  if (!document.documentElement.attachShadow) {\n    return null\n  }\n\n  // Can find the shadow root otherwise it'll return the document\n  if (typeof element.getRootNode === 'function') {\n    const root = element.getRootNode()\n    return root instanceof ShadowRoot ? root : null\n  }\n\n  if (element instanceof ShadowRoot) {\n    return element\n  }\n\n  // when we don't find a shadow root\n  if (!element.parentNode) {\n    return null\n  }\n\n  return findShadowRoot(element.parentNode)\n}\n\nconst noop = () => {}\n\n/**\n * Trick to restart an element's animation\n *\n * @param {HTMLElement} element\n * @return void\n *\n * @see https://www.harrytheo.com/blog/2021/02/restart-a-css-animation-with-javascript/#restarting-a-css-animation\n */\nconst reflow = element => {\n  element.offsetHeight // eslint-disable-line no-unused-expressions\n}\n\nconst DOMContentLoadedCallbacks = []\n\nconst onDOMContentLoaded = callback => {\n  if (document.readyState === 'loading') {\n    // add listener on the first call when the document is in loading state\n    if (!DOMContentLoadedCallbacks.length) {\n      document.addEventListener('DOMContentLoaded', () => {\n        for (const callback of DOMContentLoadedCallbacks) {\n          callback()\n        }\n      })\n    }\n\n    DOMContentLoadedCallbacks.push(callback)\n  } else {\n    callback()\n  }\n}\n\nconst isRTL = () => document.documentElement.dir === 'rtl'\n\nconst execute = (possibleCallback, args = [], defaultValue = possibleCallback) => {\n  return typeof possibleCallback === 'function' ? possibleCallback.call(...args) : defaultValue\n}\n\nconst executeAfterTransition = (callback, transitionElement, waitForTransition = true) => {\n  if (!waitForTransition) {\n    execute(callback)\n    return\n  }\n\n  const durationPadding = 5\n  const emulatedDuration = getTransitionDurationFromElement(transitionElement) + durationPadding\n\n  let called = false\n\n  const handler = ({ target }) => {\n    if (target !== transitionElement) {\n      return\n    }\n\n    called = true\n    transitionElement.removeEventListener(TRANSITION_END, handler)\n    execute(callback)\n  }\n\n  transitionElement.addEventListener(TRANSITION_END, handler)\n  setTimeout(() => {\n    if (!called) {\n      triggerTransitionEnd(transitionElement)\n    }\n  }, emulatedDuration)\n}\n\n/**\n * Return the previous/next element of a list.\n *\n * @param {array} list    The list of elements\n * @param activeElement   The active element\n * @param shouldGetNext   Choose to get next or previous element\n * @param isCycleAllowed\n * @return {Element|elem} The proper element\n */\nconst getNextActiveElement = (list, activeElement, shouldGetNext, isCycleAllowed) => {\n  const listLength = list.length\n  let index = list.indexOf(activeElement)\n\n  // if the element does not exist in the list return an element\n  // depending on the direction and if cycle is allowed\n  if (index === -1) {\n    return !shouldGetNext && isCycleAllowed ? list[listLength - 1] : list[0]\n  }\n\n  index += shouldGetNext ? 1 : -1\n\n  if (isCycleAllowed) {\n    index = (index + listLength) % listLength\n  }\n\n  return list[Math.max(0, Math.min(index, listLength - 1))]\n}\n\nexport {\n  execute,\n  executeAfterTransition,\n  findShadowRoot,\n  getElement,\n  getNextActiveElement,\n  getTransitionDurationFromElement,\n  getUID,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop,\n  onDOMContentLoaded,\n  parseSelector,\n  reflow,\n  triggerTransitionEnd,\n  toType\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/config.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport { isElement, toType } from './index.js'\n\n/**\n * Class definition\n */\n\nclass Config {\n  // Getters\n  static get Default() {\n    return {}\n  }\n\n  static get DefaultType() {\n    return {}\n  }\n\n  static get NAME() {\n    throw new Error('You have to implement the static method \"NAME\", for each component!')\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    return config\n  }\n\n  _mergeConfigObj(config, element) {\n    const jsonConfig = isElement(element) ? Manipulator.getDataAttribute(element, 'config') : {} // try to parse\n\n    return {\n      ...this.constructor.Default,\n      ...(typeof jsonConfig === 'object' ? jsonConfig : {}),\n      ...(isElement(element) ? Manipulator.getDataAttributes(element) : {}),\n      ...(typeof config === 'object' ? config : {})\n    }\n  }\n\n  _typeCheckConfig(config, configTypes = this.constructor.DefaultType) {\n    for (const [property, expectedTypes] of Object.entries(configTypes)) {\n      const value = config[property]\n      const valueType = isElement(value) ? 'element' : toType(value)\n\n      if (!new RegExp(expectedTypes).test(valueType)) {\n        throw new TypeError(\n          `${this.constructor.NAME.toUpperCase()}: Option \"${property}\" provided type \"${valueType}\" but expected type \"${expectedTypes}\".`\n        )\n      }\n    }\n  }\n}\n\nexport default Config\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isDisabled, isVisible, parseSelector } from '../util/index.js'\n\nconst getSelector = element => {\n  let selector = element.getAttribute('data-bs-target')\n\n  if (!selector || selector === '#') {\n    let hrefAttribute = element.getAttribute('href')\n\n    // The only valid content that could double as a selector are IDs or classes,\n    // so everything starting with `#` or `.`. If a \"real\" URL is used as the selector,\n    // `document.querySelector` will rightfully complain it is invalid.\n    // See https://github.com/twbs/bootstrap/issues/32273\n    if (!hrefAttribute || (!hrefAttribute.includes('#') && !hrefAttribute.startsWith('.'))) {\n      return null\n    }\n\n    // Just in case some CMS puts out a full URL with the anchor appended\n    if (hrefAttribute.includes('#') && !hrefAttribute.startsWith('#')) {\n      hrefAttribute = `#${hrefAttribute.split('#')[1]}`\n    }\n\n    selector = hrefAttribute && hrefAttribute !== '#' ? hrefAttribute.trim() : null\n  }\n\n  return selector ? selector.split(',').map(sel => parseSelector(sel)).join(',') : null\n}\n\nconst SelectorEngine = {\n  find(selector, element = document.documentElement) {\n    return [].concat(...Element.prototype.querySelectorAll.call(element, selector))\n  },\n\n  findOne(selector, element = document.documentElement) {\n    return Element.prototype.querySelector.call(element, selector)\n  },\n\n  children(element, selector) {\n    return [].concat(...element.children).filter(child => child.matches(selector))\n  },\n\n  parents(element, selector) {\n    const parents = []\n    let ancestor = element.parentNode.closest(selector)\n\n    while (ancestor) {\n      parents.push(ancestor)\n      ancestor = ancestor.parentNode.closest(selector)\n    }\n\n    return parents\n  },\n\n  prev(element, selector) {\n    let previous = element.previousElementSibling\n\n    while (previous) {\n      if (previous.matches(selector)) {\n        return [previous]\n      }\n\n      previous = previous.previousElementSibling\n    }\n\n    return []\n  },\n\n  // TODO: this is now unused; remove later along with prev()\n  next(element, selector) {\n    let next = element.nextElementSibling\n\n    while (next) {\n      if (next.matches(selector)) {\n        return [next]\n      }\n\n      next = next.nextElementSibling\n    }\n\n    return []\n  },\n\n  focusableChildren(element) {\n    const focusables = [\n      'a',\n      'button',\n      'input',\n      'textarea',\n      'select',\n      'details',\n      '[tabindex]',\n      '[contenteditable=\"true\"]'\n    ].map(selector => `${selector}:not([tabindex^=\"-\"])`).join(',')\n\n    return this.find(focusables, element).filter(el => !isDisabled(el) && isVisible(el))\n  },\n\n  getSelectorFromElement(element) {\n    const selector = getSelector(element)\n\n    if (selector) {\n      return SelectorEngine.findOne(selector) ? selector : null\n    }\n\n    return null\n  },\n\n  getElementFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.findOne(selector) : null\n  },\n\n  getMultipleElementsFromSelector(element) {\n    const selector = getSelector(element)\n\n    return selector ? SelectorEngine.find(selector) : []\n  }\n}\n\nexport default SelectorEngine\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/component-functions.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isDisabled } from './index.js'\n\nconst enableDismissTrigger = (component, method = 'hide') => {\n  const clickEvent = `click.dismiss${component.EVENT_KEY}`\n  const name = component.NAME\n\n  EventHandler.on(document, clickEvent, `[data-bs-dismiss=\"${name}\"]`, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    if (isDisabled(this)) {\n      return\n    }\n\n    const target = SelectorEngine.getElementFromSelector(this) || this.closest(`.${name}`)\n    const instance = component.getOrCreateInstance(target)\n\n    // Method argument is left, for Alert and only, as it doesn't implement the 'hide' method\n    instance[method]()\n  })\n}\n\nconst eventActionOnPlugin = (Plugin, onEvent, stringSelector, method, callback = null) => {\n  eventAction(`${onEvent}.${Plugin.NAME}`, stringSelector, data => {\n    const instances = data.targets.filter(Boolean).map(element => Plugin.getOrCreateInstance(element))\n    if (typeof callback === 'function') {\n      callback({ ...data, instances })\n    }\n\n    for (const instance of instances) {\n      instance[method]()\n    }\n  })\n}\n\nconst eventAction = (onEvent, stringSelector, callback) => {\n  const selector = `${stringSelector}:not(.disabled):not(:disabled)`\n  EventHandler.on(document, onEvent, selector, function (event) {\n    if (['A', 'AREA'].includes(this.tagName)) {\n      event.preventDefault()\n    }\n\n    const selector = SelectorEngine.getSelectorFromElement(this)\n    const targets = selector ? SelectorEngine.find(selector) : [this]\n\n    callback({ targets, event })\n  })\n}\n\nexport {\n  enableDismissTrigger,\n  eventActionOnPlugin\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'alert'\nconst DATA_KEY = 'bs.alert'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_CLOSE = `close${EVENT_KEY}`\nconst EVENT_CLOSED = `closed${EVENT_KEY}`\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\n\n/**\n * Class definition\n */\n\nclass Alert extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  close() {\n    const closeEvent = EventHandler.trigger(this._element, EVENT_CLOSE)\n\n    if (closeEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE)\n    this._queueCallback(() => this._destroyElement(), this._element, isAnimated)\n  }\n\n  // Private\n  _destroyElement() {\n    this._element.remove()\n    EventHandler.trigger(this._element, EVENT_CLOSED)\n    this.dispose()\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Alert, 'close')\n\nexport default Alert\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'button'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"button\"]'\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\n/**\n * Class definition\n */\n\nclass Button extends BaseComponent {\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method\n    this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE))\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, event => {\n  event.preventDefault()\n\n  const button = event.target.closest(SELECTOR_DATA_TOGGLE)\n  const data = Button.getOrCreateInstance(button)\n\n  data.toggle()\n})\n\nexport default Button\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/swipe.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport { execute } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'swipe'\nconst EVENT_KEY = '.bs.swipe'\nconst EVENT_TOUCHSTART = `touchstart${EVENT_KEY}`\nconst EVENT_TOUCHMOVE = `touchmove${EVENT_KEY}`\nconst EVENT_TOUCHEND = `touchend${EVENT_KEY}`\nconst EVENT_POINTERDOWN = `pointerdown${EVENT_KEY}`\nconst EVENT_POINTERUP = `pointerup${EVENT_KEY}`\nconst POINTER_TYPE_TOUCH = 'touch'\nconst POINTER_TYPE_PEN = 'pen'\nconst CLASS_NAME_POINTER_EVENT = 'pointer-event'\nconst SWIPE_THRESHOLD = 40\n\nconst Default = {\n  endCallback: null,\n  leftCallback: null,\n  rightCallback: null\n}\n\nconst DefaultType = {\n  endCallback: '(function|null)',\n  leftCallback: '(function|null)',\n  rightCallback: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Swipe extends Config {\n  constructor(element, config) {\n    super()\n    this._element = element\n\n    if (!element || !Swipe.isSupported()) {\n      return\n    }\n\n    this._config = this._getConfig(config)\n    this._deltaX = 0\n    this._supportPointerEvents = Boolean(window.PointerEvent)\n    this._initEvents()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n  }\n\n  // Private\n  _start(event) {\n    if (!this._supportPointerEvents) {\n      this._deltaX = event.touches[0].clientX\n\n      return\n    }\n\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX\n    }\n  }\n\n  _end(event) {\n    if (this._eventIsPointerPenTouch(event)) {\n      this._deltaX = event.clientX - this._deltaX\n    }\n\n    this._handleSwipe()\n    execute(this._config.endCallback)\n  }\n\n  _move(event) {\n    this._deltaX = event.touches && event.touches.length > 1 ?\n      0 :\n      event.touches[0].clientX - this._deltaX\n  }\n\n  _handleSwipe() {\n    const absDeltaX = Math.abs(this._deltaX)\n\n    if (absDeltaX <= SWIPE_THRESHOLD) {\n      return\n    }\n\n    const direction = absDeltaX / this._deltaX\n\n    this._deltaX = 0\n\n    if (!direction) {\n      return\n    }\n\n    execute(direction > 0 ? this._config.rightCallback : this._config.leftCallback)\n  }\n\n  _initEvents() {\n    if (this._supportPointerEvents) {\n      EventHandler.on(this._element, EVENT_POINTERDOWN, event => this._start(event))\n      EventHandler.on(this._element, EVENT_POINTERUP, event => this._end(event))\n\n      this._element.classList.add(CLASS_NAME_POINTER_EVENT)\n    } else {\n      EventHandler.on(this._element, EVENT_TOUCHSTART, event => this._start(event))\n      EventHandler.on(this._element, EVENT_TOUCHMOVE, event => this._move(event))\n      EventHandler.on(this._element, EVENT_TOUCHEND, event => this._end(event))\n    }\n  }\n\n  _eventIsPointerPenTouch(event) {\n    return this._supportPointerEvents && (event.pointerType === POINTER_TYPE_PEN || event.pointerType === POINTER_TYPE_TOUCH)\n  }\n\n  // Static\n  static isSupported() {\n    return 'ontouchstart' in document.documentElement || navigator.maxTouchPoints > 0\n  }\n}\n\nexport default Swipe\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getNextActiveElement,\n  isRTL,\n  isVisible,\n  reflow,\n  triggerTransitionEnd\n} from './util/index.js'\nimport Swipe from './util/swipe.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'carousel'\nconst DATA_KEY = 'bs.carousel'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst TOUCHEVENT_COMPAT_WAIT = 500 // Time for mouse compat events to fire after touch\n\nconst ORDER_NEXT = 'next'\nconst ORDER_PREV = 'prev'\nconst DIRECTION_LEFT = 'left'\nconst DIRECTION_RIGHT = 'right'\n\nconst EVENT_SLIDE = `slide${EVENT_KEY}`\nconst EVENT_SLID = `slid${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_MOUSEENTER = `mouseenter${EVENT_KEY}`\nconst EVENT_MOUSELEAVE = `mouseleave${EVENT_KEY}`\nconst EVENT_DRAG_START = `dragstart${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_CAROUSEL = 'carousel'\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_SLIDE = 'slide'\nconst CLASS_NAME_END = 'carousel-item-end'\nconst CLASS_NAME_START = 'carousel-item-start'\nconst CLASS_NAME_NEXT = 'carousel-item-next'\nconst CLASS_NAME_PREV = 'carousel-item-prev'\n\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_ITEM = '.carousel-item'\nconst SELECTOR_ACTIVE_ITEM = SELECTOR_ACTIVE + SELECTOR_ITEM\nconst SELECTOR_ITEM_IMG = '.carousel-item img'\nconst SELECTOR_INDICATORS = '.carousel-indicators'\nconst SELECTOR_DATA_SLIDE = '[data-bs-slide], [data-bs-slide-to]'\nconst SELECTOR_DATA_RIDE = '[data-bs-ride=\"carousel\"]'\n\nconst KEY_TO_DIRECTION = {\n  [ARROW_LEFT_KEY]: DIRECTION_RIGHT,\n  [ARROW_RIGHT_KEY]: DIRECTION_LEFT\n}\n\nconst Default = {\n  interval: 5000,\n  keyboard: true,\n  pause: 'hover',\n  ride: false,\n  touch: true,\n  wrap: true\n}\n\nconst DefaultType = {\n  interval: 'number',\n  keyboard: 'boolean',\n  pause: '(string|boolean)',\n  ride: '(boolean|string)',\n  touch: 'boolean',\n  wrap: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Carousel extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._interval = null\n    this._activeElement = null\n    this._isSliding = false\n    this.touchTimeout = null\n    this._swipeHelper = null\n\n    this._indicatorsElement = SelectorEngine.findOne(SELECTOR_INDICATORS, this._element)\n    this._addEventListeners()\n\n    if (this._config.ride === CLASS_NAME_CAROUSEL) {\n      this.cycle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  next() {\n    this._slide(ORDER_NEXT)\n  }\n\n  nextWhenVisible() {\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (document.visibilityState === 'visible' && isVisible(this._element)) {\n      this.next()\n    }\n  }\n\n  prev() {\n    this._slide(ORDER_PREV)\n  }\n\n  pause() {\n    if (this._isSliding) {\n      triggerTransitionEnd(this._element)\n    }\n\n    this._clearInterval()\n  }\n\n  cycle() {\n    this._clearInterval()\n    this._updateInterval()\n\n    this._interval = setInterval(() => this.nextWhenVisible(), this._config.interval)\n  }\n\n  _maybeEnableCycle() {\n    if (!this._config.ride) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.cycle())\n      return\n    }\n\n    this.cycle()\n  }\n\n  to(index) {\n    const items = this._getItems()\n    if (index > items.length - 1 || index < 0) {\n      return\n    }\n\n    if (this._isSliding) {\n      EventHandler.one(this._element, EVENT_SLID, () => this.to(index))\n      return\n    }\n\n    const activeIndex = this._getItemIndex(this._getActive())\n    if (activeIndex === index) {\n      return\n    }\n\n    const order = index > activeIndex ? ORDER_NEXT : ORDER_PREV\n\n    this._slide(order, items[index])\n  }\n\n  dispose() {\n    if (this._swipeHelper) {\n      this._swipeHelper.dispose()\n    }\n\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.defaultInterval = config.interval\n    return config\n  }\n\n  _addEventListeners() {\n    if (this._config.keyboard) {\n      EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n    }\n\n    if (this._config.pause === 'hover') {\n      EventHandler.on(this._element, EVENT_MOUSEENTER, () => this.pause())\n      EventHandler.on(this._element, EVENT_MOUSELEAVE, () => this._maybeEnableCycle())\n    }\n\n    if (this._config.touch && Swipe.isSupported()) {\n      this._addTouchEventListeners()\n    }\n  }\n\n  _addTouchEventListeners() {\n    for (const img of SelectorEngine.find(SELECTOR_ITEM_IMG, this._element)) {\n      EventHandler.on(img, EVENT_DRAG_START, event => event.preventDefault())\n    }\n\n    const endCallBack = () => {\n      if (this._config.pause !== 'hover') {\n        return\n      }\n\n      // If it's a touch-enabled device, mouseenter/leave are fired as\n      // part of the mouse compatibility events on first tap - the carousel\n      // would stop cycling until user tapped out of it;\n      // here, we listen for touchend, explicitly pause the carousel\n      // (as if it's the second time we tap on it, mouseenter compat event\n      // is NOT fired) and after a timeout (to allow for mouse compatibility\n      // events to fire) we explicitly restart cycling\n\n      this.pause()\n      if (this.touchTimeout) {\n        clearTimeout(this.touchTimeout)\n      }\n\n      this.touchTimeout = setTimeout(() => this._maybeEnableCycle(), TOUCHEVENT_COMPAT_WAIT + this._config.interval)\n    }\n\n    const swipeConfig = {\n      leftCallback: () => this._slide(this._directionToOrder(DIRECTION_LEFT)),\n      rightCallback: () => this._slide(this._directionToOrder(DIRECTION_RIGHT)),\n      endCallback: endCallBack\n    }\n\n    this._swipeHelper = new Swipe(this._element, swipeConfig)\n  }\n\n  _keydown(event) {\n    if (/input|textarea/i.test(event.target.tagName)) {\n      return\n    }\n\n    const direction = KEY_TO_DIRECTION[event.key]\n    if (direction) {\n      event.preventDefault()\n      this._slide(this._directionToOrder(direction))\n    }\n  }\n\n  _getItemIndex(element) {\n    return this._getItems().indexOf(element)\n  }\n\n  _setActiveIndicatorElement(index) {\n    if (!this._indicatorsElement) {\n      return\n    }\n\n    const activeIndicator = SelectorEngine.findOne(SELECTOR_ACTIVE, this._indicatorsElement)\n\n    activeIndicator.classList.remove(CLASS_NAME_ACTIVE)\n    activeIndicator.removeAttribute('aria-current')\n\n    const newActiveIndicator = SelectorEngine.findOne(`[data-bs-slide-to=\"${index}\"]`, this._indicatorsElement)\n\n    if (newActiveIndicator) {\n      newActiveIndicator.classList.add(CLASS_NAME_ACTIVE)\n      newActiveIndicator.setAttribute('aria-current', 'true')\n    }\n  }\n\n  _updateInterval() {\n    const element = this._activeElement || this._getActive()\n\n    if (!element) {\n      return\n    }\n\n    const elementInterval = Number.parseInt(element.getAttribute('data-bs-interval'), 10)\n\n    this._config.interval = elementInterval || this._config.defaultInterval\n  }\n\n  _slide(order, element = null) {\n    if (this._isSliding) {\n      return\n    }\n\n    const activeElement = this._getActive()\n    const isNext = order === ORDER_NEXT\n    const nextElement = element || getNextActiveElement(this._getItems(), activeElement, isNext, this._config.wrap)\n\n    if (nextElement === activeElement) {\n      return\n    }\n\n    const nextElementIndex = this._getItemIndex(nextElement)\n\n    const triggerEvent = eventName => {\n      return EventHandler.trigger(this._element, eventName, {\n        relatedTarget: nextElement,\n        direction: this._orderToDirection(order),\n        from: this._getItemIndex(activeElement),\n        to: nextElementIndex\n      })\n    }\n\n    const slideEvent = triggerEvent(EVENT_SLIDE)\n\n    if (slideEvent.defaultPrevented) {\n      return\n    }\n\n    if (!activeElement || !nextElement) {\n      // Some weirdness is happening, so we bail\n      return\n    }\n\n    const isCycling = Boolean(this._interval)\n    this.pause()\n\n    this._isSliding = true\n\n    this._setActiveIndicatorElement(nextElementIndex)\n    this._activeElement = nextElement\n\n    const directionalClassName = isNext ? CLASS_NAME_START : CLASS_NAME_END\n    const orderClassName = isNext ? CLASS_NAME_NEXT : CLASS_NAME_PREV\n\n    nextElement.classList.add(orderClassName)\n\n    reflow(nextElement)\n\n    activeElement.classList.add(directionalClassName)\n    nextElement.classList.add(directionalClassName)\n\n    const completeCallBack = () => {\n      nextElement.classList.remove(directionalClassName, orderClassName)\n      nextElement.classList.add(CLASS_NAME_ACTIVE)\n\n      activeElement.classList.remove(CLASS_NAME_ACTIVE, orderClassName, directionalClassName)\n\n      this._isSliding = false\n\n      triggerEvent(EVENT_SLID)\n    }\n\n    this._queueCallback(completeCallBack, activeElement, this._isAnimated())\n\n    if (isCycling) {\n      this.cycle()\n    }\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_SLIDE)\n  }\n\n  _getActive() {\n    return SelectorEngine.findOne(SELECTOR_ACTIVE_ITEM, this._element)\n  }\n\n  _getItems() {\n    return SelectorEngine.find(SELECTOR_ITEM, this._element)\n  }\n\n  _clearInterval() {\n    if (this._interval) {\n      clearInterval(this._interval)\n      this._interval = null\n    }\n  }\n\n  _directionToOrder(direction) {\n    if (isRTL()) {\n      return direction === DIRECTION_LEFT ? ORDER_PREV : ORDER_NEXT\n    }\n\n    return direction === DIRECTION_LEFT ? ORDER_NEXT : ORDER_PREV\n  }\n\n  _orderToDirection(order) {\n    if (isRTL()) {\n      return order === ORDER_PREV ? DIRECTION_LEFT : DIRECTION_RIGHT\n    }\n\n    return order === ORDER_PREV ? DIRECTION_RIGHT : DIRECTION_LEFT\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_SLIDE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {\n    return\n  }\n\n  event.preventDefault()\n\n  const carousel = Carousel.getOrCreateInstance(target)\n  const slideIndex = this.getAttribute('data-bs-slide-to')\n\n  if (slideIndex) {\n    carousel.to(slideIndex)\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  if (Manipulator.getDataAttribute(this, 'slide') === 'next') {\n    carousel.next()\n    carousel._maybeEnableCycle()\n    return\n  }\n\n  carousel.prev()\n  carousel._maybeEnableCycle()\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  const carousels = SelectorEngine.find(SELECTOR_DATA_RIDE)\n\n  for (const carousel of carousels) {\n    Carousel.getOrCreateInstance(carousel)\n  }\n})\n\nexport default Carousel\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement,\n  reflow\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'collapse'\nconst DATA_KEY = 'bs.collapse'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_COLLAPSE = 'collapse'\nconst CLASS_NAME_COLLAPSING = 'collapsing'\nconst CLASS_NAME_COLLAPSED = 'collapsed'\nconst CLASS_NAME_DEEPER_CHILDREN = `:scope .${CLASS_NAME_COLLAPSE} .${CLASS_NAME_COLLAPSE}`\nconst CLASS_NAME_HORIZONTAL = 'collapse-horizontal'\n\nconst WIDTH = 'width'\nconst HEIGHT = 'height'\n\nconst SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"collapse\"]'\n\nconst Default = {\n  parent: null,\n  toggle: true\n}\n\nconst DefaultType = {\n  parent: '(null|element)',\n  toggle: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Collapse extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._triggerArray = []\n\n    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE)\n\n    for (const elem of toggleList) {\n      const selector = SelectorEngine.getSelectorFromElement(elem)\n      const filterElement = SelectorEngine.find(selector)\n        .filter(foundElement => foundElement === this._element)\n\n      if (selector !== null && filterElement.length) {\n        this._triggerArray.push(elem)\n      }\n    }\n\n    this._initializeChildren()\n\n    if (!this._config.parent) {\n      this._addAriaAndCollapsedClass(this._triggerArray, this._isShown())\n    }\n\n    if (this._config.toggle) {\n      this.toggle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._isShown()) {\n      this.hide()\n    } else {\n      this.show()\n    }\n  }\n\n  show() {\n    if (this._isTransitioning || this._isShown()) {\n      return\n    }\n\n    let activeChildren = []\n\n    // find active children\n    if (this._config.parent) {\n      activeChildren = this._getFirstLevelChildren(SELECTOR_ACTIVES)\n        .filter(element => element !== this._element)\n        .map(element => Collapse.getOrCreateInstance(element, { toggle: false }))\n    }\n\n    if (activeChildren.length && activeChildren[0]._isTransitioning) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    for (const activeInstance of activeChildren) {\n      activeInstance.hide()\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.classList.remove(CLASS_NAME_COLLAPSE)\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n\n    this._element.style[dimension] = 0\n\n    this._addAriaAndCollapsedClass(this._triggerArray, true)\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n      this._element.style[dimension] = ''\n\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n    }\n\n    const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1)\n    const scrollSize = `scroll${capitalizedDimension}`\n\n    this._queueCallback(complete, this._element, true)\n    this._element.style[dimension] = `${this._element[scrollSize]}px`\n  }\n\n  hide() {\n    if (this._isTransitioning || !this._isShown()) {\n      return\n    }\n\n    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (startEvent.defaultPrevented) {\n      return\n    }\n\n    const dimension = this._getDimension()\n\n    this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_COLLAPSING)\n    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW)\n\n    for (const trigger of this._triggerArray) {\n      const element = SelectorEngine.getElementFromSelector(trigger)\n\n      if (element && !this._isShown(element)) {\n        this._addAriaAndCollapsedClass([trigger], false)\n      }\n    }\n\n    this._isTransitioning = true\n\n    const complete = () => {\n      this._isTransitioning = false\n      this._element.classList.remove(CLASS_NAME_COLLAPSING)\n      this._element.classList.add(CLASS_NAME_COLLAPSE)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.style[dimension] = ''\n\n    this._queueCallback(complete, this._element, true)\n  }\n\n  // Private\n  _isShown(element = this._element) {\n    return element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _configAfterMerge(config) {\n    config.toggle = Boolean(config.toggle) // Coerce string values\n    config.parent = getElement(config.parent)\n    return config\n  }\n\n  _getDimension() {\n    return this._element.classList.contains(CLASS_NAME_HORIZONTAL) ? WIDTH : HEIGHT\n  }\n\n  _initializeChildren() {\n    if (!this._config.parent) {\n      return\n    }\n\n    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE)\n\n    for (const element of children) {\n      const selected = SelectorEngine.getElementFromSelector(element)\n\n      if (selected) {\n        this._addAriaAndCollapsedClass([element], this._isShown(selected))\n      }\n    }\n  }\n\n  _getFirstLevelChildren(selector) {\n    const children = SelectorEngine.find(CLASS_NAME_DEEPER_CHILDREN, this._config.parent)\n    // remove children if greater depth\n    return SelectorEngine.find(selector, this._config.parent).filter(element => !children.includes(element))\n  }\n\n  _addAriaAndCollapsedClass(triggerArray, isOpen) {\n    if (!triggerArray.length) {\n      return\n    }\n\n    for (const element of triggerArray) {\n      element.classList.toggle(CLASS_NAME_COLLAPSED, !isOpen)\n      element.setAttribute('aria-expanded', isOpen)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // preventDefault only for <a> elements (which change the URL) not inside the collapsible element\n  if (event.target.tagName === 'A' || (event.delegateTarget && event.delegateTarget.tagName === 'A')) {\n    event.preventDefault()\n  }\n\n  for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {\n    Collapse.getOrCreateInstance(element, { toggle: false }).toggle()\n  }\n})\n\nexport default Collapse\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap datepicker.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { Calendar } from 'vanilla-calendar-pro'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'datepicker'\nconst DATA_KEY = 'bs.datepicker'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CHANGE = `change${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUSIN_DATA_API = `focusin${EVENT_KEY}${DATA_API_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"datepicker\"]'\n\nconst HIDE_DELAY = 100 // ms delay before hiding after selection\n\nconst Default = {\n  datepickerTheme: null, // 'light', 'dark', 'auto' - explicit theme for datepicker popover only\n  dateMin: null,\n  dateMax: null,\n  dateFormat: null, // Intl.DateTimeFormat options, or function(date, locale) => string\n  displayElement: null, // Element to show formatted date (defaults to element for buttons)\n  displayMonthsCount: 1, // Number of months to display side-by-side\n  firstWeekday: 1, // Monday\n  inline: false, // Render calendar inline (no popup)\n  locale: 'default',\n  positionElement: null, // Element to position calendar relative to (defaults to input)\n  selectedDates: [],\n  selectionMode: 'single', // 'single', 'multiple', 'multiple-ranged'\n  placement: 'left', // 'left', 'center', 'right', 'auto'\n  vcpOptions: {} // Pass-through for any VCP option\n}\n\nconst DefaultType = {\n  datepickerTheme: '(null|string)',\n  dateMin: '(null|string|number|object)',\n  dateMax: '(null|string|number|object)',\n  dateFormat: '(null|object|function)',\n  displayElement: '(null|string|element|boolean)',\n  displayMonthsCount: 'number',\n  firstWeekday: 'number',\n  inline: 'boolean',\n  locale: 'string',\n  positionElement: '(null|string|element)',\n  selectedDates: 'array',\n  selectionMode: 'string',\n  placement: 'string',\n  vcpOptions: 'object'\n}\n\n/**\n * Class definition\n */\n\nclass Datepicker extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._calendar = null\n    this._isShown = false\n\n    this._initCalendar()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    return this._isShown ? this.hide() : this.show()\n  }\n\n  show() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || isDisabled(this._element) || this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.show()\n    this._isShown = true\n\n    EventHandler.trigger(this._element, EVENT_SHOWN)\n  }\n\n  hide() {\n    if (this._config.inline) {\n      return // Inline calendars are always visible\n    }\n\n    if (!this._calendar || !this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._calendar.hide()\n    this._isShown = false\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  dispose() {\n    if (this._themeObserver) {\n      this._themeObserver.disconnect()\n      this._themeObserver = null\n    }\n\n    if (this._calendar) {\n      this._calendar.destroy()\n    }\n\n    this._calendar = null\n    super.dispose()\n  }\n\n  getSelectedDates() {\n    const dates = this._calendar?.context?.selectedDates\n    return dates ? [...dates] : []\n  }\n\n  setSelectedDates(dates) {\n    if (this._calendar) {\n      this._calendar.set({ selectedDates: dates })\n    }\n  }\n\n  // Private\n  _initCalendar() {\n    this._isInput = this._element.tagName === 'INPUT'\n    this._isInline = this._config.inline\n\n    // For inline mode, look for a hidden input child to bind to\n    if (this._isInline && !this._isInput) {\n      this._boundInput = this._element.querySelector('input[type=\"hidden\"], input[name]')\n    }\n\n    this._positionElement = this._resolvePositionElement()\n    this._displayElement = this._resolveDisplayElement()\n\n    const calendarOptions = this._buildCalendarOptions()\n\n    // Create calendar on the position element (for correct popup positioning)\n    // but value updates still go to this._element (the input)\n    this._calendar = new Calendar(this._positionElement, calendarOptions)\n    this._calendar.init()\n\n    // Watch for theme changes on ancestor elements (for live theme switching)\n    this._setupThemeObserver()\n\n    // Set initial value if input has a value\n    if (this._isInput && this._element.value) {\n      this._parseInputValue()\n    }\n\n    // Populate input/display with preselected dates\n    this._updateDisplayWithSelectedDates()\n  }\n\n  _updateDisplayWithSelectedDates() {\n    const { selectedDates } = this._config\n    if (!selectedDates || selectedDates.length === 0) {\n      return\n    }\n\n    const formattedDate = this._formatDateForInput(selectedDates)\n\n    if (this._isInput) {\n      this._element.value = formattedDate\n    }\n\n    if (this._boundInput) {\n      this._boundInput.value = selectedDates.join(',')\n    }\n\n    if (this._displayElement) {\n      this._displayElement.textContent = formattedDate\n    }\n  }\n\n  _resolvePositionElement() {\n    let { positionElement } = this._config\n\n    if (typeof positionElement === 'string') {\n      positionElement = document.querySelector(positionElement)\n    }\n\n    // Use input's parent if in form-adorn\n    if (!positionElement && this._isInput && !this._isInline) {\n      const parent = this._element.closest('.form-adorn')\n      if (parent) {\n        positionElement = parent\n      }\n    }\n\n    return positionElement || this._element\n  }\n\n  _resolveDisplayElement() {\n    const { displayElement } = this._config\n\n    if (typeof displayElement === 'string') {\n      return document.querySelector(displayElement)\n    }\n\n    // For buttons/non-inputs (not inline), look for a [data-bs-datepicker-display] child\n    if (displayElement === true || (displayElement === null && !this._isInput && !this._isInline)) {\n      const displayChild = this._element.querySelector('[data-bs-datepicker-display]')\n      return displayChild || this._element\n    }\n\n    return displayElement\n  }\n\n  _getThemeAncestor() {\n    return this._element.closest('[data-bs-theme]')\n  }\n\n  _getEffectiveTheme() {\n    // Priority: explicit datepickerTheme config > inherited from ancestor > none\n    const { datepickerTheme } = this._config\n    if (datepickerTheme) {\n      return datepickerTheme\n    }\n\n    const ancestor = this._getThemeAncestor()\n    return ancestor?.getAttribute('data-bs-theme') || null\n  }\n\n  _syncThemeAttribute(element) {\n    if (!element) {\n      return\n    }\n\n    const theme = this._getEffectiveTheme()\n\n    if (theme) {\n      // Copy theme to popover (needed because VCP appends to body, breaking CSS inheritance)\n      element.setAttribute('data-bs-theme', theme)\n    } else {\n      // No theme - remove attribute to allow natural inheritance\n      element.removeAttribute('data-bs-theme')\n    }\n  }\n\n  _setupThemeObserver() {\n    // Watch for theme changes on ancestor elements\n    const ancestor = this._getThemeAncestor()\n    if (!ancestor || this._config.datepickerTheme) {\n      // No ancestor to watch, or explicit datepickerTheme overrides\n      return\n    }\n\n    this._themeObserver = new MutationObserver(() => {\n      this._syncThemeAttribute(this._calendar?.context?.mainElement)\n    })\n\n    this._themeObserver.observe(ancestor, {\n      attributes: true,\n      attributeFilter: ['data-bs-theme']\n    })\n  }\n\n  _buildCalendarOptions() {\n    // Get theme for VCP - use 'system' for auto-detection if no explicit theme\n    const theme = this._getEffectiveTheme()\n    // VCP uses 'system' for auto, Bootstrap uses 'auto'\n    const vcpTheme = !theme || theme === 'auto' ? 'system' : theme\n\n    const calendarOptions = {\n      ...this._config.vcpOptions,\n      inputMode: !this._isInline,\n      positionToInput: this._config.placement,\n      firstWeekday: this._config.firstWeekday,\n      locale: this._config.locale,\n      selectionDatesMode: this._config.selectionMode,\n      selectedDates: this._config.selectedDates,\n      displayMonthsCount: this._config.displayMonthsCount,\n      type: this._config.displayMonthsCount > 1 ? 'multiple' : 'default',\n      selectedTheme: vcpTheme,\n      themeAttrDetect: '[data-bs-theme]',\n      onClickDate: (self, event) => this._handleDateClick(self, event),\n      onInit: self => {\n        this._syncThemeAttribute(self.context.mainElement)\n      },\n      onShow: () => {\n        this._isShown = true\n        this._syncThemeAttribute(this._calendar.context.mainElement)\n      },\n      onHide: () => {\n        this._isShown = false\n      }\n    }\n\n    // Navigate to the month of the first selected date\n    if (this._config.selectedDates.length > 0) {\n      const firstDate = this._parseDate(this._config.selectedDates[0])\n      calendarOptions.selectedMonth = firstDate.getMonth()\n      calendarOptions.selectedYear = firstDate.getFullYear()\n    }\n\n    if (this._config.dateMin) {\n      calendarOptions.dateMin = this._config.dateMin\n    }\n\n    if (this._config.dateMax) {\n      calendarOptions.dateMax = this._config.dateMax\n    }\n\n    return calendarOptions\n  }\n\n  _handleDateClick(self, event) {\n    const selectedDates = [...self.context.selectedDates]\n\n    if (selectedDates.length > 0) {\n      const formattedDate = this._formatDateForInput(selectedDates)\n\n      if (this._isInput) {\n        this._element.value = formattedDate\n      }\n\n      if (this._boundInput) {\n        this._boundInput.value = selectedDates.join(',')\n      }\n\n      if (this._displayElement) {\n        this._displayElement.textContent = formattedDate\n      }\n    }\n\n    EventHandler.trigger(this._element, EVENT_CHANGE, {\n      dates: selectedDates,\n      event\n    })\n\n    this._maybeHideAfterSelection(selectedDates)\n  }\n\n  _maybeHideAfterSelection(selectedDates) {\n    if (this._isInline) {\n      return\n    }\n\n    const shouldHide =\n      (this._config.selectionMode === 'single' && selectedDates.length > 0) ||\n      (this._config.selectionMode === 'multiple-ranged' && selectedDates.length >= 2)\n\n    if (shouldHide) {\n      setTimeout(() => this.hide(), HIDE_DELAY)\n    }\n  }\n\n  _parseDate(dateStr) {\n    const [year, month, day] = dateStr.split('-')\n    return new Date(year, month - 1, day)\n  }\n\n  _formatDate(dateStr) {\n    const date = this._parseDate(dateStr)\n    const locale = this._config.locale === 'default' ? undefined : this._config.locale\n    const { dateFormat } = this._config\n\n    // Custom function formatter\n    if (typeof dateFormat === 'function') {\n      return dateFormat(date, locale)\n    }\n\n    // Intl.DateTimeFormat options object\n    if (dateFormat && typeof dateFormat === 'object') {\n      return new Intl.DateTimeFormat(locale, dateFormat).format(date)\n    }\n\n    // Default: locale-aware formatting\n    return date.toLocaleDateString(locale)\n  }\n\n  _formatDateForInput(dates) {\n    if (dates.length === 0) {\n      return ''\n    }\n\n    if (dates.length === 1) {\n      return this._formatDate(dates[0])\n    }\n\n    // For date ranges, use en-dash; for multiple dates, use comma\n    const separator = this._config.selectionMode === 'multiple-ranged' ? ' – ' : ', '\n    return dates.map(d => this._formatDate(d)).join(separator)\n  }\n\n  _parseInputValue() {\n    // Try to parse the input value as a date\n    const value = this._element.value.trim()\n    if (!value) {\n      return\n    }\n\n    const date = new Date(value)\n    if (!Number.isNaN(date.getTime())) {\n      const year = date.getFullYear()\n      const month = String(date.getMonth() + 1).padStart(2, '0')\n      const day = String(date.getDate()).padStart(2, '0')\n      const formatted = `${year}-${month}-${day}`\n      this._calendar.set({ selectedDates: [formatted] })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  // Only handle if not an input (inputs use focus)\n  // Skip inline datepickers (they're always visible)\n  if (this.tagName === 'INPUT' || this.dataset.bsInline === 'true') {\n    return\n  }\n\n  event.preventDefault()\n  Datepicker.getOrCreateInstance(this).toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUSIN_DATA_API, SELECTOR_DATA_TOGGLE, function () {\n  // Handle focus for input elements\n  if (this.tagName !== 'INPUT') {\n    return\n  }\n\n  Datepicker.getOrCreateInstance(this).show()\n})\n\n// Auto-initialize inline datepickers on DOMContentLoaded\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of document.querySelectorAll(`${SELECTOR_DATA_TOGGLE}[data-bs-inline=\"true\"]`)) {\n    Datepicker.getOrCreateInstance(element)\n  }\n})\n\nexport default Datepicker\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dialog.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { isVisible } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dialog'\nconst DATA_KEY = 'bs.dialog'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_CANCEL = `cancel${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_STATIC = 'dialog-static'\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_NONMODAL = 'dialog-nonmodal'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\nconst SELECTOR_OPEN_MODAL_DIALOG = 'dialog.dialog[open]:not(.dialog-nonmodal)'\n\nconst Default = {\n  backdrop: true, // true (click dismisses) or 'static' (click does nothing) - only applies to modal dialogs\n  keyboard: true,\n  modal: true // true uses showModal(), false uses show() for non-modal dialogs\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  modal: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Dialog extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isTransitioning = false\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._element.open ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {\n      relatedTarget\n    })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    if (this._config.modal) {\n      // Modal dialog: use showModal() for focus trapping, backdrop, and top layer\n      this._element.showModal()\n      // Prevent body scroll for modal dialogs\n      document.body.classList.add(CLASS_NAME_OPEN)\n    } else {\n      // Non-modal dialog: use show() - no backdrop, no focus trap, no top layer\n      this._element.classList.add(CLASS_NAME_NONMODAL)\n      this._element.show()\n    }\n\n    this._queueCallback(() => {\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }, this._element, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._element.open || this._isTransitioning) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._isTransitioning = true\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(this._element, EVENT_KEY)\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // Provided for API consistency with Modal.\n    // Native dialogs handle their own positioning.\n  }\n\n  // Private\n  _hideDialog() {\n    this._element.close()\n    this._element.classList.remove(CLASS_NAME_NONMODAL)\n    this._isTransitioning = false\n\n    // Only restore body scroll if no other modal dialogs are open\n    if (!document.querySelector(SELECTOR_OPEN_MODAL_DIALOG)) {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n    }\n\n    EventHandler.trigger(this._element, EVENT_HIDDEN)\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains('fade')\n  }\n\n  _triggerBackdropTransition() {\n    const hidePreventedEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hidePreventedEvent.defaultPrevented) {\n      return\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n    }, this._element)\n  }\n\n  _addEventListeners() {\n    // Handle native cancel event (Escape key) - only fires for modal dialogs\n    EventHandler.on(this._element, 'cancel', event => {\n      // Prevent native close behavior - we'll handle it\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle Escape key for non-modal dialogs (native cancel doesn't fire for show())\n    EventHandler.on(this._element, 'keydown', event => {\n      if (event.key !== 'Escape' || this._config.modal) {\n        return\n      }\n\n      event.preventDefault()\n\n      if (!this._config.keyboard) {\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_CANCEL)\n      this.hide()\n    })\n\n    // Handle backdrop clicks (only applies to modal dialogs)\n    // Native <dialog> fires click on the dialog element when backdrop is clicked\n    EventHandler.on(this._element, 'click', event => {\n      // Only handle clicks directly on the dialog (backdrop area)\n      // Non-modal dialogs don't have a backdrop\n      if (event.target !== this._element || !this._config.modal) {\n        return\n      }\n\n      if (this._config.backdrop === 'static') {\n        this._triggerBackdropTransition()\n        return\n      }\n\n      // Default: click backdrop to dismiss\n      this.hide()\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  EventHandler.one(target, EVENT_SHOW, showEvent => {\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // Get config from trigger's data attributes\n  const config = Manipulator.getDataAttributes(this)\n\n  // Check if trigger is inside an open dialog\n  const currentDialog = this.closest('dialog[open]')\n  const shouldSwap = currentDialog && currentDialog !== target\n\n  if (shouldSwap) {\n    // Open new dialog first (its backdrop appears over current)\n    const newDialog = Dialog.getOrCreateInstance(target, config)\n    newDialog.show(this)\n\n    // Close the current dialog (no backdrop flash since new one is already open)\n    const currentInstance = Dialog.getInstance(currentDialog)\n    if (currentInstance) {\n      currentInstance.hide()\n    }\n\n    return\n  }\n\n  const data = Dialog.getOrCreateInstance(target, config)\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/floating-ui.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { isRTL } from './index.js'\n\n/**\n * Breakpoints for responsive placement (matches SCSS $grid-breakpoints)\n */\nexport const BREAKPOINTS = {\n  sm: 576,\n  md: 768,\n  lg: 1024,\n  xl: 1280,\n  '2xl': 1536\n}\n\n/**\n * Default placement with RTL support\n */\nexport const getDefaultPlacement = (fallback = 'bottom') => {\n  if (fallback.includes('-start') || fallback.includes('-end')) {\n    const [side, alignment] = fallback.split('-')\n    const flippedAlignment = alignment === 'start' ? 'end' : 'start'\n    return isRTL() ? `${side}-${flippedAlignment}` : fallback\n  }\n\n  return fallback\n}\n\n/**\n * Parse a placement string that may contain responsive prefixes\n * Example: \"bottom-start md:top-end lg:right\" returns { xs: 'bottom-start', md: 'top-end', lg: 'right' }\n *\n * @param {string} placementString - The placement string to parse\n * @param {string} defaultPlacement - The default placement to use for xs/base\n * @returns {object|null} - Object with breakpoint keys and placement values, or null if not responsive\n */\nexport const parseResponsivePlacement = (placementString, defaultPlacement = 'bottom') => {\n  // Check if placement contains responsive prefixes (e.g., \"bottom-start md:top-end\")\n  if (!placementString || !placementString.includes(':')) {\n    return null\n  }\n\n  // Parse the placement string into breakpoint-keyed object\n  const parts = placementString.split(/\\s+/)\n  const placements = { xs: defaultPlacement } // Default fallback\n\n  for (const part of parts) {\n    if (part.includes(':')) {\n      // Responsive placement like \"md:top-end\"\n      const [breakpoint, placement] = part.split(':')\n      if (BREAKPOINTS[breakpoint] !== undefined) {\n        placements[breakpoint] = placement\n      }\n    } else {\n      // Base placement (no prefix = xs/default)\n      placements.xs = part\n    }\n  }\n\n  return placements\n}\n\n/**\n * Get the active placement for the current viewport width\n *\n * @param {object} responsivePlacements - Object with breakpoint keys and placement values\n * @param {string} defaultPlacement - Fallback placement\n * @returns {string} - The active placement for current viewport\n */\nexport const getResponsivePlacement = (responsivePlacements, defaultPlacement = 'bottom') => {\n  if (!responsivePlacements) {\n    return defaultPlacement\n  }\n\n  // Get current viewport width\n  const viewportWidth = window.innerWidth\n\n  // Find the largest breakpoint that matches\n  let activePlacement = responsivePlacements.xs || defaultPlacement\n\n  // Check breakpoints in order (sm, md, lg, xl, 2xl)\n  const breakpointOrder = ['sm', 'md', 'lg', 'xl', '2xl']\n\n  for (const breakpoint of breakpointOrder) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    if (viewportWidth >= minWidth && responsivePlacements[breakpoint]) {\n      activePlacement = responsivePlacements[breakpoint]\n    }\n  }\n\n  return activePlacement\n}\n\n/**\n * Create media query listeners for responsive placement changes\n *\n * @param {Function} callback - Callback to run when breakpoint changes\n * @returns {Array} - Array of { mql, handler } objects for cleanup\n */\nexport const createBreakpointListeners = callback => {\n  const listeners = []\n\n  for (const breakpoint of Object.keys(BREAKPOINTS)) {\n    const minWidth = BREAKPOINTS[breakpoint]\n    const mql = window.matchMedia(`(min-width: ${minWidth}px)`)\n\n    mql.addEventListener('change', callback)\n    listeners.push({ mql, handler: callback })\n  }\n\n  return listeners\n}\n\n/**\n * Clean up media query listeners\n *\n * @param {Array} listeners - Array of { mql, handler } objects\n */\nexport const disposeBreakpointListeners = listeners => {\n  for (const { mql, handler } of listeners) {\n    mql.removeEventListener('change', handler)\n  }\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  execute,\n  getElement,\n  getNextActiveElement,\n  isDisabled,\n  isElement,\n  isRTL,\n  isVisible,\n  noop\n} from './util/index.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'dropdown'\nconst DATA_KEY = 'bs.dropdown'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst ESCAPE_KEY = 'Escape'\nconst TAB_KEY = 'Tab'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\nconst ENTER_KEY = 'Enter'\nconst SPACE_KEY = ' '\nconst RIGHT_MOUSE_BUTTON = 2\n\n// Hover intent delay (ms) - grace period before closing submenu\nconst SUBMENU_CLOSE_DELAY = 100\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dropdown\"]:not(.disabled):not(:disabled)'\nconst SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE}.${CLASS_NAME_SHOW}`\nconst SELECTOR_MENU = '.dropdown-menu'\nconst SELECTOR_SUBMENU = '.dropdown-submenu'\nconst SELECTOR_SUBMENU_TOGGLE = '.dropdown-submenu > .dropdown-item'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-item:not(.disabled):not(:disabled)'\n\n// Default logical placement (uses start/end which get resolved to left/right based on RTL)\nconst DEFAULT_PLACEMENT = 'bottom-start'\nconst SUBMENU_PLACEMENT = 'end-start'\n\n// Resolve logical placement (start/end) to physical (left/right) based on RTL\nconst resolveLogicalPlacement = placement => {\n  if (isRTL()) {\n    // RTL: start → right, end → left\n    return placement.replace(/^start(?=-|$)/, 'right').replace(/^end(?=-|$)/, 'left')\n  }\n\n  // LTR: start → left, end → right\n  return placement.replace(/^start(?=-|$)/, 'left').replace(/^end(?=-|$)/, 'right')\n}\n\n// Helper for barycentric coordinate calculation (point in triangle check)\nconst triangleSign = (p1, p2, p3) =>\n  ((p1.x - p3.x) * (p2.y - p3.y)) - ((p2.x - p3.x) * (p1.y - p3.y))\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  floatingConfig: null,\n  placement: DEFAULT_PLACEMENT,\n  reference: 'toggle',\n  // Submenu options\n  submenuTrigger: 'both', // 'click', 'hover', or 'both'\n  submenuDelay: SUBMENU_CLOSE_DELAY\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  floatingConfig: '(null|object|function)',\n  placement: 'string',\n  reference: '(string|element|object)',\n  submenuTrigger: 'string',\n  submenuDelay: 'number'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    this._floatingCleanup = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n    this._parent = this._element.parentNode // dropdown wrapper\n    this._isSubmenu = this._parent.classList.contains('dropdown-submenu')\n    this._openSubmenus = new Map() // Map of submenu element -> cleanup function\n    this._submenuCloseTimeouts = new Map() // Map of submenu element -> timeout ID\n    this._hoverIntentData = null // For safe triangle calculation\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.prev(this._element, SELECTOR_MENU)[0] ||\n      SelectorEngine.findOne(SELECTOR_MENU, this._parent)\n\n    // Parse responsive placements on init\n    this._parseResponsivePlacements()\n\n    // Set up submenu event listeners\n    this._setupSubmenuListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    return this._isShown() ? this.hide() : this.show()\n  }\n\n  show() {\n    if (isDisabled(this._element) || this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, relatedTarget)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._createFloating()\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    this._element.focus()\n    this._element.setAttribute('aria-expanded', 'true')\n\n    this._menu.classList.add(CLASS_NAME_SHOW)\n    this._element.classList.add(CLASS_NAME_SHOW)\n    this._parent.classList.add(CLASS_NAME_SHOW)\n    EventHandler.trigger(this._element, EVENT_SHOWN, relatedTarget)\n  }\n\n  hide() {\n    if (isDisabled(this._element) || !this._isShown()) {\n      return\n    }\n\n    const relatedTarget = {\n      relatedTarget: this._element\n    }\n\n    this._completeHide(relatedTarget)\n  }\n\n  dispose() {\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    this._closeAllSubmenus()\n    this._clearAllSubmenuTimeouts()\n    super.dispose()\n  }\n\n  update() {\n    if (this._floatingCleanup) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Private\n  _completeHide(relatedTarget) {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE, relatedTarget)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    // Close all open submenus first\n    this._closeAllSubmenus()\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._disposeFloating()\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._parent.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'placement')\n    Manipulator.removeDataAttribute(this._menu, 'display')\n    EventHandler.trigger(this._element, EVENT_HIDDEN, relatedTarget)\n  }\n\n  _getConfig(config) {\n    config = super._getConfig(config)\n\n    if (typeof config.reference === 'object' && !isElement(config.reference) &&\n      typeof config.reference.getBoundingClientRect !== 'function'\n    ) {\n      // Floating UI virtual elements require a getBoundingClientRect method\n      throw new TypeError(`${NAME.toUpperCase()}: Option \"reference\" provided type \"object\" without a required \"getBoundingClientRect\" method.`)\n    }\n\n    return config\n  }\n\n  _createFloating() {\n    if (this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'display', 'static')\n      return\n    }\n\n    let referenceElement = this._element\n\n    if (this._config.reference === 'parent') {\n      referenceElement = this._parent\n    } else if (isElement(this._config.reference)) {\n      referenceElement = getElement(this._config.reference)\n    } else if (typeof this._config.reference === 'object') {\n      referenceElement = this._config.reference\n    }\n\n    // Initial position update\n    this._updateFloatingPosition(referenceElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      referenceElement,\n      this._menu,\n      () => this._updateFloatingPosition(referenceElement)\n    )\n  }\n\n  async _updateFloatingPosition(referenceElement = null) {\n    if (!this._menu) {\n      return\n    }\n\n    if (!referenceElement) {\n      if (this._config.reference === 'parent') {\n        referenceElement = this._parent\n      } else if (isElement(this._config.reference)) {\n        referenceElement = getElement(this._config.reference)\n      } else if (typeof this._config.reference === 'object') {\n        referenceElement = this._config.reference\n      } else {\n        referenceElement = this._element\n      }\n    }\n\n    const placement = this._getPlacement()\n    const middleware = this._getFloatingMiddleware()\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    await this._applyFloatingPosition(\n      referenceElement,\n      this._menu,\n      floatingConfig.placement,\n      floatingConfig.middleware\n    )\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    // If we have responsive placements, find the appropriate one for current viewport\n    const placement = this._responsivePlacements ?\n      getResponsivePlacement(this._responsivePlacements, DEFAULT_PLACEMENT) :\n      this._config.placement\n\n    // Resolve logical placements (start/end) to physical (left/right) based on RTL\n    return resolveLogicalPlacement(placement)\n  }\n\n  _parseResponsivePlacements() {\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, DEFAULT_PLACEMENT)\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  _getOffset() {\n    const { offset: offsetConfig } = this._config\n\n    if (typeof offsetConfig === 'string') {\n      return offsetConfig.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offsetConfig === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offsetConfig({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offsetConfig\n  }\n\n  _getFloatingMiddleware() {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._getFallbackPlacements()\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    return middleware\n  }\n\n  _getFallbackPlacements() {\n    // Get appropriate fallback placements based on current placement\n    // Fallbacks should preserve alignment (start/end) when possible\n    const placement = this._getPlacement()\n\n    // Handle all possible Floating UI placements\n    const fallbackMap = {\n      bottom: ['top', 'bottom-start', 'bottom-end', 'top-start', 'top-end'],\n      'bottom-start': ['top-start', 'bottom-end', 'top-end'],\n      'bottom-end': ['top-end', 'bottom-start', 'top-start'],\n      top: ['bottom', 'top-start', 'top-end', 'bottom-start', 'bottom-end'],\n      'top-start': ['bottom-start', 'top-end', 'bottom-end'],\n      'top-end': ['bottom-end', 'top-start', 'bottom-start'],\n      right: ['left', 'right-start', 'right-end', 'left-start', 'left-end'],\n      'right-start': ['left-start', 'right-end', 'left-end', 'top-start', 'bottom-start'],\n      'right-end': ['left-end', 'right-start', 'left-start', 'top-end', 'bottom-end'],\n      left: ['right', 'left-start', 'left-end', 'right-start', 'right-end'],\n      'left-start': ['right-start', 'left-end', 'right-end', 'top-start', 'bottom-start'],\n      'left-end': ['right-end', 'left-start', 'right-start', 'top-end', 'bottom-end']\n    }\n\n    return fallbackMap[placement] || ['top', 'bottom', 'right', 'left']\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n  }\n\n  // Shared helper for positioning any floating element\n  async _applyFloatingPosition(reference, floating, placement, middleware) {\n    if (!floating.isConnected) {\n      return null\n    }\n\n    const { x, y, placement: finalPlacement } = await computePosition(\n      reference,\n      floating,\n      { placement, middleware }\n    )\n\n    if (!floating.isConnected) {\n      return null\n    }\n\n    Object.assign(floating.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`,\n      margin: '0'\n    })\n\n    Manipulator.setDataAttribute(floating, 'placement', finalPlacement)\n    return finalPlacement\n  }\n\n  // -------------------------------------------------------------------------\n  // Submenu handling\n  // -------------------------------------------------------------------------\n\n  _setupSubmenuListeners() {\n    // Set up hover listeners for submenu triggers\n    if (this._config.submenuTrigger === 'hover' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'mouseenter', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerEnter(event)\n      })\n\n      EventHandler.on(this._menu, 'mouseleave', SELECTOR_SUBMENU, event => {\n        this._onSubmenuLeave(event)\n      })\n\n      // Track mouse movement for safe triangle calculation\n      EventHandler.on(this._menu, 'mousemove', event => {\n        this._trackMousePosition(event)\n      })\n    }\n\n    // Set up click listener for submenu triggers\n    if (this._config.submenuTrigger === 'click' || this._config.submenuTrigger === 'both') {\n      EventHandler.on(this._menu, 'click', SELECTOR_SUBMENU_TOGGLE, event => {\n        this._onSubmenuTriggerClick(event)\n      })\n    }\n  }\n\n  _onSubmenuTriggerEnter(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Cancel any pending close timeout for this submenu\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    // Close other open submenus at the same level\n    this._closeSiblingSubmenus(submenuWrapper)\n\n    // Open this submenu\n    this._openSubmenu(trigger, submenu, submenuWrapper)\n  }\n\n  _onSubmenuLeave(event) {\n    const submenuWrapper = event.target.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu || !this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Check if we're moving toward the submenu (safe triangle)\n    if (this._isMovingTowardSubmenu(event, submenu)) {\n      return\n    }\n\n    // Schedule submenu close with delay\n    this._scheduleSubmenuClose(submenu, submenuWrapper)\n  }\n\n  _onSubmenuTriggerClick(event) {\n    const trigger = event.target.closest(SELECTOR_SUBMENU_TOGGLE)\n    if (!trigger) {\n      return\n    }\n\n    event.preventDefault()\n    event.stopPropagation()\n\n    const submenuWrapper = trigger.closest(SELECTOR_SUBMENU)\n    const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n    if (!submenu) {\n      return\n    }\n\n    // Toggle submenu\n    if (this._openSubmenus.has(submenu)) {\n      this._closeSubmenu(submenu, submenuWrapper)\n    } else {\n      this._closeSiblingSubmenus(submenuWrapper)\n      this._openSubmenu(trigger, submenu, submenuWrapper)\n    }\n  }\n\n  _openSubmenu(trigger, submenu, submenuWrapper) {\n    if (this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Set ARIA attributes\n    trigger.setAttribute('aria-expanded', 'true')\n    trigger.setAttribute('aria-haspopup', 'true')\n\n    // Position and show submenu\n    submenu.classList.add(CLASS_NAME_SHOW)\n    submenuWrapper.classList.add(CLASS_NAME_SHOW)\n\n    // Set up Floating UI positioning for submenu\n    const cleanup = this._createSubmenuFloating(trigger, submenu, submenuWrapper)\n    this._openSubmenus.set(submenu, cleanup)\n\n    // Set up mouseenter on submenu to cancel close timeout\n    EventHandler.on(submenu, 'mouseenter', () => {\n      this._cancelSubmenuCloseTimeout(submenu)\n    })\n  }\n\n  _closeSubmenu(submenu, submenuWrapper) {\n    if (!this._openSubmenus.has(submenu)) {\n      return\n    }\n\n    // Close any nested submenus first\n    const nestedSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, submenu)\n    for (const nested of nestedSubmenus) {\n      const nestedWrapper = nested.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(nested, nestedWrapper)\n    }\n\n    // Get the trigger\n    const trigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, submenuWrapper)\n\n    // Clean up Floating UI\n    const cleanup = this._openSubmenus.get(submenu)\n    if (cleanup) {\n      cleanup()\n    }\n\n    this._openSubmenus.delete(submenu)\n\n    // Remove event listeners\n    EventHandler.off(submenu, 'mouseenter')\n\n    // Update ARIA and visibility\n    if (trigger) {\n      trigger.setAttribute('aria-expanded', 'false')\n    }\n\n    submenu.classList.remove(CLASS_NAME_SHOW)\n    submenuWrapper.classList.remove(CLASS_NAME_SHOW)\n\n    // Clear inline styles\n    submenu.style.position = ''\n    submenu.style.left = ''\n    submenu.style.top = ''\n    submenu.style.margin = ''\n  }\n\n  _closeAllSubmenus() {\n    for (const [submenu] of this._openSubmenus) {\n      const submenuWrapper = submenu.closest(SELECTOR_SUBMENU)\n      this._closeSubmenu(submenu, submenuWrapper)\n    }\n  }\n\n  _closeSiblingSubmenus(currentSubmenuWrapper) {\n    // Find all sibling submenu wrappers and close their menus\n    const parent = currentSubmenuWrapper.parentNode\n    const siblingSubmenus = SelectorEngine.find(`${SELECTOR_SUBMENU} > ${SELECTOR_MENU}.${CLASS_NAME_SHOW}`, parent)\n\n    for (const siblingMenu of siblingSubmenus) {\n      const siblingWrapper = siblingMenu.closest(SELECTOR_SUBMENU)\n      if (siblingWrapper !== currentSubmenuWrapper) {\n        this._closeSubmenu(siblingMenu, siblingWrapper)\n      }\n    }\n  }\n\n  _createSubmenuFloating(trigger, submenu, submenuWrapper) {\n    const referenceElement = submenuWrapper\n    const placement = resolveLogicalPlacement(SUBMENU_PLACEMENT)\n    const middleware = [\n      offset({ mainAxis: 0, crossAxis: -4 }),\n      flip({\n        fallbackPlacements: [\n          resolveLogicalPlacement('start-start'),\n          resolveLogicalPlacement('end-end'),\n          resolveLogicalPlacement('start-end')\n        ]\n      }),\n      shift({ padding: 8 })\n    ]\n\n    const updatePosition = () => this._applyFloatingPosition(referenceElement, submenu, placement, middleware)\n\n    updatePosition()\n    return autoUpdate(referenceElement, submenu, updatePosition)\n  }\n\n  _scheduleSubmenuClose(submenu, submenuWrapper) {\n    this._cancelSubmenuCloseTimeout(submenu)\n\n    const timeoutId = setTimeout(() => {\n      this._closeSubmenu(submenu, submenuWrapper)\n      this._submenuCloseTimeouts.delete(submenu)\n    }, this._config.submenuDelay)\n\n    this._submenuCloseTimeouts.set(submenu, timeoutId)\n  }\n\n  _cancelSubmenuCloseTimeout(submenu) {\n    const timeoutId = this._submenuCloseTimeouts.get(submenu)\n    if (timeoutId) {\n      clearTimeout(timeoutId)\n      this._submenuCloseTimeouts.delete(submenu)\n    }\n  }\n\n  _clearAllSubmenuTimeouts() {\n    for (const timeoutId of this._submenuCloseTimeouts.values()) {\n      clearTimeout(timeoutId)\n    }\n\n    this._submenuCloseTimeouts.clear()\n  }\n\n  // -------------------------------------------------------------------------\n  // Hover intent / Safe triangle\n  // -------------------------------------------------------------------------\n\n  _trackMousePosition(event) {\n    this._hoverIntentData = {\n      x: event.clientX,\n      y: event.clientY,\n      timestamp: Date.now()\n    }\n  }\n\n  _isMovingTowardSubmenu(event, submenu) {\n    if (!this._hoverIntentData) {\n      return false\n    }\n\n    const submenuRect = submenu.getBoundingClientRect()\n    const currentPos = { x: event.clientX, y: event.clientY }\n    const lastPos = { x: this._hoverIntentData.x, y: this._hoverIntentData.y }\n\n    // Create a triangle from current position to submenu edges\n    // The triangle represents the \"safe zone\" for diagonal movement\n    const isRtl = isRTL()\n\n    // Determine which edge of the submenu to target based on direction\n    const targetX = isRtl ? submenuRect.right : submenuRect.left\n    const topCorner = { x: targetX, y: submenuRect.top }\n    const bottomCorner = { x: targetX, y: submenuRect.bottom }\n\n    // Check if cursor is moving toward the submenu\n    // by checking if the current position is within the safe triangle\n    return this._pointInTriangle(currentPos, lastPos, topCorner, bottomCorner)\n  }\n\n  _pointInTriangle(point, v1, v2, v3) {\n    // Barycentric coordinate method to check if point is inside triangle\n    const d1 = triangleSign(point, v1, v2)\n    const d2 = triangleSign(point, v2, v3)\n    const d3 = triangleSign(point, v3, v1)\n\n    const hasNeg = (d1 < 0) || (d2 < 0) || (d3 < 0)\n    const hasPos = (d1 > 0) || (d2 > 0) || (d3 > 0)\n\n    return !(hasNeg && hasPos)\n  }\n\n  // -------------------------------------------------------------------------\n  // Keyboard navigation\n  // -------------------------------------------------------------------------\n\n  _selectMenuItem({ key, target }) {\n    // Get items only from the current menu level (not nested submenus)\n    // If target is inside a menu, use that menu; otherwise use the main menu\n    const currentMenu = target.closest(SELECTOR_MENU) || this._menu\n    const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n      .filter(element => isVisible(element))\n\n    if (!items.length) {\n      return\n    }\n\n    // if target isn't included in items (e.g. when expanding the dropdown)\n    // allow cycling to get the last item in case key equals ARROW_UP_KEY\n    getNextActiveElement(items, target, key === ARROW_DOWN_KEY, !items.includes(target)).focus()\n  }\n\n  _handleSubmenuKeydown(event) {\n    const { key, target } = event\n    const isRtl = isRTL()\n\n    // Determine the \"enter submenu\" and \"exit submenu\" keys based on RTL\n    const enterKey = isRtl ? ARROW_LEFT_KEY : ARROW_RIGHT_KEY\n    const exitKey = isRtl ? ARROW_RIGHT_KEY : ARROW_LEFT_KEY\n\n    // Check if target is a submenu trigger\n    const submenuWrapper = target.closest(SELECTOR_SUBMENU)\n    const isSubmenuTrigger = submenuWrapper && target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    // Handle Enter/Space on submenu trigger\n    if ((key === ENTER_KEY || key === SPACE_KEY) && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Right arrow (or Left in RTL) - enter submenu\n    if (key === enterKey && isSubmenuTrigger) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const submenu = SelectorEngine.findOne(SELECTOR_MENU, submenuWrapper)\n      if (submenu) {\n        this._closeSiblingSubmenus(submenuWrapper)\n        this._openSubmenu(target, submenu, submenuWrapper)\n        // Focus first item in submenu\n        requestAnimationFrame(() => {\n          const firstItem = SelectorEngine.findOne(SELECTOR_VISIBLE_ITEMS, submenu)\n          if (firstItem) {\n            firstItem.focus()\n          }\n        })\n      }\n\n      return true\n    }\n\n    // Handle Left arrow (or Right in RTL) - exit submenu\n    if (key === exitKey) {\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper) {\n        event.preventDefault()\n        event.stopPropagation()\n\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        this._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return true\n      }\n    }\n\n    // Handle Home/End keys\n    if (key === HOME_KEY || key === END_KEY) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      const currentMenu = target.closest(SELECTOR_MENU)\n      const items = SelectorEngine.find(`:scope > li > ${SELECTOR_VISIBLE_ITEMS}, :scope > ${SELECTOR_VISIBLE_ITEMS}`, currentMenu)\n        .filter(element => isVisible(element))\n\n      if (items.length) {\n        const targetItem = key === HOME_KEY ? items[0] : items[items.length - 1]\n        targetItem.focus()\n      }\n\n      return true\n    }\n\n    return false\n  }\n\n  static clearMenus(event) {\n    if (event.button === RIGHT_MOUSE_BUTTON || (event.type === 'keyup' && event.key !== TAB_KEY)) {\n      return\n    }\n\n    const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN)\n\n    for (const toggle of openToggles) {\n      const context = Dropdown.getInstance(toggle)\n      if (!context || context._config.autoClose === false) {\n        continue\n      }\n\n      const composedPath = event.composedPath()\n      const isMenuTarget = composedPath.includes(context._menu)\n      if (\n        composedPath.includes(context._element) ||\n        (context._config.autoClose === 'inside' && !isMenuTarget) ||\n        (context._config.autoClose === 'outside' && isMenuTarget)\n      ) {\n        continue\n      }\n\n      // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu\n      if (context._menu.contains(event.target) && ((event.type === 'keyup' && event.key === TAB_KEY) || /input|select|option|textarea|form/i.test(event.target.tagName))) {\n        continue\n      }\n\n      const relatedTarget = { relatedTarget: context._element }\n\n      if (event.type === 'click') {\n        relatedTarget.clickEvent = event\n      }\n\n      context._completeHide(relatedTarget)\n    }\n  }\n\n  static dataApiKeydownHandler(event) {\n    // If not a relevant key => not a dropdown command\n    const isInput = /input|textarea/i.test(event.target.tagName)\n    const isEscapeEvent = event.key === ESCAPE_KEY\n    const isUpOrDownEvent = [ARROW_UP_KEY, ARROW_DOWN_KEY].includes(event.key)\n    const isLeftOrRightEvent = [ARROW_LEFT_KEY, ARROW_RIGHT_KEY].includes(event.key)\n    const isHomeOrEndEvent = [HOME_KEY, END_KEY].includes(event.key)\n    const isEnterOrSpaceEvent = [ENTER_KEY, SPACE_KEY].includes(event.key)\n\n    // Allow Enter/Space only on submenu triggers\n    const isSubmenuTrigger = event.target.matches(SELECTOR_SUBMENU_TOGGLE)\n\n    if (!isUpOrDownEvent && !isEscapeEvent && !isLeftOrRightEvent && !isHomeOrEndEvent &&\n        !(isEnterOrSpaceEvent && isSubmenuTrigger)) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/\n    const getToggleButton = this.matches(SELECTOR_DATA_TOGGLE) ?\n      this :\n      (SelectorEngine.prev(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.next(this, SELECTOR_DATA_TOGGLE)[0] ||\n        SelectorEngine.findOne(SELECTOR_DATA_TOGGLE, event.delegateTarget.parentNode))\n\n    if (!getToggleButton) {\n      return\n    }\n\n    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    // Handle submenu navigation first\n    if ((isLeftOrRightEvent || isHomeOrEndEvent || (isEnterOrSpaceEvent && isSubmenuTrigger)) && instance._handleSubmenuKeydown(event)) {\n      return\n    }\n\n    // Handle Up/Down navigation\n    if (isUpOrDownEvent) {\n      event.preventDefault()\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    // Handle Escape\n    if (isEscapeEvent && instance._isShown()) {\n      event.preventDefault()\n      event.stopPropagation()\n\n      // If in a submenu, close just that submenu\n      const currentMenu = event.target.closest(SELECTOR_MENU)\n      const parentSubmenuWrapper = currentMenu?.closest(SELECTOR_SUBMENU)\n\n      if (parentSubmenuWrapper && instance._openSubmenus.size > 0) {\n        const parentTrigger = SelectorEngine.findOne(SELECTOR_SUBMENU_TOGGLE, parentSubmenuWrapper)\n        instance._closeSubmenu(currentMenu, parentSubmenuWrapper)\n        if (parentTrigger) {\n          parentTrigger.focus()\n        }\n\n        return\n      }\n\n      // Otherwise close the whole dropdown\n      instance.hide()\n      getToggleButton.focus()\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_DATA_TOGGLE, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_KEYDOWN_DATA_API, SELECTOR_MENU, Dropdown.dataApiKeydownHandler)\nEventHandler.on(document, EVENT_CLICK_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_KEYUP_DATA_API, Dropdown.clearMenus)\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  event.preventDefault()\n  Dropdown.getOrCreateInstance(this).toggle()\n})\n\nexport default Dropdown\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/backdrop.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport Config from './config.js'\nimport {\n  execute, executeAfterTransition, getElement, reflow\n} from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'backdrop'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst EVENT_MOUSEDOWN = `mousedown.bs.${NAME}`\n\nconst Default = {\n  className: 'modal-backdrop',\n  clickCallback: null,\n  isAnimated: false,\n  isVisible: true, // if false, we use the backdrop helper without adding any element to the dom\n  rootElement: 'body' // give the choice to place backdrop under different elements\n}\n\nconst DefaultType = {\n  className: 'string',\n  clickCallback: '(function|null)',\n  isAnimated: 'boolean',\n  isVisible: 'boolean',\n  rootElement: '(element|string)'\n}\n\n/**\n * Class definition\n */\n\nclass Backdrop extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isAppended = false\n    this._element = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._append()\n\n    const element = this._getElement()\n    if (this._config.isAnimated) {\n      reflow(element)\n    }\n\n    element.classList.add(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      execute(callback)\n    })\n  }\n\n  hide(callback) {\n    if (!this._config.isVisible) {\n      execute(callback)\n      return\n    }\n\n    this._getElement().classList.remove(CLASS_NAME_SHOW)\n\n    this._emulateAnimation(() => {\n      this.dispose()\n      execute(callback)\n    })\n  }\n\n  dispose() {\n    if (!this._isAppended) {\n      return\n    }\n\n    EventHandler.off(this._element, EVENT_MOUSEDOWN)\n\n    this._element.remove()\n    this._isAppended = false\n  }\n\n  // Private\n  _getElement() {\n    if (!this._element) {\n      const backdrop = document.createElement('div')\n      backdrop.className = this._config.className\n      if (this._config.isAnimated) {\n        backdrop.classList.add(CLASS_NAME_FADE)\n      }\n\n      this._element = backdrop\n    }\n\n    return this._element\n  }\n\n  _configAfterMerge(config) {\n    // use getElement() with the default \"body\" to get a fresh Element on each instantiation\n    config.rootElement = getElement(config.rootElement)\n    return config\n  }\n\n  _append() {\n    if (this._isAppended) {\n      return\n    }\n\n    const element = this._getElement()\n    this._config.rootElement.append(element)\n\n    EventHandler.on(element, EVENT_MOUSEDOWN, () => {\n      execute(this._config.clickCallback)\n    })\n\n    this._isAppended = true\n  }\n\n  _emulateAnimation(callback) {\n    executeAfterTransition(callback, this._getElement(), this._config.isAnimated)\n  }\n}\n\nexport default Backdrop\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/focustrap.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport EventHandler from '../dom/event-handler.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'focustrap'\nconst DATA_KEY = 'bs.focustrap'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY}`\n\nconst TAB_KEY = 'Tab'\nconst TAB_NAV_FORWARD = 'forward'\nconst TAB_NAV_BACKWARD = 'backward'\n\nconst Default = {\n  autofocus: true,\n  trapElement: null // The element to trap focus inside of\n}\n\nconst DefaultType = {\n  autofocus: 'boolean',\n  trapElement: 'element'\n}\n\n/**\n * Class definition\n */\n\nclass FocusTrap extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n    this._isActive = false\n    this._lastTabNavDirection = null\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  activate() {\n    if (this._isActive) {\n      return\n    }\n\n    if (this._config.autofocus) {\n      this._config.trapElement.focus()\n    }\n\n    EventHandler.off(document, EVENT_KEY) // guard against infinite focus loop\n    EventHandler.on(document, EVENT_FOCUSIN, event => this._handleFocusin(event))\n    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event))\n\n    this._isActive = true\n  }\n\n  deactivate() {\n    if (!this._isActive) {\n      return\n    }\n\n    this._isActive = false\n    EventHandler.off(document, EVENT_KEY)\n  }\n\n  // Private\n  _handleFocusin(event) {\n    const { trapElement } = this._config\n\n    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {\n      return\n    }\n\n    const elements = SelectorEngine.focusableChildren(trapElement)\n\n    if (elements.length === 0) {\n      trapElement.focus()\n    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {\n      elements[elements.length - 1].focus()\n    } else {\n      elements[0].focus()\n    }\n  }\n\n  _handleKeydown(event) {\n    if (event.key !== TAB_KEY) {\n      return\n    }\n\n    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD\n  }\n}\n\nexport default FocusTrap\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/scrollBar.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Manipulator from '../dom/manipulator.js'\nimport SelectorEngine from '../dom/selector-engine.js'\nimport { isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst SELECTOR_FIXED_CONTENT = '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top'\nconst SELECTOR_STICKY_CONTENT = '.sticky-top'\nconst PROPERTY_PADDING = 'padding-right'\nconst PROPERTY_MARGIN = 'margin-right'\n\n/**\n * Class definition\n */\n\nclass ScrollBarHelper {\n  constructor() {\n    this._element = document.body\n  }\n\n  // Public\n  getWidth() {\n    // https://developer.mozilla.org/en-US/docs/Web/API/Window/innerWidth#usage_notes\n    const documentWidth = document.documentElement.clientWidth\n    return Math.abs(window.innerWidth - documentWidth)\n  }\n\n  hide() {\n    const width = this.getWidth()\n    this._disableOverFlow()\n    // give padding to element to balance the hidden scrollbar width\n    this._setElementAttributes(this._element, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    // trick: We adjust positive paddingRight and negative marginRight to sticky-top elements to keep showing fullwidth\n    this._setElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING, calculatedValue => calculatedValue + width)\n    this._setElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN, calculatedValue => calculatedValue - width)\n  }\n\n  reset() {\n    this._resetElementAttributes(this._element, 'overflow')\n    this._resetElementAttributes(this._element, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_FIXED_CONTENT, PROPERTY_PADDING)\n    this._resetElementAttributes(SELECTOR_STICKY_CONTENT, PROPERTY_MARGIN)\n  }\n\n  isOverflowing() {\n    return this.getWidth() > 0\n  }\n\n  // Private\n  _disableOverFlow() {\n    this._saveInitialAttribute(this._element, 'overflow')\n    this._element.style.overflow = 'hidden'\n  }\n\n  _setElementAttributes(selector, styleProperty, callback) {\n    const scrollbarWidth = this.getWidth()\n    const manipulationCallBack = element => {\n      if (element !== this._element && window.innerWidth > element.clientWidth + scrollbarWidth) {\n        return\n      }\n\n      this._saveInitialAttribute(element, styleProperty)\n      const calculatedValue = window.getComputedStyle(element).getPropertyValue(styleProperty)\n      element.style.setProperty(styleProperty, `${callback(Number.parseFloat(calculatedValue))}px`)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _saveInitialAttribute(element, styleProperty) {\n    const actualValue = element.style.getPropertyValue(styleProperty)\n    if (actualValue) {\n      Manipulator.setDataAttribute(element, styleProperty, actualValue)\n    }\n  }\n\n  _resetElementAttributes(selector, styleProperty) {\n    const manipulationCallBack = element => {\n      const value = Manipulator.getDataAttribute(element, styleProperty)\n      // We only want to remove the property if the value is `null`; the value can also be zero\n      if (value === null) {\n        element.style.removeProperty(styleProperty)\n        return\n      }\n\n      Manipulator.removeDataAttribute(element, styleProperty)\n      element.style.setProperty(styleProperty, value)\n    }\n\n    this._applyManipulationCallback(selector, manipulationCallBack)\n  }\n\n  _applyManipulationCallback(selector, callBack) {\n    if (isElement(selector)) {\n      callBack(selector)\n      return\n    }\n\n    for (const sel of SelectorEngine.find(selector, this._element)) {\n      callBack(sel)\n    }\n  }\n}\n\nexport default ScrollBarHelper\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap offcanvas.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport Backdrop from './util/backdrop.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport FocusTrap from './util/focustrap.js'\nimport {\n  isDisabled,\n  isVisible\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'offcanvas'\nconst DATA_KEY = 'bs.offcanvas'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\nconst ESCAPE_KEY = 'Escape'\n\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\nconst CLASS_NAME_HIDING = 'hiding'\nconst CLASS_NAME_BACKDROP = 'offcanvas-backdrop'\nconst OPEN_SELECTOR = '.offcanvas.show'\n\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"offcanvas\"]'\n\nconst Default = {\n  backdrop: true,\n  keyboard: true,\n  scroll: false\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  keyboard: 'boolean',\n  scroll: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Offcanvas extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._isShown = false\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle(relatedTarget) {\n    return this._isShown ? this.hide() : this.show(relatedTarget)\n  }\n\n  show(relatedTarget) {\n    if (this._isShown) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, { relatedTarget })\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._isShown = true\n    this._backdrop.show()\n\n    if (!this._config.scroll) {\n      new ScrollBarHelper().hide()\n    }\n\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.classList.add(CLASS_NAME_SHOWING)\n\n    const completeCallBack = () => {\n      if (!this._config.scroll || this._config.backdrop) {\n        this._focustrap.activate()\n      }\n\n      this._element.classList.add(CLASS_NAME_SHOW)\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN, { relatedTarget })\n    }\n\n    this._queueCallback(completeCallBack, this._element, true)\n  }\n\n  hide() {\n    if (!this._isShown) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    this._focustrap.deactivate()\n    this._element.blur()\n    this._isShown = false\n    this._element.classList.add(CLASS_NAME_HIDING)\n    this._backdrop.hide()\n\n    const completeCallback = () => {\n      this._element.classList.remove(CLASS_NAME_SHOW, CLASS_NAME_HIDING)\n      this._element.removeAttribute('aria-modal')\n      this._element.removeAttribute('role')\n\n      if (!this._config.scroll) {\n        new ScrollBarHelper().reset()\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._queueCallback(completeCallback, this._element, true)\n  }\n\n  dispose() {\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n    super.dispose()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    const clickCallback = () => {\n      if (this._config.backdrop === 'static') {\n        EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n        return\n      }\n\n      this.hide()\n    }\n\n    // 'static' option will be translated to true, and booleans will keep their value\n    const isVisible = Boolean(this._config.backdrop)\n\n    return new Backdrop({\n      className: CLASS_NAME_BACKDROP,\n      isVisible,\n      isAnimated: true,\n      rootElement: this._element.parentNode,\n      clickCallback: isVisible ? clickCallback : null\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {\n      if (event.key !== ESCAPE_KEY) {\n        return\n      }\n\n      if (this._config.keyboard) {\n        this.hide()\n        return\n      }\n\n      EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    })\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  const target = SelectorEngine.getElementFromSelector(this)\n\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  EventHandler.one(target, EVENT_HIDDEN, () => {\n    // focus on trigger when it is closed\n    if (isVisible(this)) {\n      this.focus()\n    }\n  })\n\n  // avoid conflict when clicking a toggler of an offcanvas, while another is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen && alreadyOpen !== target) {\n    Offcanvas.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Offcanvas.getOrCreateInstance(target)\n  data.toggle(this)\n})\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const selector of SelectorEngine.find(OPEN_SELECTOR)) {\n    Offcanvas.getOrCreateInstance(selector).show()\n  }\n})\n\nEventHandler.on(window, EVENT_RESIZE, () => {\n  for (const element of SelectorEngine.find('[aria-modal][class*=show][class*=offcanvas-]')) {\n    if (getComputedStyle(element).position !== 'fixed') {\n      Offcanvas.getOrCreateInstance(element).hide()\n    }\n  }\n})\n\nenableDismissTrigger(Offcanvas)\n\nexport default Offcanvas\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap strength.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'strength'\nconst DATA_KEY = 'bs.strength'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_STRENGTH_CHANGE = `strengthChange${EVENT_KEY}`\n\nconst SELECTOR_DATA_STRENGTH = '[data-bs-strength]'\n\nconst STRENGTH_LEVELS = ['weak', 'fair', 'good', 'strong']\n\nconst Default = {\n  input: null, // Selector or element for password input\n  minLength: 8,\n  messages: {\n    weak: 'Weak',\n    fair: 'Fair',\n    good: 'Good',\n    strong: 'Strong'\n  },\n  weights: {\n    minLength: 1,\n    extraLength: 1,\n    lowercase: 1,\n    uppercase: 1,\n    numbers: 1,\n    special: 1,\n    multipleSpecial: 1,\n    longPassword: 1\n  },\n  thresholds: [2, 4, 6], // weak ≤2, fair ≤4, good ≤6, strong >6\n  scorer: null // Custom scoring function (password) => number\n}\n\nconst DefaultType = {\n  input: '(string|element|null)',\n  minLength: 'number',\n  messages: 'object',\n  weights: 'object',\n  thresholds: 'array',\n  scorer: '(function|null)'\n}\n\n/**\n * Class definition\n */\n\nclass Strength extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._input = this._getInput()\n    this._segments = SelectorEngine.find('.strength-segment', this._element)\n    this._textElement = SelectorEngine.findOne('.strength-text', this._element.parentElement)\n    this._currentStrength = null\n\n    if (this._input) {\n      this._addEventListeners()\n      // Check initial value\n      this._evaluate()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getStrength() {\n    return this._currentStrength\n  }\n\n  evaluate() {\n    this._evaluate()\n  }\n\n  // Private\n  _getInput() {\n    if (this._config.input) {\n      return typeof this._config.input === 'string' ?\n        SelectorEngine.findOne(this._config.input) :\n        this._config.input\n    }\n\n    // Look for preceding password input\n    const parent = this._element.parentElement\n    return SelectorEngine.findOne('input[type=\"password\"]', parent)\n  }\n\n  _addEventListeners() {\n    EventHandler.on(this._input, 'input', () => this._evaluate())\n    EventHandler.on(this._input, 'change', () => this._evaluate())\n  }\n\n  _evaluate() {\n    const password = this._input.value\n    const score = this._calculateScore(password)\n    const strength = this._scoreToStrength(score)\n\n    if (strength !== this._currentStrength) {\n      this._currentStrength = strength\n      this._updateUI(strength, score)\n\n      EventHandler.trigger(this._element, EVENT_STRENGTH_CHANGE, {\n        strength,\n        score,\n        password: password.length > 0 ? '***' : '' // Don't expose actual password\n      })\n    }\n  }\n\n  _calculateScore(password) {\n    if (!password) {\n      return 0\n    }\n\n    // Use custom scorer if provided\n    if (typeof this._config.scorer === 'function') {\n      return this._config.scorer(password)\n    }\n\n    const { weights } = this._config\n    let score = 0\n\n    // Length scoring\n    if (password.length >= this._config.minLength) {\n      score += weights.minLength\n    }\n\n    if (password.length >= this._config.minLength + 4) {\n      score += weights.extraLength\n    }\n\n    // Character variety\n    if (/[a-z]/.test(password)) {\n      score += weights.lowercase\n    }\n\n    if (/[A-Z]/.test(password)) {\n      score += weights.uppercase\n    }\n\n    if (/\\d/.test(password)) {\n      score += weights.numbers\n    }\n\n    // Special characters\n    if (/[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.special\n    }\n\n    // Extra points for more special chars or length\n    if (/[!@#$%^&*(),.?\":{}|<>].*[!@#$%^&*(),.?\":{}|<>]/.test(password)) {\n      score += weights.multipleSpecial\n    }\n\n    if (password.length >= 16) {\n      score += weights.longPassword\n    }\n\n    return score\n  }\n\n  _scoreToStrength(score) {\n    if (score === 0) {\n      return null\n    }\n\n    const [weak, fair, good] = this._config.thresholds\n\n    if (score <= weak) {\n      return 'weak'\n    }\n\n    if (score <= fair) {\n      return 'fair'\n    }\n\n    if (score <= good) {\n      return 'good'\n    }\n\n    return 'strong'\n  }\n\n  _updateUI(strength) {\n    // Update data attribute on element\n    if (strength) {\n      this._element.dataset.bsStrength = strength\n    } else {\n      delete this._element.dataset.bsStrength\n    }\n\n    // Update segmented meter\n    const strengthIndex = strength ? STRENGTH_LEVELS.indexOf(strength) : -1\n\n    for (const [index, segment] of this._segments.entries()) {\n      if (index <= strengthIndex) {\n        segment.classList.add('active')\n      } else {\n        segment.classList.remove('active')\n      }\n    }\n\n    // Update text feedback\n    if (this._textElement) {\n      if (strength && this._config.messages[strength]) {\n        this._textElement.textContent = this._config.messages[strength]\n        this._textElement.dataset.bsStrength = strength\n\n        // Also set the color via inheriting from parent or using CSS variable\n        const colorMap = {\n          weak: 'danger',\n          fair: 'warning',\n          good: 'info',\n          strong: 'success'\n        }\n        this._textElement.style.setProperty('--strength-color', `var(--${colorMap[strength]}-text)`)\n      } else {\n        this._textElement.textContent = ''\n        delete this._textElement.dataset.bsStrength\n      }\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_STRENGTH)) {\n    Strength.getOrCreateInstance(element)\n  }\n})\n\nexport default Strength\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap otp-input.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'otpInput'\nconst DATA_KEY = 'bs.otp-input'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_COMPLETE = `complete${EVENT_KEY}`\nconst EVENT_INPUT = `input${EVENT_KEY}`\n\nconst SELECTOR_DATA_OTP = '[data-bs-otp]'\nconst SELECTOR_INPUT = 'input'\n\nconst Default = {\n  length: 6,\n  mask: false\n}\n\nconst DefaultType = {\n  length: 'number',\n  mask: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass OtpInput extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._inputs = SelectorEngine.find(SELECTOR_INPUT, this._element)\n    this._setupInputs()\n    this._addEventListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getValue() {\n    return this._inputs.map(input => input.value).join('')\n  }\n\n  setValue(value) {\n    const chars = String(value).split('')\n    for (const [index, input] of this._inputs.entries()) {\n      input.value = chars[index] || ''\n    }\n\n    this._checkComplete()\n  }\n\n  clear() {\n    for (const input of this._inputs) {\n      input.value = ''\n    }\n\n    this._inputs[0]?.focus()\n  }\n\n  focus() {\n    // Focus first empty input, or last input if all filled\n    const emptyInput = this._inputs.find(input => !input.value)\n    if (emptyInput) {\n      emptyInput.focus()\n    } else {\n      this._inputs.at(-1)?.focus()\n    }\n  }\n\n  // Private\n  _setupInputs() {\n    for (const input of this._inputs) {\n      // Set attributes for proper OTP handling\n      input.setAttribute('maxlength', '1')\n      input.setAttribute('inputmode', 'numeric')\n      input.setAttribute('pattern', '\\\\d*')\n\n      // First input gets autocomplete for browser OTP autofill\n      if (input === this._inputs[0]) {\n        input.setAttribute('autocomplete', 'one-time-code')\n      } else {\n        input.setAttribute('autocomplete', 'off')\n      }\n\n      // Mask input if configured\n      if (this._config.mask) {\n        input.setAttribute('type', 'password')\n      }\n    }\n  }\n\n  _addEventListeners() {\n    for (const [index, input] of this._inputs.entries()) {\n      EventHandler.on(input, 'input', event => this._handleInput(event, index))\n      EventHandler.on(input, 'keydown', event => this._handleKeydown(event, index))\n      EventHandler.on(input, 'paste', event => this._handlePaste(event))\n      EventHandler.on(input, 'focus', event => this._handleFocus(event))\n    }\n  }\n\n  _handleInput(event, index) {\n    const input = event.target\n\n    // Only allow digits\n    if (!/^\\d*$/.test(input.value)) {\n      input.value = input.value.replace(/\\D/g, '')\n    }\n\n    const { value } = input\n\n    // Handle multi-character input (some browsers/autofill)\n    if (value.length > 1) {\n      // Distribute characters across inputs\n      const chars = value.split('')\n      input.value = chars[0] || ''\n\n      for (let i = 1; i < chars.length && index + i < this._inputs.length; i++) {\n        this._inputs[index + i].value = chars[i]\n      }\n\n      // Focus appropriate input\n      const nextIndex = Math.min(index + chars.length, this._inputs.length - 1)\n      this._inputs[nextIndex].focus()\n    } else if (value && index < this._inputs.length - 1) {\n      // Auto-advance to next input\n      this._inputs[index + 1].focus()\n    }\n\n    EventHandler.trigger(this._element, EVENT_INPUT, {\n      value: this.getValue(),\n      index\n    })\n\n    this._checkComplete()\n  }\n\n  _handleKeydown(event, index) {\n    const { key } = event\n\n    switch (key) {\n      case 'Backspace': {\n        if (!this._inputs[index].value && index > 0) {\n          // Move to previous input and clear it\n          event.preventDefault()\n          this._inputs[index - 1].value = ''\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'Delete': {\n        // Clear current and shift remaining values left\n        event.preventDefault()\n        for (let i = index; i < this._inputs.length - 1; i++) {\n          this._inputs[i].value = this._inputs[i + 1].value\n        }\n\n        this._inputs.at(-1).value = ''\n        break\n      }\n\n      case 'ArrowLeft': {\n        if (index > 0) {\n          event.preventDefault()\n          this._inputs[index - 1].focus()\n        }\n\n        break\n      }\n\n      case 'ArrowRight': {\n        if (index < this._inputs.length - 1) {\n          event.preventDefault()\n          this._inputs[index + 1].focus()\n        }\n\n        break\n      }\n\n      // No default\n    }\n  }\n\n  _handlePaste(event) {\n    event.preventDefault()\n    const pastedData = (event.clipboardData || window.clipboardData).getData('text')\n    const digits = pastedData.replace(/\\D/g, '').slice(0, this._inputs.length)\n\n    if (digits) {\n      this.setValue(digits)\n\n      // Focus last filled input or last input\n      const lastIndex = Math.min(digits.length, this._inputs.length) - 1\n      this._inputs[lastIndex].focus()\n    }\n  }\n\n  _handleFocus(event) {\n    // Select the content on focus for easy replacement\n    event.target.select()\n  }\n\n  _checkComplete() {\n    const value = this.getValue()\n    const isComplete = value.length === this._inputs.length &&\n      this._inputs.every(input => input.value !== '')\n\n    if (isComplete) {\n      EventHandler.trigger(this._element, EVENT_COMPLETE, { value })\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, `DOMContentLoaded${EVENT_KEY}${DATA_API_KEY}`, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_OTP)) {\n    OtpInput.getOrCreateInstance(element)\n  }\n})\n\nexport default OtpInput\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n// js-docs-start allow-list\nconst ARIA_ATTRIBUTE_PATTERN = /^aria-[\\w-]*$/i\n\nexport const DefaultAllowlist = {\n  // Global attributes allowed on any supplied element below.\n  '*': ['class', 'dir', 'id', 'lang', 'role', ARIA_ATTRIBUTE_PATTERN],\n  a: ['target', 'href', 'title', 'rel'],\n  area: [],\n  b: [],\n  br: [],\n  col: [],\n  code: [],\n  dd: [],\n  div: [],\n  dl: [],\n  dt: [],\n  em: [],\n  hr: [],\n  h1: [],\n  h2: [],\n  h3: [],\n  h4: [],\n  h5: [],\n  h6: [],\n  i: [],\n  img: ['src', 'srcset', 'alt', 'title', 'width', 'height'],\n  li: [],\n  ol: [],\n  p: [],\n  pre: [],\n  s: [],\n  small: [],\n  span: [],\n  sub: [],\n  sup: [],\n  strong: [],\n  u: [],\n  ul: []\n}\n// js-docs-end allow-list\n\nconst uriAttributes = new Set([\n  'background',\n  'cite',\n  'href',\n  'itemtype',\n  'longdesc',\n  'poster',\n  'src',\n  'xlink:href'\n])\n\n/**\n * A pattern that recognizes URLs that are safe wrt. XSS in URL navigation\n * contexts.\n *\n * Shout-out to Angular https://github.com/angular/angular/blob/15.2.8/packages/core/src/sanitization/url_sanitizer.ts#L38\n */\nconst SAFE_URL_PATTERN = /^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i\n\nconst allowedAttribute = (attribute, allowedAttributeList) => {\n  const attributeName = attribute.nodeName.toLowerCase()\n\n  if (allowedAttributeList.includes(attributeName)) {\n    if (uriAttributes.has(attributeName)) {\n      return Boolean(SAFE_URL_PATTERN.test(attribute.nodeValue))\n    }\n\n    return true\n  }\n\n  // Check if a regular expression validates the attribute.\n  return allowedAttributeList.filter(attributeRegex => attributeRegex instanceof RegExp)\n    .some(regex => regex.test(attributeName))\n}\n\nexport function sanitizeHtml(unsafeHtml, allowList, sanitizeFunction) {\n  if (!unsafeHtml.length) {\n    return unsafeHtml\n  }\n\n  if (sanitizeFunction && typeof sanitizeFunction === 'function') {\n    return sanitizeFunction(unsafeHtml)\n  }\n\n  const domParser = new window.DOMParser()\n  const createdDocument = domParser.parseFromString(unsafeHtml, 'text/html')\n  const elements = [].concat(...createdDocument.body.querySelectorAll('*'))\n\n  for (const element of elements) {\n    const elementName = element.nodeName.toLowerCase()\n\n    if (!Object.keys(allowList).includes(elementName)) {\n      element.remove()\n      continue\n    }\n\n    const attributeList = [].concat(...element.attributes)\n    const allowedAttributes = [].concat(allowList['*'] || [], allowList[elementName] || [])\n\n    for (const attribute of attributeList) {\n      if (!allowedAttribute(attribute, allowedAttributes)) {\n        element.removeAttribute(attribute.nodeName)\n      }\n    }\n  }\n\n  return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap util/template-factory.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport SelectorEngine from '../dom/selector-engine.js'\nimport Config from './config.js'\nimport { DefaultAllowlist, sanitizeHtml } from './sanitizer.js'\nimport { execute, getElement, isElement } from './index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'TemplateFactory'\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  content: {}, // { selector : text ,  selector2 : text2 , }\n  extraClass: '',\n  html: false,\n  sanitize: true,\n  sanitizeFn: null,\n  template: '<div></div>'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  content: 'object',\n  extraClass: '(string|function)',\n  html: 'boolean',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  template: 'string'\n}\n\nconst DefaultContentType = {\n  entry: '(string|element|function|null)',\n  selector: '(string|element)'\n}\n\n/**\n * Class definition\n */\n\nclass TemplateFactory extends Config {\n  constructor(config) {\n    super()\n    this._config = this._getConfig(config)\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  getContent() {\n    return Object.values(this._config.content)\n      .map(config => this._resolvePossibleFunction(config))\n      .filter(Boolean)\n  }\n\n  hasContent() {\n    return this.getContent().length > 0\n  }\n\n  changeContent(content) {\n    this._checkContent(content)\n    this._config.content = { ...this._config.content, ...content }\n    return this\n  }\n\n  toHtml() {\n    const templateWrapper = document.createElement('div')\n    templateWrapper.innerHTML = this._maybeSanitize(this._config.template)\n\n    for (const [selector, text] of Object.entries(this._config.content)) {\n      this._setContent(templateWrapper, text, selector)\n    }\n\n    const template = templateWrapper.children[0]\n    const extraClass = this._resolvePossibleFunction(this._config.extraClass)\n\n    if (extraClass) {\n      template.classList.add(...extraClass.split(' '))\n    }\n\n    return template\n  }\n\n  // Private\n  _typeCheckConfig(config) {\n    super._typeCheckConfig(config)\n    this._checkContent(config.content)\n  }\n\n  _checkContent(arg) {\n    for (const [selector, content] of Object.entries(arg)) {\n      super._typeCheckConfig({ selector, entry: content }, DefaultContentType)\n    }\n  }\n\n  _setContent(template, content, selector) {\n    const templateElement = SelectorEngine.findOne(selector, template)\n\n    if (!templateElement) {\n      return\n    }\n\n    content = this._resolvePossibleFunction(content)\n\n    if (!content) {\n      templateElement.remove()\n      return\n    }\n\n    if (isElement(content)) {\n      this._putElementInTemplate(getElement(content), templateElement)\n      return\n    }\n\n    if (this._config.html) {\n      templateElement.innerHTML = this._maybeSanitize(content)\n      return\n    }\n\n    templateElement.textContent = content\n  }\n\n  _maybeSanitize(arg) {\n    return this._config.sanitize ? sanitizeHtml(arg, this._config.allowList, this._config.sanitizeFn) : arg\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [undefined, this])\n  }\n\n  _putElementInTemplate(element, templateElement) {\n    if (this._config.html) {\n      templateElement.innerHTML = ''\n      templateElement.append(element)\n      return\n    }\n\n    templateElement.textContent = element.textContent\n  }\n}\n\nexport default TemplateFactory\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport {\n  computePosition,\n  flip,\n  shift,\n  offset,\n  arrow,\n  autoUpdate\n} from '@floating-ui/dom'\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport Manipulator from './dom/manipulator.js'\nimport {\n  execute, findShadowRoot, getElement, getUID, isRTL, noop\n} from './util/index.js'\nimport { DefaultAllowlist } from './util/sanitizer.js'\nimport TemplateFactory from './util/template-factory.js'\nimport {\n  parseResponsivePlacement,\n  getResponsivePlacement,\n  createBreakpointListeners,\n  disposeBreakpointListeners\n} from './util/floating-ui.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tooltip'\nconst DISALLOWED_ATTRIBUTES = new Set(['sanitize', 'allowList', 'sanitizeFn'])\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_MODAL = 'modal'\nconst CLASS_NAME_SHOW = 'show'\n\nconst SELECTOR_TOOLTIP_INNER = '.tooltip-inner'\nconst SELECTOR_MODAL = `.${CLASS_NAME_MODAL}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tooltip\"]'\n\nconst EVENT_MODAL_HIDE = 'hide.bs.modal'\n\nconst TRIGGER_HOVER = 'hover'\nconst TRIGGER_FOCUS = 'focus'\nconst TRIGGER_CLICK = 'click'\nconst TRIGGER_MANUAL = 'manual'\n\nconst EVENT_HIDE = 'hide'\nconst EVENT_HIDDEN = 'hidden'\nconst EVENT_SHOW = 'show'\nconst EVENT_SHOWN = 'shown'\nconst EVENT_INSERTED = 'inserted'\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_FOCUSOUT = 'focusout'\nconst EVENT_MOUSEENTER = 'mouseenter'\nconst EVENT_MOUSELEAVE = 'mouseleave'\n\nconst AttachmentMap = {\n  AUTO: 'auto',\n  TOP: 'top',\n  RIGHT: isRTL() ? 'left' : 'right',\n  BOTTOM: 'bottom',\n  LEFT: isRTL() ? 'right' : 'left'\n}\n\nconst Default = {\n  allowList: DefaultAllowlist,\n  animation: true,\n  boundary: 'clippingParents',\n  container: false,\n  customClass: '',\n  delay: 0,\n  fallbackPlacements: ['top', 'right', 'bottom', 'left'],\n  html: false,\n  offset: [0, 6],\n  placement: 'top',\n  floatingConfig: null,\n  sanitize: true,\n  sanitizeFn: null,\n  selector: false,\n  template: '<div class=\"tooltip\" role=\"tooltip\">' +\n            '<div class=\"tooltip-arrow\"></div>' +\n            '<div class=\"tooltip-inner\"></div>' +\n            '</div>',\n  title: '',\n  trigger: 'hover focus'\n}\n\nconst DefaultType = {\n  allowList: 'object',\n  animation: 'boolean',\n  boundary: '(string|element)',\n  container: '(string|element|boolean)',\n  customClass: '(string|function)',\n  delay: '(number|object)',\n  fallbackPlacements: 'array',\n  html: 'boolean',\n  offset: '(array|string|function)',\n  placement: '(string|function)',\n  floatingConfig: '(null|object|function)',\n  sanitize: 'boolean',\n  sanitizeFn: '(null|function)',\n  selector: '(string|boolean)',\n  template: 'string',\n  title: '(string|element|function)',\n  trigger: 'string'\n}\n\n/**\n * Class definition\n */\n\nclass Tooltip extends BaseComponent {\n  constructor(element, config) {\n    if (typeof computePosition === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Floating UI (https://floating-ui.com)')\n    }\n\n    super(element, config)\n\n    // Private\n    this._isEnabled = true\n    this._timeout = 0\n    this._isHovered = null\n    this._activeTrigger = {}\n    this._floatingCleanup = null\n    this._templateFactory = null\n    this._newContent = null\n    this._mediaQueryListeners = []\n    this._responsivePlacements = null\n\n    // Protected\n    this.tip = null\n\n    this._parseResponsivePlacements()\n    this._setListeners()\n\n    if (!this._config.selector) {\n      this._fixTitle()\n    }\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  enable() {\n    this._isEnabled = true\n  }\n\n  disable() {\n    this._isEnabled = false\n  }\n\n  toggleEnabled() {\n    this._isEnabled = !this._isEnabled\n  }\n\n  toggle() {\n    if (!this._isEnabled) {\n      return\n    }\n\n    if (this._isShown()) {\n      this._leave()\n      return\n    }\n\n    this._enter()\n  }\n\n  dispose() {\n    clearTimeout(this._timeout)\n\n    EventHandler.off(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n\n    if (this._element.getAttribute('data-bs-original-title')) {\n      this._element.setAttribute('title', this._element.getAttribute('data-bs-original-title'))\n    }\n\n    this._disposeFloating()\n    this._disposeMediaQueryListeners()\n    super.dispose()\n  }\n\n  async show() {\n    if (this._element.style.display === 'none') {\n      throw new Error('Please use show on visible elements')\n    }\n\n    if (!(this._isWithContent() && this._isEnabled)) {\n      return\n    }\n\n    const showEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOW))\n    const shadowRoot = findShadowRoot(this._element)\n    const isInTheDom = (shadowRoot || this._element.ownerDocument.documentElement).contains(this._element)\n\n    if (showEvent.defaultPrevented || !isInTheDom) {\n      return\n    }\n\n    this._disposeFloating()\n\n    const tip = this._getTipElement()\n\n    this._element.setAttribute('aria-describedby', tip.getAttribute('id'))\n\n    const { container } = this._config\n\n    if (!this._element.ownerDocument.documentElement.contains(this.tip)) {\n      container.append(tip)\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_INSERTED))\n    }\n\n    await this._createFloating(tip)\n\n    tip.classList.add(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we add extra\n    // empty mouseover listeners to the body's immediate children;\n    // only needed because of broken event delegation on iOS\n    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.on(element, 'mouseover', noop)\n      }\n    }\n\n    const complete = () => {\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_SHOWN))\n\n      if (this._isHovered === false) {\n        this._leave()\n      }\n\n      this._isHovered = false\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  hide() {\n    if (!this._isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDE))\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const tip = this._getTipElement()\n    tip.classList.remove(CLASS_NAME_SHOW)\n\n    // If this is a touch-enabled device we remove the extra\n    // empty mouseover listeners we added for iOS support\n    if ('ontouchstart' in document.documentElement) {\n      for (const element of [].concat(...document.body.children)) {\n        EventHandler.off(element, 'mouseover', noop)\n      }\n    }\n\n    this._activeTrigger[TRIGGER_CLICK] = false\n    this._activeTrigger[TRIGGER_FOCUS] = false\n    this._activeTrigger[TRIGGER_HOVER] = false\n    this._isHovered = null // it is a trick to support manual triggering\n\n    const complete = () => {\n      if (this._isWithActiveTrigger()) {\n        return\n      }\n\n      if (!this._isHovered) {\n        this._disposeFloating()\n      }\n\n      this._element.removeAttribute('aria-describedby')\n      EventHandler.trigger(this._element, this.constructor.eventName(EVENT_HIDDEN))\n    }\n\n    this._queueCallback(complete, this.tip, this._isAnimated())\n  }\n\n  update() {\n    if (this._floatingCleanup && this.tip) {\n      this._updateFloatingPosition()\n    }\n  }\n\n  // Protected\n  _isWithContent() {\n    return Boolean(this._getTitle())\n  }\n\n  _getTipElement() {\n    if (!this.tip) {\n      this.tip = this._createTipElement(this._newContent || this._getContentForTemplate())\n    }\n\n    return this.tip\n  }\n\n  _createTipElement(content) {\n    const tip = this._getTemplateFactory(content).toHtml()\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    tip.classList.add(`bs-${this.constructor.NAME}-auto`)\n\n    const tipId = getUID(this.constructor.NAME).toString()\n\n    tip.setAttribute('id', tipId)\n\n    if (this._isAnimated()) {\n      tip.classList.add(CLASS_NAME_FADE)\n    }\n\n    return tip\n  }\n\n  setContent(content) {\n    this._newContent = content\n    if (this._isShown()) {\n      this._disposeFloating()\n      this.show()\n    }\n  }\n\n  _getTemplateFactory(content) {\n    if (this._templateFactory) {\n      this._templateFactory.changeContent(content)\n    } else {\n      this._templateFactory = new TemplateFactory({\n        ...this._config,\n        // the `content` var has to be after `this._config`\n        // to override config.content in case of popover\n        content,\n        extraClass: this._resolvePossibleFunction(this._config.customClass)\n      })\n    }\n\n    return this._templateFactory\n  }\n\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TOOLTIP_INNER]: this._getTitle()\n    }\n  }\n\n  _getTitle() {\n    return this._resolvePossibleFunction(this._config.title) || this._element.getAttribute('data-bs-original-title')\n  }\n\n  // Private\n  _initializeOnDelegatedTarget(event) {\n    return this.constructor.getOrCreateInstance(event.delegateTarget, this._getDelegateConfig())\n  }\n\n  _isAnimated() {\n    return this._config.animation || (this.tip && this.tip.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _isShown() {\n    return this.tip && this.tip.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement(tip) {\n    // If we have responsive placements, get the one for current viewport\n    if (this._responsivePlacements) {\n      const placement = getResponsivePlacement(this._responsivePlacements, 'top')\n      return AttachmentMap[placement.toUpperCase()] || placement\n    }\n\n    // Execute placement (can be a function)\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    return AttachmentMap[placement.toUpperCase()] || placement\n  }\n\n  _parseResponsivePlacements() {\n    // Only parse if placement is a string (not a function)\n    if (typeof this._config.placement !== 'string') {\n      this._responsivePlacements = null\n      return\n    }\n\n    this._responsivePlacements = parseResponsivePlacement(this._config.placement, 'top')\n\n    if (this._responsivePlacements) {\n      this._setupMediaQueryListeners()\n    }\n  }\n\n  _setupMediaQueryListeners() {\n    this._disposeMediaQueryListeners()\n    this._mediaQueryListeners = createBreakpointListeners(() => {\n      if (this._isShown()) {\n        this._updateFloatingPosition()\n      }\n    })\n  }\n\n  _disposeMediaQueryListeners() {\n    disposeBreakpointListeners(this._mediaQueryListeners)\n    this._mediaQueryListeners = []\n  }\n\n  async _createFloating(tip) {\n    const placement = this._getPlacement(tip)\n    const arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n\n    // Initial position update\n    await this._updateFloatingPosition(tip, placement, arrowElement)\n\n    // Set up auto-update for scroll/resize\n    this._floatingCleanup = autoUpdate(\n      this._element,\n      tip,\n      () => this._updateFloatingPosition(tip, null, arrowElement)\n    )\n  }\n\n  async _updateFloatingPosition(tip = this.tip, placement = null, arrowElement = null) {\n    if (!tip) {\n      return\n    }\n\n    if (!placement) {\n      placement = this._getPlacement(tip)\n    }\n\n    if (!arrowElement) {\n      arrowElement = tip.querySelector(`.${this.constructor.NAME}-arrow`)\n    }\n\n    const middleware = this._getFloatingMiddleware(arrowElement)\n    const floatingConfig = this._getFloatingConfig(placement, middleware)\n\n    const { x, y, placement: finalPlacement, middlewareData } = await computePosition(\n      this._element,\n      tip,\n      floatingConfig\n    )\n\n    // Apply position to tooltip\n    Object.assign(tip.style, {\n      position: 'absolute',\n      left: `${x}px`,\n      top: `${y}px`\n    })\n\n    // Ensure arrow is absolutely positioned within tooltip\n    if (arrowElement) {\n      arrowElement.style.position = 'absolute'\n    }\n\n    // Set placement attribute for CSS arrow styling\n    Manipulator.setDataAttribute(tip, 'placement', finalPlacement)\n\n    // Position arrow along the edge (center it) if present\n    // The CSS handles which edge to place it on via data-bs-placement\n    if (arrowElement && middlewareData.arrow) {\n      const { x: arrowX, y: arrowY } = middlewareData.arrow\n      const isVertical = finalPlacement.startsWith('top') || finalPlacement.startsWith('bottom')\n\n      // Only set the cross-axis position (centering along the edge)\n      // The main-axis position (which edge) is handled by CSS\n      Object.assign(arrowElement.style, {\n        left: isVertical && arrowX !== null ? `${arrowX}px` : '',\n        top: !isVertical && arrowY !== null ? `${arrowY}px` : '',\n        // Reset the other axis to let CSS handle it\n        right: '',\n        bottom: ''\n      })\n    }\n  }\n\n  _getOffset() {\n    const { offset } = this._config\n\n    if (typeof offset === 'string') {\n      return offset.split(',').map(value => Number.parseInt(value, 10))\n    }\n\n    if (typeof offset === 'function') {\n      // Floating UI passes different args, adapt the interface for offset function callbacks\n      return ({ placement, rects }) => {\n        const result = offset({ placement, reference: rects.reference, floating: rects.floating }, this._element)\n        return result\n      }\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getFloatingMiddleware(arrowElement) {\n    const offsetValue = this._getOffset()\n\n    const middleware = [\n      // Offset middleware - handles distance from reference\n      offset(\n        typeof offsetValue === 'function' ?\n          offsetValue :\n          { mainAxis: offsetValue[1] || 0, crossAxis: offsetValue[0] || 0 }\n      ),\n      // Flip middleware - handles fallback placements\n      flip({\n        fallbackPlacements: this._config.fallbackPlacements\n      }),\n      // Shift middleware - prevents overflow\n      shift({\n        boundary: this._config.boundary === 'clippingParents' ? 'clippingAncestors' : this._config.boundary\n      })\n    ]\n\n    // Arrow middleware - positions the arrow element\n    if (arrowElement) {\n      middleware.push(arrow({ element: arrowElement }))\n    }\n\n    return middleware\n  }\n\n  _getFloatingConfig(placement, middleware) {\n    const defaultConfig = {\n      placement,\n      middleware\n    }\n\n    return {\n      ...defaultConfig,\n      ...execute(this._config.floatingConfig, [undefined, defaultConfig])\n    }\n  }\n\n  _setListeners() {\n    const triggers = this._config.trigger.split(' ')\n\n    for (const trigger of triggers) {\n      if (trigger === 'click') {\n        EventHandler.on(this._element, this.constructor.eventName(EVENT_CLICK), this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[TRIGGER_CLICK] = !(context._isShown() && context._activeTrigger[TRIGGER_CLICK])\n          context.toggle()\n        })\n      } else if (trigger !== TRIGGER_MANUAL) {\n        const eventIn = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSEENTER) :\n          this.constructor.eventName(EVENT_FOCUSIN)\n        const eventOut = trigger === TRIGGER_HOVER ?\n          this.constructor.eventName(EVENT_MOUSELEAVE) :\n          this.constructor.eventName(EVENT_FOCUSOUT)\n\n        EventHandler.on(this._element, eventIn, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusin' ? TRIGGER_FOCUS : TRIGGER_HOVER] = true\n          context._enter()\n        })\n        EventHandler.on(this._element, eventOut, this._config.selector, event => {\n          const context = this._initializeOnDelegatedTarget(event)\n          context._activeTrigger[event.type === 'focusout' ? TRIGGER_FOCUS : TRIGGER_HOVER] =\n            context._element.contains(event.relatedTarget)\n\n          context._leave()\n        })\n      }\n    }\n\n    this._hideModalHandler = () => {\n      if (this._element) {\n        this.hide()\n      }\n    }\n\n    EventHandler.on(this._element.closest(SELECTOR_MODAL), EVENT_MODAL_HIDE, this._hideModalHandler)\n  }\n\n  _fixTitle() {\n    const title = this._element.getAttribute('title')\n\n    if (!title) {\n      return\n    }\n\n    if (!this._element.getAttribute('aria-label') && !this._element.textContent.trim()) {\n      this._element.setAttribute('aria-label', title)\n    }\n\n    this._element.setAttribute('data-bs-original-title', title) // DO NOT USE IT. Is only for backwards compatibility\n    this._element.removeAttribute('title')\n  }\n\n  _enter() {\n    if (this._isShown() || this._isHovered) {\n      this._isHovered = true\n      return\n    }\n\n    this._isHovered = true\n\n    this._setTimeout(() => {\n      if (this._isHovered) {\n        this.show()\n      }\n    }, this._config.delay.show)\n  }\n\n  _leave() {\n    if (this._isWithActiveTrigger()) {\n      return\n    }\n\n    this._isHovered = false\n\n    this._setTimeout(() => {\n      if (!this._isHovered) {\n        this.hide()\n      }\n    }, this._config.delay.hide)\n  }\n\n  _setTimeout(handler, timeout) {\n    clearTimeout(this._timeout)\n    this._timeout = setTimeout(handler, timeout)\n  }\n\n  _isWithActiveTrigger() {\n    return Object.values(this._activeTrigger).includes(true)\n  }\n\n  _getConfig(config) {\n    const dataAttributes = Manipulator.getDataAttributes(this._element)\n\n    for (const dataAttribute of Object.keys(dataAttributes)) {\n      if (DISALLOWED_ATTRIBUTES.has(dataAttribute)) {\n        delete dataAttributes[dataAttribute]\n      }\n    }\n\n    config = {\n      ...dataAttributes,\n      ...(typeof config === 'object' && config ? config : {})\n    }\n    config = this._mergeConfigObj(config)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  _configAfterMerge(config) {\n    config.container = config.container === false ? document.body : getElement(config.container)\n\n    if (typeof config.delay === 'number') {\n      config.delay = {\n        show: config.delay,\n        hide: config.delay\n      }\n    }\n\n    if (typeof config.title === 'number') {\n      config.title = config.title.toString()\n    }\n\n    if (typeof config.content === 'number') {\n      config.content = config.content.toString()\n    }\n\n    return config\n  }\n\n  _getDelegateConfig() {\n    const config = {}\n\n    for (const [key, value] of Object.entries(this._config)) {\n      if (this.constructor.Default[key] !== value) {\n        config[key] = value\n      }\n    }\n\n    config.selector = false\n    config.trigger = 'manual'\n\n    // In the future can be replaced with:\n    // const keysWithDifferentValues = Object.entries(this._config).filter(entry => this.constructor.Default[entry[0]] !== this._config[entry[0]])\n    // `Object.fromEntries(keysWithDifferentValues)`\n    return config\n  }\n\n  _disposeFloating() {\n    if (this._floatingCleanup) {\n      this._floatingCleanup()\n      this._floatingCleanup = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\n}\n\n/**\n * Data API implementation - auto-initialize tooltips\n */\n\nconst initTooltip = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Get or create instance and trigger the appropriate action\n  const tooltip = Tooltip.getOrCreateInstance(target)\n\n  // For focus events, manually trigger enter to show\n  if (event.type === 'focusin') {\n    tooltip._activeTrigger.focus = true\n    tooltip._enter()\n  }\n}\n\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initTooltip)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initTooltip)\n\nexport default Tooltip\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Tooltip from './tooltip.js'\nimport EventHandler from './dom/event-handler.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"popover\"]'\n\nconst EVENT_CLICK = 'click'\nconst EVENT_FOCUSIN = 'focusin'\nconst EVENT_MOUSEENTER = 'mouseenter'\n\nconst Default = {\n  ...Tooltip.Default,\n  content: '',\n  offset: [0, 8],\n  placement: 'right',\n  template: '<div class=\"popover\" role=\"tooltip\">' +\n    '<div class=\"popover-arrow\"></div>' +\n    '<h3 class=\"popover-header\"></h3>' +\n    '<div class=\"popover-body\"></div>' +\n    '</div>',\n  trigger: 'click'\n}\n\nconst DefaultType = {\n  ...Tooltip.DefaultType,\n  content: '(null|string|element|function)'\n}\n\n/**\n * Class definition\n */\n\nclass Popover extends Tooltip {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Overrides\n  _isWithContent() {\n    return this._getTitle() || this._getContent()\n  }\n\n  // Private\n  _getContentForTemplate() {\n    return {\n      [SELECTOR_TITLE]: this._getTitle(),\n      [SELECTOR_CONTENT]: this._getContent()\n    }\n  }\n\n  _getContent() {\n    return this._resolvePossibleFunction(this._config.content)\n  }\n}\n\n/**\n * Data API implementation - auto-initialize popovers\n */\n\nconst initPopover = event => {\n  const target = event.target.closest(SELECTOR_DATA_TOGGLE)\n  if (!target) {\n    return\n  }\n\n  // Prevent default for click events to avoid navigation\n  if (event.type === 'click') {\n    event.preventDefault()\n  }\n\n  // Get or create instance\n  const popover = Popover.getOrCreateInstance(target)\n\n  // Trigger the appropriate action based on event type\n  if (event.type === 'click') {\n    popover.toggle()\n  } else if (event.type === 'focusin') {\n    popover._activeTrigger.focus = true\n    popover._enter()\n  }\n}\n\n// Support click (default), hover, and focus triggers\nEventHandler.on(document, EVENT_CLICK, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_FOCUSIN, SELECTOR_DATA_TOGGLE, initPopover)\nEventHandler.on(document, EVENT_MOUSEENTER, SELECTOR_DATA_TOGGLE, initPopover)\n\nexport default Popover\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport {\n  getElement, isDisabled, isVisible\n} from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'scrollspy'\nconst DATA_KEY = 'bs.scrollspy'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_ACTIVATE = `activate${EVENT_KEY}`\nconst EVENT_CLICK = `click${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_DROPDOWN_ITEM = 'dropdown-item'\nconst CLASS_NAME_ACTIVE = 'active'\n\nconst SELECTOR_DATA_SPY = '[data-bs-spy=\"scroll\"]'\nconst SELECTOR_TARGET_LINKS = '[href]'\nconst SELECTOR_NAV_LIST_GROUP = '.nav, .list-group'\nconst SELECTOR_NAV_LINKS = '.nav-link'\nconst SELECTOR_NAV_ITEMS = '.nav-item'\nconst SELECTOR_LIST_ITEMS = '.list-group-item'\nconst SELECTOR_LINK_ITEMS = `${SELECTOR_NAV_LINKS}, ${SELECTOR_NAV_ITEMS} > ${SELECTOR_NAV_LINKS}, ${SELECTOR_LIST_ITEMS}`\nconst SELECTOR_DROPDOWN = '.dropdown'\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\n\nconst Default = {\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  rootMargin: 'string',\n  smoothScroll: 'boolean',\n  target: 'element',\n  threshold: 'array'\n}\n\n/**\n * Class definition\n */\n\nclass ScrollSpy extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    // this._element is the observablesContainer and config.target the menu links wrapper\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n    this._rootElement = getComputedStyle(this._element).overflowY === 'visible' ? null : this._element\n    this._activeTarget = null\n    this._observer = null\n    this._previousScrollData = {\n      visibleEntryTop: 0,\n      parentScrollTop: 0\n    }\n    this.refresh() // initialize\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  refresh() {\n    this._initializeTargetsAndObservables()\n    this._maybeEnableSmoothScroll()\n\n    if (this._observer) {\n      this._observer.disconnect()\n    } else {\n      this._observer = this._getNewObserver()\n    }\n\n    for (const section of this._observableSections.values()) {\n      this._observer.observe(section)\n    }\n  }\n\n  dispose() {\n    this._observer.disconnect()\n    super.dispose()\n  }\n\n  // Private\n  _configAfterMerge(config) {\n    config.target = getElement(config.target) || document.body\n\n    if (typeof config.threshold === 'string') {\n      config.threshold = config.threshold.split(',').map(value => Number.parseFloat(value))\n    }\n\n    return config\n  }\n\n  _maybeEnableSmoothScroll() {\n    if (!this._config.smoothScroll) {\n      return\n    }\n\n    // unregister any previous listeners\n    EventHandler.off(this._config.target, EVENT_CLICK)\n\n    EventHandler.on(this._config.target, EVENT_CLICK, SELECTOR_TARGET_LINKS, event => {\n      const observableSection = this._observableSections.get(event.target.hash)\n      if (observableSection) {\n        event.preventDefault()\n        const root = this._rootElement || window\n        const height = observableSection.offsetTop - this._element.offsetTop\n        if (root.scrollTo) {\n          root.scrollTo({ top: height, behavior: 'smooth' })\n          return\n        }\n\n        // Chrome 60 doesn't support `scrollTo`\n        root.scrollTop = height\n      }\n    })\n  }\n\n  _getNewObserver() {\n    const options = {\n      root: this._rootElement,\n      threshold: this._config.threshold,\n      rootMargin: this._config.rootMargin\n    }\n\n    return new IntersectionObserver(entries => this._observerCallback(entries), options)\n  }\n\n  // The logic of selection\n  _observerCallback(entries) {\n    const targetElement = entry => this._targetLinks.get(`#${entry.target.id}`)\n    const activate = entry => {\n      this._previousScrollData.visibleEntryTop = entry.target.offsetTop\n      this._process(targetElement(entry))\n    }\n\n    const parentScrollTop = (this._rootElement || document.documentElement).scrollTop\n    const userScrollsDown = parentScrollTop >= this._previousScrollData.parentScrollTop\n    this._previousScrollData.parentScrollTop = parentScrollTop\n\n    for (const entry of entries) {\n      if (!entry.isIntersecting) {\n        this._activeTarget = null\n        this._clearActiveClass(targetElement(entry))\n\n        continue\n      }\n\n      const entryIsLowerThanPrevious = entry.target.offsetTop >= this._previousScrollData.visibleEntryTop\n      // if we are scrolling down, pick the bigger offsetTop\n      if (userScrollsDown && entryIsLowerThanPrevious) {\n        activate(entry)\n        // if parent isn't scrolled, let's keep the first visible item, breaking the iteration\n        if (!parentScrollTop) {\n          return\n        }\n\n        continue\n      }\n\n      // if we are scrolling up, pick the smallest offsetTop\n      if (!userScrollsDown && !entryIsLowerThanPrevious) {\n        activate(entry)\n      }\n    }\n  }\n\n  _initializeTargetsAndObservables() {\n    this._targetLinks = new Map()\n    this._observableSections = new Map()\n\n    const targetLinks = SelectorEngine.find(SELECTOR_TARGET_LINKS, this._config.target)\n\n    for (const anchor of targetLinks) {\n      // ensure that the anchor has an id and is not disabled\n      if (!anchor.hash || isDisabled(anchor)) {\n        continue\n      }\n\n      const observableSection = SelectorEngine.findOne(decodeURI(anchor.hash), this._element)\n\n      // ensure that the observableSection exists & is visible\n      if (isVisible(observableSection)) {\n        this._targetLinks.set(decodeURI(anchor.hash), anchor)\n        this._observableSections.set(anchor.hash, observableSection)\n      }\n    }\n  }\n\n  _process(target) {\n    if (this._activeTarget === target) {\n      return\n    }\n\n    this._clearActiveClass(this._config.target)\n    this._activeTarget = target\n    target.classList.add(CLASS_NAME_ACTIVE)\n    this._activateParents(target)\n\n    EventHandler.trigger(this._element, EVENT_ACTIVATE, { relatedTarget: target })\n  }\n\n  _activateParents(target) {\n    // Activate dropdown parents\n    if (target.classList.contains(CLASS_NAME_DROPDOWN_ITEM)) {\n      SelectorEngine.findOne(SELECTOR_DROPDOWN_TOGGLE, target.closest(SELECTOR_DROPDOWN))\n        .classList.add(CLASS_NAME_ACTIVE)\n      return\n    }\n\n    for (const listGroup of SelectorEngine.parents(target, SELECTOR_NAV_LIST_GROUP)) {\n      // Set triggered links parents as active\n      // With both <ul> and <nav> markup a parent is the previous sibling of any nav ancestor\n      for (const item of SelectorEngine.prev(listGroup, SELECTOR_LINK_ITEMS)) {\n        item.classList.add(CLASS_NAME_ACTIVE)\n      }\n    }\n  }\n\n  _clearActiveClass(parent) {\n    parent.classList.remove(CLASS_NAME_ACTIVE)\n\n    const activeNodes = SelectorEngine.find(`${SELECTOR_TARGET_LINKS}.${CLASS_NAME_ACTIVE}`, parent)\n    for (const node of activeNodes) {\n      node.classList.remove(CLASS_NAME_ACTIVE)\n    }\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const spy of SelectorEngine.find(SELECTOR_DATA_SPY)) {\n    ScrollSpy.getOrCreateInstance(spy)\n  }\n})\n\nexport default ScrollSpy\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport SelectorEngine from './dom/selector-engine.js'\nimport { getNextActiveElement, isDisabled } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'tab'\nconst DATA_KEY = 'bs.tab'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}`\nconst EVENT_KEYDOWN = `keydown${EVENT_KEY}`\nconst EVENT_LOAD_DATA_API = `load${EVENT_KEY}`\n\nconst ARROW_LEFT_KEY = 'ArrowLeft'\nconst ARROW_RIGHT_KEY = 'ArrowRight'\nconst ARROW_UP_KEY = 'ArrowUp'\nconst ARROW_DOWN_KEY = 'ArrowDown'\nconst HOME_KEY = 'Home'\nconst END_KEY = 'End'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_DROPDOWN = 'dropdown'\n\nconst SELECTOR_DROPDOWN_TOGGLE = '.dropdown-toggle'\nconst SELECTOR_DROPDOWN_MENU = '.dropdown-menu'\nconst NOT_SELECTOR_DROPDOWN_TOGGLE = `:not(${SELECTOR_DROPDOWN_TOGGLE})`\n\nconst SELECTOR_TAB_PANEL = '.list-group, .nav, [role=\"tablist\"]'\nconst SELECTOR_OUTER = '.nav-item, .list-group-item'\nconst SELECTOR_INNER = `.nav-link${NOT_SELECTOR_DROPDOWN_TOGGLE}, .list-group-item${NOT_SELECTOR_DROPDOWN_TOGGLE}, [role=\"tab\"]${NOT_SELECTOR_DROPDOWN_TOGGLE}`\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"tab\"], [data-bs-toggle=\"pill\"], [data-bs-toggle=\"list\"]' // TODO: could only be `tab` in v6\nconst SELECTOR_INNER_ELEM = `${SELECTOR_INNER}, ${SELECTOR_DATA_TOGGLE}`\n\nconst SELECTOR_DATA_TOGGLE_ACTIVE = `.${CLASS_NAME_ACTIVE}[data-bs-toggle=\"tab\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"pill\"], .${CLASS_NAME_ACTIVE}[data-bs-toggle=\"list\"]`\n\n/**\n * Class definition\n */\n\nclass Tab extends BaseComponent {\n  constructor(element) {\n    super(element)\n    this._parent = this._element.closest(SELECTOR_TAB_PANEL)\n\n    if (!this._parent) {\n      return\n      // TODO: should throw exception in v6\n      // throw new TypeError(`${element.outerHTML} has not a valid parent ${SELECTOR_TAB_PANEL}`)\n    }\n\n    // Set up initial aria attributes\n    this._setInitialAttributes(this._parent, this._getChildren())\n\n    EventHandler.on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n  }\n\n  // Getters\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() { // Shows this elem and deactivate the active sibling if exists\n    const innerElem = this._element\n    if (this._elemIsActive(innerElem)) {\n      return\n    }\n\n    // Search for active tab on same parent to deactivate it\n    const active = this._getActiveElem()\n\n    const hideEvent = active ?\n      EventHandler.trigger(active, EVENT_HIDE, { relatedTarget: innerElem }) :\n      null\n\n    const showEvent = EventHandler.trigger(innerElem, EVENT_SHOW, { relatedTarget: active })\n\n    if (showEvent.defaultPrevented || (hideEvent && hideEvent.defaultPrevented)) {\n      return\n    }\n\n    this._deactivate(active, innerElem)\n    this._activate(innerElem, active)\n  }\n\n  // Private\n  _activate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.add(CLASS_NAME_ACTIVE)\n\n    this._activate(SelectorEngine.getElementFromSelector(element)) // Search and activate/show the proper section\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.add(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.removeAttribute('tabindex')\n      element.setAttribute('aria-selected', true)\n      this._toggleDropDown(element, true)\n      EventHandler.trigger(element, EVENT_SHOWN, {\n        relatedTarget: relatedElem\n      })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _deactivate(element, relatedElem) {\n    if (!element) {\n      return\n    }\n\n    element.classList.remove(CLASS_NAME_ACTIVE)\n    element.blur()\n\n    this._deactivate(SelectorEngine.getElementFromSelector(element)) // Search and deactivate the shown section too\n\n    const complete = () => {\n      if (element.getAttribute('role') !== 'tab') {\n        element.classList.remove(CLASS_NAME_SHOW)\n        return\n      }\n\n      element.setAttribute('aria-selected', false)\n      element.setAttribute('tabindex', '-1')\n      this._toggleDropDown(element, false)\n      EventHandler.trigger(element, EVENT_HIDDEN, { relatedTarget: relatedElem })\n    }\n\n    this._queueCallback(complete, element, element.classList.contains(CLASS_NAME_FADE))\n  }\n\n  _keydown(event) {\n    if (!([ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ARROW_DOWN_KEY, HOME_KEY, END_KEY].includes(event.key))) {\n      return\n    }\n\n    event.stopPropagation()// stopPropagation/preventDefault both added to support up/down keys without scrolling the page\n    event.preventDefault()\n\n    const children = this._getChildren().filter(element => !isDisabled(element))\n    let nextActiveElement\n\n    if ([HOME_KEY, END_KEY].includes(event.key)) {\n      nextActiveElement = children[event.key === HOME_KEY ? 0 : children.length - 1]\n    } else {\n      const isNext = [ARROW_RIGHT_KEY, ARROW_DOWN_KEY].includes(event.key)\n      nextActiveElement = getNextActiveElement(children, event.target, isNext, true)\n    }\n\n    if (nextActiveElement) {\n      nextActiveElement.focus({ preventScroll: true })\n      Tab.getOrCreateInstance(nextActiveElement).show()\n    }\n  }\n\n  _getChildren() { // collection of inner elements\n    return SelectorEngine.find(SELECTOR_INNER_ELEM, this._parent)\n  }\n\n  _getActiveElem() {\n    return this._getChildren().find(child => this._elemIsActive(child)) || null\n  }\n\n  _setInitialAttributes(parent, children) {\n    this._setAttributeIfNotExists(parent, 'role', 'tablist')\n\n    for (const child of children) {\n      this._setInitialAttributesOnChild(child)\n    }\n  }\n\n  _setInitialAttributesOnChild(child) {\n    child = this._getInnerElement(child)\n    const isActive = this._elemIsActive(child)\n    const outerElem = this._getOuterElement(child)\n    child.setAttribute('aria-selected', isActive)\n\n    if (outerElem !== child) {\n      this._setAttributeIfNotExists(outerElem, 'role', 'presentation')\n    }\n\n    if (!isActive) {\n      child.setAttribute('tabindex', '-1')\n    }\n\n    this._setAttributeIfNotExists(child, 'role', 'tab')\n\n    // set attributes to the related panel too\n    this._setInitialAttributesOnTargetPanel(child)\n  }\n\n  _setInitialAttributesOnTargetPanel(child) {\n    const target = SelectorEngine.getElementFromSelector(child)\n\n    if (!target) {\n      return\n    }\n\n    this._setAttributeIfNotExists(target, 'role', 'tabpanel')\n\n    if (child.id) {\n      this._setAttributeIfNotExists(target, 'aria-labelledby', `${child.id}`)\n    }\n  }\n\n  _toggleDropDown(element, open) {\n    const outerElem = this._getOuterElement(element)\n    if (!outerElem.classList.contains(CLASS_DROPDOWN)) {\n      return\n    }\n\n    const toggle = (selector, className) => {\n      const element = SelectorEngine.findOne(selector, outerElem)\n      if (element) {\n        element.classList.toggle(className, open)\n      }\n    }\n\n    toggle(SELECTOR_DROPDOWN_TOGGLE, CLASS_NAME_ACTIVE)\n    toggle(SELECTOR_DROPDOWN_MENU, CLASS_NAME_SHOW)\n    outerElem.setAttribute('aria-expanded', open)\n  }\n\n  _setAttributeIfNotExists(element, attribute, value) {\n    if (!element.hasAttribute(attribute)) {\n      element.setAttribute(attribute, value)\n    }\n  }\n\n  _elemIsActive(elem) {\n    return elem.classList.contains(CLASS_NAME_ACTIVE)\n  }\n\n  // Try to get the inner element (usually the .nav-link)\n  _getInnerElement(elem) {\n    return elem.matches(SELECTOR_INNER_ELEM) ? elem : SelectorEngine.findOne(SELECTOR_INNER_ELEM, elem)\n  }\n\n  // Try to get the outer element (usually the .nav-item)\n  _getOuterElement(elem) {\n    return elem.closest(SELECTOR_OUTER) || elem\n  }\n}\n\n/**\n * Data API implementation\n */\n\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {\n  if (['A', 'AREA'].includes(this.tagName)) {\n    event.preventDefault()\n  }\n\n  if (isDisabled(this)) {\n    return\n  }\n\n  Tab.getOrCreateInstance(this).show()\n})\n\n/**\n * Initialize on focus\n */\nEventHandler.on(window, EVENT_LOAD_DATA_API, () => {\n  for (const element of SelectorEngine.find(SELECTOR_DATA_TOGGLE_ACTIVE)) {\n    Tab.getOrCreateInstance(element)\n  }\n})\n\nexport default Tab\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { enableDismissTrigger } from './util/component-functions.js'\nimport { reflow } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toast'\nconst DATA_KEY = 'bs.toast'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_MOUSEOVER = `mouseover${EVENT_KEY}`\nconst EVENT_MOUSEOUT = `mouseout${EVENT_KEY}`\nconst EVENT_FOCUSIN = `focusin${EVENT_KEY}`\nconst EVENT_FOCUSOUT = `focusout${EVENT_KEY}`\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\n\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_HIDE = 'hide' // @deprecated - kept here only for backwards compatibility\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_SHOWING = 'showing'\n\nconst DefaultType = {\n  animation: 'boolean',\n  autohide: 'boolean',\n  delay: 'number'\n}\n\nconst Default = {\n  animation: true,\n  autohide: true,\n  delay: 5000\n}\n\n/**\n * Class definition\n */\n\nclass Toast extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._timeout = null\n    this._hasMouseInteraction = false\n    this._hasKeyboardInteraction = false\n    this._setListeners()\n  }\n\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  show() {\n    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW)\n\n    if (showEvent.defaultPrevented) {\n      return\n    }\n\n    this._clearTimeout()\n\n    if (this._config.animation) {\n      this._element.classList.add(CLASS_NAME_FADE)\n    }\n\n    const complete = () => {\n      this._element.classList.remove(CLASS_NAME_SHOWING)\n      EventHandler.trigger(this._element, EVENT_SHOWN)\n\n      this._maybeScheduleHide()\n    }\n\n    this._element.classList.remove(CLASS_NAME_HIDE) // @deprecated\n    reflow(this._element)\n    this._element.classList.add(CLASS_NAME_SHOW, CLASS_NAME_SHOWING)\n\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  hide() {\n    if (!this.isShown()) {\n      return\n    }\n\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)\n\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const complete = () => {\n      this._element.classList.add(CLASS_NAME_HIDE) // @deprecated\n      this._element.classList.remove(CLASS_NAME_SHOWING, CLASS_NAME_SHOW)\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    }\n\n    this._element.classList.add(CLASS_NAME_SHOWING)\n    this._queueCallback(complete, this._element, this._config.animation)\n  }\n\n  dispose() {\n    this._clearTimeout()\n\n    if (this.isShown()) {\n      this._element.classList.remove(CLASS_NAME_SHOW)\n    }\n\n    super.dispose()\n  }\n\n  isShown() {\n    return this._element.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  // Private\n  _maybeScheduleHide() {\n    if (!this._config.autohide) {\n      return\n    }\n\n    if (this._hasMouseInteraction || this._hasKeyboardInteraction) {\n      return\n    }\n\n    this._timeout = setTimeout(() => {\n      this.hide()\n    }, this._config.delay)\n  }\n\n  _onInteraction(event, isInteracting) {\n    switch (event.type) {\n      case 'mouseover':\n      case 'mouseout': {\n        this._hasMouseInteraction = isInteracting\n        break\n      }\n\n      case 'focusin':\n      case 'focusout': {\n        this._hasKeyboardInteraction = isInteracting\n        break\n      }\n\n      default: {\n        break\n      }\n    }\n\n    if (isInteracting) {\n      this._clearTimeout()\n      return\n    }\n\n    const nextElement = event.relatedTarget\n    if (this._element === nextElement || this._element.contains(nextElement)) {\n      return\n    }\n\n    this._maybeScheduleHide()\n  }\n\n  _setListeners() {\n    EventHandler.on(this._element, EVENT_MOUSEOVER, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_MOUSEOUT, event => this._onInteraction(event, false))\n    EventHandler.on(this._element, EVENT_FOCUSIN, event => this._onInteraction(event, true))\n    EventHandler.on(this._element, EVENT_FOCUSOUT, event => this._onInteraction(event, false))\n  }\n\n  _clearTimeout() {\n    clearTimeout(this._timeout)\n    this._timeout = null\n  }\n}\n\n/**\n * Data API implementation\n */\n\nenableDismissTrigger(Toast)\n\nexport default Toast\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap toggler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport BaseComponent from './base-component.js'\nimport EventHandler from './dom/event-handler.js'\nimport { eventActionOnPlugin } from './util/component-functions.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'toggler'\nconst DATA_KEY = 'bs.toggler'\nconst EVENT_KEY = `.${DATA_KEY}`\n\nconst EVENT_TOGGLE = `toggle${EVENT_KEY}`\nconst EVENT_TOGGLED = `toggled${EVENT_KEY}`\nconst EVENT_CLICK = 'click'\n\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"toggler\"]'\n\nconst DefaultType = {\n  attribute: 'string',\n  value: '(string|number|boolean)'\n}\n\nconst Default = {\n  attribute: 'class',\n  value: null\n}\n\n/**\n * Class definition\n */\n\nclass Toggler extends BaseComponent {\n  // Getters\n  static get Default() {\n    return Default\n  }\n\n  static get DefaultType() {\n    return DefaultType\n  }\n\n  static get NAME() {\n    return NAME\n  }\n\n  // Public\n  toggle() {\n    const toggleEvent = EventHandler.trigger(this._element, EVENT_TOGGLE)\n\n    if (toggleEvent.defaultPrevented) {\n      return\n    }\n\n    this._execute()\n\n    EventHandler.trigger(this._element, EVENT_TOGGLED)\n  }\n\n  // Private\n  _execute() {\n    const { attribute, value } = this._config\n\n    if (attribute === 'id') {\n      return // You have to be kidding\n    }\n\n    if (attribute === 'class') {\n      this._element.classList.toggle(value)\n      return\n    }\n\n    // Compare as strings since getAttribute() always returns a string\n    if (this._element.getAttribute(attribute) === String(value)) {\n      this._element.removeAttribute(attribute)\n      return\n    }\n\n    this._element.setAttribute(attribute, value)\n  }\n}\n\n/**\n * Data API implementation\n */\n\neventActionOnPlugin(Toggler, EVENT_CLICK, SELECTOR_DATA_TOGGLE, 'toggle')\n\nexport default Toggler\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Alert from './src/alert.js'\nimport Button from './src/button.js'\nimport Carousel from './src/carousel.js'\nimport Collapse from './src/collapse.js'\nimport Datepicker from './src/datepicker.js'\nimport Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Offcanvas from './src/offcanvas.js'\nimport Strength from './src/strength.js'\nimport OtpInput from './src/otp-input.js'\nimport Popover from './src/popover.js'\nimport ScrollSpy from './src/scrollspy.js'\nimport Tab from './src/tab.js'\nimport Toast from './src/toast.js'\nimport Toggler from './src/toggler.js'\nimport Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Datepicker,\n  Dialog,\n  Dropdown,\n  Offcanvas,\n  Strength,\n  OtpInput,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\n  Toggler,\n  Tooltip\n}\n"],"names":["elementMap","Map","set","element","key","instance","has","instanceMap","get","size","console","error","Array","from","keys","remove","delete","namespaceRegex","stripNameRegex","stripUidRegex","eventRegistry","uidEvent","customEvents","mouseenter","mouseleave","nativeEvents","Set","makeEventUid","uid","getElementEvents","bootstrapHandler","fn","handler","event","hydrateObj","delegateTarget","oneOff","EventHandler","off","type","apply","bootstrapDelegationHandler","selector","domElements","querySelectorAll","target","parentNode","domElement","findHandler","events","callable","delegationSelector","Object","values","find","normalizeParameters","originalTypeEvent","delegationFunction","isDelegated","typeEvent","getTypeEvent","addHandler","wrapFunction","relatedTarget","contains","call","handlers","previousFunction","replace","addEventListener","removeHandler","removeEventListener","Boolean","removeNamespacedHandlers","namespace","storeElementEvent","handlerKey","entries","includes","on","one","inNamespace","isNamespace","startsWith","length","elementEvent","slice","keyHandlers","trigger","args","evt","Event","bubbles","cancelable","dispatchEvent","obj","meta","value","defineProperty","configurable","normalizeData","Number","toString","JSON","parse","decodeURIComponent","normalizeDataKey","chr","toLowerCase","Manipulator","setDataAttribute","setAttribute","removeDataAttribute","removeAttribute","getDataAttributes","attributes","bsKeys","dataset","filter","pureKey","charAt","getDataAttribute","getAttribute","MAX_UID","MILLISECONDS_MULTIPLIER","TRANSITION_END","parseSelector","window","CSS","escape","match","id","toType","object","undefined","prototype","getUID","prefix","Math","floor","random","document","getElementById","getTransitionDurationFromElement","transitionDuration","transitionDelay","getComputedStyle","floatTransitionDuration","parseFloat","floatTransitionDelay","split","triggerTransitionEnd","isElement","nodeType","getElement","querySelector","isVisible","getClientRects","elementIsVisible","getPropertyValue","closedDetails","closest","summary","isDisabled","Node","ELEMENT_NODE","classList","disabled","hasAttribute","findShadowRoot","documentElement","attachShadow","getRootNode","root","ShadowRoot","noop","reflow","offsetHeight","isRTL","dir","execute","possibleCallback","defaultValue","executeAfterTransition","callback","transitionElement","waitForTransition","durationPadding","emulatedDuration","called","setTimeout","getNextActiveElement","list","activeElement","shouldGetNext","isCycleAllowed","listLength","index","indexOf","max","min","Config","Default","DefaultType","NAME","Error","_getConfig","config","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","jsonConfig","constructor","configTypes","property","expectedTypes","valueType","RegExp","test","TypeError","toUpperCase","VERSION","BaseComponent","_element","_config","Data","DATA_KEY","dispose","EVENT_KEY","propertyName","getOwnPropertyNames","_queueCallback","isAnimated","getInstance","getOrCreateInstance","eventName","name","getSelector","hrefAttribute","trim","map","sel","join","SelectorEngine","concat","Element","findOne","children","child","matches","parents","ancestor","push","prev","previous","previousElementSibling","next","nextElementSibling","focusableChildren","focusables","el","getSelectorFromElement","getElementFromSelector","getMultipleElementsFromSelector","enableDismissTrigger","component","method","clickEvent","tagName","preventDefault","eventActionOnPlugin","Plugin","onEvent","stringSelector","eventAction","data","instances","targets","EVENT_CLOSE","EVENT_CLOSED","CLASS_NAME_FADE","CLASS_NAME_SHOW","Alert","close","closeEvent","defaultPrevented","_destroyElement","DATA_API_KEY","CLASS_NAME_ACTIVE","SELECTOR_DATA_TOGGLE","EVENT_CLICK_DATA_API","Button","toggle","button","EVENT_TOUCHSTART","EVENT_TOUCHMOVE","EVENT_TOUCHEND","EVENT_POINTERDOWN","EVENT_POINTERUP","POINTER_TYPE_TOUCH","POINTER_TYPE_PEN","CLASS_NAME_POINTER_EVENT","SWIPE_THRESHOLD","endCallback","leftCallback","rightCallback","Swipe","isSupported","_deltaX","_supportPointerEvents","PointerEvent","_initEvents","_start","touches","clientX","_eventIsPointerPenTouch","_end","_handleSwipe","_move","absDeltaX","abs","direction","add","pointerType","navigator","maxTouchPoints","ARROW_LEFT_KEY","ARROW_RIGHT_KEY","TOUCHEVENT_COMPAT_WAIT","ORDER_NEXT","ORDER_PREV","DIRECTION_LEFT","DIRECTION_RIGHT","EVENT_SLIDE","EVENT_SLID","EVENT_KEYDOWN","EVENT_MOUSEENTER","EVENT_MOUSELEAVE","EVENT_DRAG_START","EVENT_LOAD_DATA_API","CLASS_NAME_CAROUSEL","CLASS_NAME_SLIDE","CLASS_NAME_END","CLASS_NAME_START","CLASS_NAME_NEXT","CLASS_NAME_PREV","SELECTOR_ACTIVE","SELECTOR_ITEM","SELECTOR_ACTIVE_ITEM","SELECTOR_ITEM_IMG","SELECTOR_INDICATORS","SELECTOR_DATA_SLIDE","SELECTOR_DATA_RIDE","KEY_TO_DIRECTION","interval","keyboard","pause","ride","touch","wrap","Carousel","_interval","_activeElement","_isSliding","touchTimeout","_swipeHelper","_indicatorsElement","_addEventListeners","cycle","_slide","nextWhenVisible","visibilityState","_clearInterval","_updateInterval","setInterval","_maybeEnableCycle","to","items","_getItems","activeIndex","_getItemIndex","_getActive","order","defaultInterval","_keydown","_addTouchEventListeners","img","endCallBack","clearTimeout","swipeConfig","_directionToOrder","_setActiveIndicatorElement","activeIndicator","newActiveIndicator","elementInterval","parseInt","isNext","nextElement","nextElementIndex","triggerEvent","_orderToDirection","slideEvent","isCycling","directionalClassName","orderClassName","completeCallBack","_isAnimated","clearInterval","carousel","slideIndex","carousels","EVENT_SHOW","EVENT_SHOWN","EVENT_HIDE","EVENT_HIDDEN","CLASS_NAME_COLLAPSE","CLASS_NAME_COLLAPSING","CLASS_NAME_COLLAPSED","CLASS_NAME_DEEPER_CHILDREN","CLASS_NAME_HORIZONTAL","WIDTH","HEIGHT","SELECTOR_ACTIVES","parent","Collapse","_isTransitioning","_triggerArray","toggleList","elem","filterElement","foundElement","_initializeChildren","_addAriaAndCollapsedClass","_isShown","hide","show","activeChildren","_getFirstLevelChildren","startEvent","activeInstance","dimension","_getDimension","style","complete","capitalizedDimension","scrollSize","getBoundingClientRect","selected","triggerArray","isOpen","EVENT_CHANGE","EVENT_FOCUSIN_DATA_API","HIDE_DELAY","datepickerTheme","dateMin","dateMax","dateFormat","displayElement","displayMonthsCount","firstWeekday","inline","locale","positionElement","selectedDates","selectionMode","placement","vcpOptions","Datepicker","_calendar","_initCalendar","showEvent","hideEvent","_themeObserver","disconnect","destroy","getSelectedDates","dates","context","setSelectedDates","_isInput","_isInline","_boundInput","_positionElement","_resolvePositionElement","_displayElement","_resolveDisplayElement","calendarOptions","_buildCalendarOptions","Calendar","init","_setupThemeObserver","_parseInputValue","_updateDisplayWithSelectedDates","formattedDate","_formatDateForInput","textContent","displayChild","_getThemeAncestor","_getEffectiveTheme","_syncThemeAttribute","theme","MutationObserver","mainElement","observe","attributeFilter","vcpTheme","inputMode","positionToInput","selectionDatesMode","selectedTheme","themeAttrDetect","onClickDate","self","_handleDateClick","onInit","onShow","onHide","firstDate","_parseDate","selectedMonth","getMonth","selectedYear","getFullYear","_maybeHideAfterSelection","shouldHide","dateStr","year","month","day","Date","_formatDate","date","Intl","DateTimeFormat","format","toLocaleDateString","separator","d","isNaN","getTime","String","padStart","getDate","formatted","bsInline","EVENT_HIDE_PREVENTED","EVENT_CANCEL","CLASS_NAME_STATIC","CLASS_NAME_OPEN","CLASS_NAME_NONMODAL","SELECTOR_OPEN_MODAL_DIALOG","backdrop","modal","Dialog","open","showModal","body","_hideDialog","handleUpdate","_triggerBackdropTransition","hidePreventedEvent","focus","currentDialog","shouldSwap","newDialog","currentInstance","BREAKPOINTS","sm","md","lg","xl","parseResponsivePlacement","placementString","defaultPlacement","parts","placements","xs","part","breakpoint","getResponsivePlacement","responsivePlacements","viewportWidth","innerWidth","activePlacement","breakpointOrder","minWidth","createBreakpointListeners","listeners","mql","matchMedia","disposeBreakpointListeners","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","HOME_KEY","END_KEY","ENTER_KEY","SPACE_KEY","RIGHT_MOUSE_BUTTON","SUBMENU_CLOSE_DELAY","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_SUBMENU","SELECTOR_SUBMENU_TOGGLE","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","DEFAULT_PLACEMENT","SUBMENU_PLACEMENT","resolveLogicalPlacement","triangleSign","p1","p2","p3","x","y","autoClose","boundary","display","offset","floatingConfig","reference","submenuTrigger","submenuDelay","Dropdown","computePosition","_floatingCleanup","_mediaQueryListeners","_responsivePlacements","_parent","_isSubmenu","_openSubmenus","_submenuCloseTimeouts","_hoverIntentData","_menu","_parseResponsivePlacements","_setupSubmenuListeners","_createFloating","_completeHide","_disposeFloating","_disposeMediaQueryListeners","_closeAllSubmenus","_clearAllSubmenuTimeouts","update","_updateFloatingPosition","referenceElement","autoUpdate","_getPlacement","middleware","_getFloatingMiddleware","_getFloatingConfig","_applyFloatingPosition","_setupMediaQueryListeners","_getOffset","offsetConfig","rects","result","floating","offsetValue","mainAxis","crossAxis","flip","fallbackPlacements","_getFallbackPlacements","shift","fallbackMap","bottom","top","right","left","defaultConfig","isConnected","finalPlacement","assign","position","margin","_onSubmenuTriggerEnter","_onSubmenuLeave","_trackMousePosition","_onSubmenuTriggerClick","submenuWrapper","submenu","_cancelSubmenuCloseTimeout","_closeSiblingSubmenus","_openSubmenu","_isMovingTowardSubmenu","_scheduleSubmenuClose","stopPropagation","_closeSubmenu","cleanup","_createSubmenuFloating","nestedSubmenus","nested","nestedWrapper","currentSubmenuWrapper","siblingSubmenus","siblingMenu","siblingWrapper","padding","updatePosition","timeoutId","clear","clientY","timestamp","now","submenuRect","currentPos","lastPos","isRtl","targetX","topCorner","bottomCorner","_pointInTriangle","point","v1","v2","v3","d1","d2","d3","hasNeg","hasPos","_selectMenuItem","currentMenu","_handleSubmenuKeydown","enterKey","exitKey","isSubmenuTrigger","requestAnimationFrame","firstItem","parentSubmenuWrapper","parentTrigger","targetItem","clearMenus","openToggles","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","isLeftOrRightEvent","isHomeOrEndEvent","isEnterOrSpaceEvent","getToggleButton","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","OPEN_SELECTOR","EVENT_RESIZE","EVENT_KEYDOWN_DISMISS","scroll","Offcanvas","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","blur","completeCallback","alreadyOpen","EVENT_STRENGTH_CHANGE","SELECTOR_DATA_STRENGTH","STRENGTH_LEVELS","input","minLength","messages","weak","fair","good","strong","weights","extraLength","lowercase","uppercase","numbers","special","multipleSpecial","longPassword","thresholds","scorer","Strength","_input","_getInput","_segments","_textElement","parentElement","_currentStrength","_evaluate","getStrength","evaluate","password","score","_calculateScore","strength","_scoreToStrength","_updateUI","bsStrength","strengthIndex","segment","colorMap","EVENT_COMPLETE","EVENT_INPUT","SELECTOR_DATA_OTP","SELECTOR_INPUT","mask","OtpInput","_inputs","_setupInputs","getValue","setValue","chars","_checkComplete","emptyInput","at","_handleInput","_handlePaste","_handleFocus","i","nextIndex","pastedData","clipboardData","getData","digits","lastIndex","select","isComplete","every","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","li","ol","p","pre","s","small","span","sub","sup","u","ul","uriAttributes","SAFE_URL_PATTERN","allowedAttribute","attribute","allowedAttributeList","attributeName","nodeName","nodeValue","attributeRegex","some","regex","sanitizeHtml","unsafeHtml","allowList","sanitizeFunction","domParser","DOMParser","createdDocument","parseFromString","elementName","attributeList","allowedAttributes","innerHTML","content","extraClass","html","sanitize","sanitizeFn","template","DefaultContentType","entry","TemplateFactory","getContent","_resolvePossibleFunction","hasContent","changeContent","_checkContent","toHtml","templateWrapper","_maybeSanitize","text","_setContent","arg","templateElement","_putElementInTemplate","DISALLOWED_ATTRIBUTES","CLASS_NAME_MODAL","SELECTOR_TOOLTIP_INNER","SELECTOR_MODAL","EVENT_MODAL_HIDE","TRIGGER_HOVER","TRIGGER_FOCUS","TRIGGER_CLICK","TRIGGER_MANUAL","EVENT_INSERTED","EVENT_CLICK","EVENT_FOCUSOUT","AttachmentMap","AUTO","TOP","RIGHT","BOTTOM","LEFT","animation","container","customClass","delay","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","arrowElement","middlewareData","arrow","arrowX","arrowY","isVertical","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","initTooltip","tooltip","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","initPopover","popover","EVENT_ACTIVATE","CLASS_NAME_DROPDOWN_ITEM","SELECTOR_DATA_SPY","SELECTOR_TARGET_LINKS","SELECTOR_NAV_LIST_GROUP","SELECTOR_NAV_LINKS","SELECTOR_NAV_ITEMS","SELECTOR_LIST_ITEMS","SELECTOR_LINK_ITEMS","SELECTOR_DROPDOWN","SELECTOR_DROPDOWN_TOGGLE","rootMargin","smoothScroll","threshold","ScrollSpy","_targetLinks","_observableSections","_rootElement","overflowY","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","_getNewObserver","section","observableSection","hash","height","offsetTop","scrollTo","behavior","scrollTop","options","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","CLASS_DROPDOWN","SELECTOR_DROPDOWN_MENU","NOT_SELECTOR_DROPDOWN_TOGGLE","SELECTOR_TAB_PANEL","SELECTOR_OUTER","SELECTOR_INNER","SELECTOR_INNER_ELEM","SELECTOR_DATA_TOGGLE_ACTIVE","Tab","_setInitialAttributes","_getChildren","innerElem","_elemIsActive","active","_getActiveElem","_deactivate","_activate","relatedElem","_toggleDropDown","nextActiveElement","preventScroll","_setAttributeIfNotExists","_setInitialAttributesOnChild","_getInnerElement","isActive","outerElem","_getOuterElement","_setInitialAttributesOnTargetPanel","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting","EVENT_TOGGLE","EVENT_TOGGLED","Toggler","toggleEvent","_execute"],"mappings":"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"}
\ No newline at end of file
index b60ddb9b4d12e42a201538df035abe82df7a3edf..37e7e12a396a4bf8797b1153306b986f0f7be358 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap alert.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap alert.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index cc767c78af923b653305426549706db953132f5b..242e1d305eb324085f14d2298c340710cc396e8c 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap base-component.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap base-component.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
@@ -21,7 +21,7 @@
    * Constants
    */
 
-  const VERSION = '5.3.8';
+  const VERSION = '6.0.0-alpha1';
 
   /**
    * Class definition
index 44cb1e6177dbdd915a7994deac24f0c2671a3fa6..c2a7b0f6f83eed882d9d1f5fd3583379c2757215 100644 (file)
@@ -1 +1 @@
-{"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '5.3.8'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","Config","constructor","element","config","getElement","_element","_config","_getConfig","Data","set","DATA_KEY","dispose","remove","EventHandler","off","EVENT_KEY","propertyName","Object","getOwnPropertyNames","_queueCallback","callback","isAnimated","executeAfterTransition","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","getInstance","get","getOrCreateInstance","NAME","eventName","name"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAOA;EACA;EACA;;EAEA,MAAMA,OAAO,GAAG,OAAO;;EAEvB;EACA;EACA;;EAEA,MAAMC,aAAa,SAASC,MAAM,CAAC;EACjCC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,MAAM,EAAE;EAC3B,IAAA,KAAK,EAAE;EAEPD,IAAAA,OAAO,GAAGE,mBAAU,CAACF,OAAO,CAAC;MAC7B,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA;EACF,IAAA;MAEA,IAAI,CAACG,QAAQ,GAAGH,OAAO;MACvB,IAAI,CAACI,OAAO,GAAG,IAAI,CAACC,UAAU,CAACJ,MAAM,CAAC;EAEtCK,IAAAA,IAAI,CAACC,GAAG,CAAC,IAAI,CAACJ,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,EAAE,IAAI,CAAC;EAC1D,EAAA;;EAEA;EACAC,EAAAA,OAAOA,GAAG;EACRH,IAAAA,IAAI,CAACI,MAAM,CAAC,IAAI,CAACP,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,CAAC;EACrDG,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACT,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACc,SAAS,CAAC;MAE3D,KAAK,MAAMC,YAAY,IAAIC,MAAM,CAACC,mBAAmB,CAAC,IAAI,CAAC,EAAE;EAC3D,MAAA,IAAI,CAACF,YAAY,CAAC,GAAG,IAAI;EAC3B,IAAA;EACF,EAAA;;EAEA;IACAG,cAAcA,CAACC,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,GAAG,IAAI,EAAE;EACnDC,IAAAA,+BAAsB,CAACF,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,CAAC;EACvD,EAAA;IAEAd,UAAUA,CAACJ,MAAM,EAAE;MACjBA,MAAM,GAAG,IAAI,CAACoB,eAAe,CAACpB,MAAM,EAAE,IAAI,CAACE,QAAQ,CAAC;EACpDF,IAAAA,MAAM,GAAG,IAAI,CAACqB,iBAAiB,CAACrB,MAAM,CAAC;EACvC,IAAA,IAAI,CAACsB,gBAAgB,CAACtB,MAAM,CAAC;EAC7B,IAAA,OAAOA,MAAM;EACf,EAAA;;EAEA;IACA,OAAOuB,WAAWA,CAACxB,OAAO,EAAE;EAC1B,IAAA,OAAOM,IAAI,CAACmB,GAAG,CAACvB,mBAAU,CAACF,OAAO,CAAC,EAAE,IAAI,CAACQ,QAAQ,CAAC;EACrD,EAAA;IAEA,OAAOkB,mBAAmBA,CAAC1B,OAAO,EAAEC,MAAM,GAAG,EAAE,EAAE;MAC/C,OAAO,IAAI,CAACuB,WAAW,CAACxB,OAAO,CAAC,IAAI,IAAI,IAAI,CAACA,OAAO,EAAE,OAAOC,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,IAAI,CAAC;EACnG,EAAA;IAEA,WAAWL,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO;EAChB,EAAA;IAEA,WAAWY,QAAQA,GAAG;EACpB,IAAA,OAAO,CAAA,GAAA,EAAM,IAAI,CAACmB,IAAI,CAAA,CAAE;EAC1B,EAAA;IAEA,WAAWd,SAASA,GAAG;EACrB,IAAA,OAAO,CAAA,CAAA,EAAI,IAAI,CAACL,QAAQ,CAAA,CAAE;EAC5B,EAAA;IAEA,OAAOoB,SAASA,CAACC,IAAI,EAAE;EACrB,IAAA,OAAO,GAAGA,IAAI,CAAA,EAAG,IAAI,CAAChB,SAAS,CAAA,CAAE;EACnC,EAAA;EACF;;;;;;;;"}
\ No newline at end of file
+{"version":3,"file":"base-component.js","sources":["../src/base-component.js"],"sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap base-component.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport Data from './dom/data.js'\nimport EventHandler from './dom/event-handler.js'\nimport Config from './util/config.js'\nimport { executeAfterTransition, getElement } from './util/index.js'\n\n/**\n * Constants\n */\n\nconst VERSION = '6.0.0-alpha1'\n\n/**\n * Class definition\n */\n\nclass BaseComponent extends Config {\n  constructor(element, config) {\n    super()\n\n    element = getElement(element)\n    if (!element) {\n      return\n    }\n\n    this._element = element\n    this._config = this._getConfig(config)\n\n    Data.set(this._element, this.constructor.DATA_KEY, this)\n  }\n\n  // Public\n  dispose() {\n    Data.remove(this._element, this.constructor.DATA_KEY)\n    EventHandler.off(this._element, this.constructor.EVENT_KEY)\n\n    for (const propertyName of Object.getOwnPropertyNames(this)) {\n      this[propertyName] = null\n    }\n  }\n\n  // Private\n  _queueCallback(callback, element, isAnimated = true) {\n    executeAfterTransition(callback, element, isAnimated)\n  }\n\n  _getConfig(config) {\n    config = this._mergeConfigObj(config, this._element)\n    config = this._configAfterMerge(config)\n    this._typeCheckConfig(config)\n    return config\n  }\n\n  // Static\n  static getInstance(element) {\n    return Data.get(getElement(element), this.DATA_KEY)\n  }\n\n  static getOrCreateInstance(element, config = {}) {\n    return this.getInstance(element) || new this(element, typeof config === 'object' ? config : null)\n  }\n\n  static get VERSION() {\n    return VERSION\n  }\n\n  static get DATA_KEY() {\n    return `bs.${this.NAME}`\n  }\n\n  static get EVENT_KEY() {\n    return `.${this.DATA_KEY}`\n  }\n\n  static eventName(name) {\n    return `${name}${this.EVENT_KEY}`\n  }\n}\n\nexport default BaseComponent\n"],"names":["VERSION","BaseComponent","Config","constructor","element","config","getElement","_element","_config","_getConfig","Data","set","DATA_KEY","dispose","remove","EventHandler","off","EVENT_KEY","propertyName","Object","getOwnPropertyNames","_queueCallback","callback","isAnimated","executeAfterTransition","_mergeConfigObj","_configAfterMerge","_typeCheckConfig","getInstance","get","getOrCreateInstance","NAME","eventName","name"],"mappings":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAOA;EACA;EACA;;EAEA,MAAMA,OAAO,GAAG,cAAc;;EAE9B;EACA;EACA;;EAEA,MAAMC,aAAa,SAASC,MAAM,CAAC;EACjCC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,MAAM,EAAE;EAC3B,IAAA,KAAK,EAAE;EAEPD,IAAAA,OAAO,GAAGE,mBAAU,CAACF,OAAO,CAAC;MAC7B,IAAI,CAACA,OAAO,EAAE;EACZ,MAAA;EACF,IAAA;MAEA,IAAI,CAACG,QAAQ,GAAGH,OAAO;MACvB,IAAI,CAACI,OAAO,GAAG,IAAI,CAACC,UAAU,CAACJ,MAAM,CAAC;EAEtCK,IAAAA,IAAI,CAACC,GAAG,CAAC,IAAI,CAACJ,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,EAAE,IAAI,CAAC;EAC1D,EAAA;;EAEA;EACAC,EAAAA,OAAOA,GAAG;EACRH,IAAAA,IAAI,CAACI,MAAM,CAAC,IAAI,CAACP,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACS,QAAQ,CAAC;EACrDG,IAAAA,YAAY,CAACC,GAAG,CAAC,IAAI,CAACT,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAACc,SAAS,CAAC;MAE3D,KAAK,MAAMC,YAAY,IAAIC,MAAM,CAACC,mBAAmB,CAAC,IAAI,CAAC,EAAE;EAC3D,MAAA,IAAI,CAACF,YAAY,CAAC,GAAG,IAAI;EAC3B,IAAA;EACF,EAAA;;EAEA;IACAG,cAAcA,CAACC,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,GAAG,IAAI,EAAE;EACnDC,IAAAA,+BAAsB,CAACF,QAAQ,EAAElB,OAAO,EAAEmB,UAAU,CAAC;EACvD,EAAA;IAEAd,UAAUA,CAACJ,MAAM,EAAE;MACjBA,MAAM,GAAG,IAAI,CAACoB,eAAe,CAACpB,MAAM,EAAE,IAAI,CAACE,QAAQ,CAAC;EACpDF,IAAAA,MAAM,GAAG,IAAI,CAACqB,iBAAiB,CAACrB,MAAM,CAAC;EACvC,IAAA,IAAI,CAACsB,gBAAgB,CAACtB,MAAM,CAAC;EAC7B,IAAA,OAAOA,MAAM;EACf,EAAA;;EAEA;IACA,OAAOuB,WAAWA,CAACxB,OAAO,EAAE;EAC1B,IAAA,OAAOM,IAAI,CAACmB,GAAG,CAACvB,mBAAU,CAACF,OAAO,CAAC,EAAE,IAAI,CAACQ,QAAQ,CAAC;EACrD,EAAA;IAEA,OAAOkB,mBAAmBA,CAAC1B,OAAO,EAAEC,MAAM,GAAG,EAAE,EAAE;MAC/C,OAAO,IAAI,CAACuB,WAAW,CAACxB,OAAO,CAAC,IAAI,IAAI,IAAI,CAACA,OAAO,EAAE,OAAOC,MAAM,KAAK,QAAQ,GAAGA,MAAM,GAAG,IAAI,CAAC;EACnG,EAAA;IAEA,WAAWL,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO;EAChB,EAAA;IAEA,WAAWY,QAAQA,GAAG;EACpB,IAAA,OAAO,CAAA,GAAA,EAAM,IAAI,CAACmB,IAAI,CAAA,CAAE;EAC1B,EAAA;IAEA,WAAWd,SAASA,GAAG;EACrB,IAAA,OAAO,CAAA,CAAA,EAAI,IAAI,CAACL,QAAQ,CAAA,CAAE;EAC5B,EAAA;IAEA,OAAOoB,SAASA,CAACC,IAAI,EAAE;EACrB,IAAA,OAAO,GAAGA,IAAI,CAAA,EAAG,IAAI,CAAChB,SAAS,CAAA,CAAE;EACnC,EAAA;EACF;;;;;;;;"}
\ No newline at end of file
index 406c1682a64444cc99f4588df33e16449c580af7..8377582caa925b445d06f602e8cfac145ab28a44 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap button.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap button.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 42ff670d8b9264eaf5e653dd3589eb1116a43e55..96cfe3d97057035e79becbbba616e77158024ecb 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap carousel.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap carousel.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 668a7b434582c2913f3c21490476e6eef328d5cf..76ef48409027d92b8552ad3f6696613bc93410ec 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap chip-input.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap chip-input.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index eeeb5a77a9fed04d516afa024846ae92d38e1c83..89b6779769fc848a6e100e40056446915aca9fb5 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap collapse.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap collapse.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 79947d6ba17b9a3c60b15401f626f815ef72f95f..e4647e312b9a7c1be0c213b69c7fa6087efb1902 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap datepicker.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap datepicker.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 1d0666699c779c70773653b34ec1dddec731be01..feaf00d9f5e9a1e0ace74339196efe4ba4a732ed 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap dialog.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap dialog.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index ab9772f6421bde192393f832cfd4fd8d07fa5fe3..862b3ee881965f1aa94a7704bebc611f9c271c36 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap data.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap data.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 7158a2e9053d9fef8b3d9e562f74bbb3e99903ff..6fbcadbd5d95bb415183236a438d26c3086cc9f8 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap event-handler.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap event-handler.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 75047c2bade50f83636abf580bfd111f57cf6b03..aaa7665ec31a4e9c6172d72f98765f35e1ddd462 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap manipulator.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap manipulator.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index ea170f2bfceeca758cc9be5061316cfe09e7a258..7e6d9a294ffcd1415f0f4b2b0dfca5620dae14bb 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap selector-engine.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap selector-engine.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 4ef75cb262ef50231ee9c65b5b7ce3451baf7b37..ed40ffd58e0d8c3f40d3c92ee44816125ecdc3b8 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap dropdown.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap dropdown.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 4ba1c2c70edaf5dc79eb9d6a04ca491820088b27..064647b6e217e0bcdf6ed24ebc86532ba8022802 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap offcanvas.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap offcanvas.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 5c928d73e910dbf5f469fec2c2e490323402398b..72d081d495b64360ca4e0d679de37069c6d7b862 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap otp-input.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap otp-input.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index f115cf3a7182a604733054a16ea9e41b854ea891..d7108bc2772e3e14c3494dd214e59e98dd51bc58 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap popover.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap popover.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 99ecd3e42f01ba239626f1f84715c04a250506f6..a1ae18db090003d395e9baaf00a7bad2aab82d72 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap scrollspy.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap scrollspy.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 5937cc2d52057e8b3b25599d5258a074cd4130e6..edd7ac498a47aaa327b87623f6d883232c7257f2 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap strength.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap strength.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 57a1d181dbeb4efde5088b5884b346d5a2f881fe..2a2dc1b68761d633313b7641e7229f3d3958b48a 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap tab.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap tab.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index b4344677f323070600cc5b8f3c5df392e180a48e..170ae8d590e05347f67e290662cc9a70d73570d4 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap toast.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap toast.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 7c3d407b264010933196f77e455db9aa76db019b..0db8cb9d0e1aad7334ebd074aab6bee4702975a1 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap toggler.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap toggler.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index c59c9b3e68503fc13792032e59a221c4eadc8cac..70edf272aa41de5184d28c7cfee2a64826f04104 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap tooltip.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap tooltip.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 0642e9921a6ab4df565b84fe17c9e1247ac294f7..616026834655ffc6ae855af025a89e2dde426ad5 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap backdrop.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap backdrop.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 58c7f78bed7c5c5b342005ccbaeb9af067b34b9a..d428ad55dfe288606b00f35d1d5d89823fcda694 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap component-functions.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap component-functions.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index ade584360403b5a43ee398a350683a395e7841a6..446d9c4b9907ef1e136bf3ee5071b4229e85cec1 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap config.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap config.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 5c73642700a5f30922b38485a7a46ea886f42cac..461af2cd8c6ffcfeaca2305c1090123be300825a 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap floating-ui.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap floating-ui.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 6efc6fdfd6cd4c1b83bd78d87c224fb7ebdeca69..97763d3422d3a8aed143ae5fd9b9f35b572cddf9 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap focustrap.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap focustrap.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 19597ef59024c9a75b15fbc662d1968c8b94f6f8..b34c6aea0577371d593922df391055485bde4a2f 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap index.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap index.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index a4f0982e03101c4101fa6714af2c18dd50269aed..9bdeffc552462a9499c5c6163f1cebf831523a16 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap sanitizer.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap sanitizer.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 35ad9161731c0fa3b882feccfa11a332d76384a4..49d973639f56354b3aad7dde07f5226fa1c0fd55 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap scrollbar.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap scrollbar.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index eae2f439a1405cdb298b135d599ef26a5646e540..447feaf49c078469599af8437833e4eefd379125 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap swipe.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap swipe.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index b4cc3841deb0f30c37d96c717a1d8481ad4bd9e3..b327df8e50924543ce972eeafb55cde377d151ae 100644 (file)
@@ -1,5 +1,5 @@
 /*!
-  * Bootstrap template-factory.js v5.3.8 (https://getbootstrap.com/)
+  * Bootstrap template-factory.js v6.0.0-alpha1 (https://getbootstrap.com/)
   * Copyright 2011-2026 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
   */
index 9b9dc82e83c26b9bd5b7a30bd4a8a6a1003c0fe3..5105ab7315c09bb7fd02e9f223f20c925b39ece8 100644 (file)
@@ -1,81 +1,58 @@
+@use "sass:map";
 @use "config" as *;
 @use "variables" as *;
 @use "functions" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/transition" as *;
 @use "mixins/focus-ring" as *;
-
-// scss-docs-start accordion-variables
-$accordion-padding-y:                     1rem !default;
-$accordion-padding-x:                     1.25rem !default;
-$accordion-color:                         var(--fg-body) !default;
-$accordion-bg:                            var(--bg-body) !default;
-$accordion-border-width:                  var(--border-width) !default;
-$accordion-border-color:                  var(--border-color) !default;
-$accordion-border-radius:                 var(--border-radius-lg) !default;
-$accordion-inner-border-radius:           calc(#{$accordion-border-radius} - #{$accordion-border-width}) !default;
-
-$accordion-body-padding-y:                $accordion-padding-y !default;
-$accordion-body-padding-x:                $accordion-padding-x !default;
-
-$accordion-button-padding-y:              $accordion-padding-y !default;
-$accordion-button-padding-x:              $accordion-padding-x !default;
-$accordion-button-color:                  var(--fg-2) !default;
-$accordion-button-bg:                     var(--accordion-bg) !default;
-$accordion-transition:                    color .15s ease-in-out, background-color .15s ease-in-out, border-radius .15s ease !default;
-$accordion-button-active-bg:              var(--bg-2) !default;
-$accordion-button-active-color:           var(--fg) !default;
-
-$accordion-icon-width:                    1rem !default;
-$accordion-icon-transition:               transform .2s ease-in-out !default;
-$accordion-icon-transform:                rotate(-180deg) !default;
-// scss-docs-end accordion-variables
+@use "mixins/tokens" as *;
+
+$accordion-tokens: () !default;
+
+// scss-docs-start accordion-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$accordion-tokens: defaults(
+  (
+    --accordion-padding-x: 1.25rem,
+    --accordion-padding-y: 1rem,
+    --accordion-color: var(--fg-body),
+    --accordion-bg: var(--bg-body),
+    --accordion-transition-property: "color, background-color, border-radius",
+    --accordion-transition-timing: ".15s ease-in-out",
+    --accordion-transition: var(--accordion-transition-property) var(--accordion-timing),
+    --accordion-border-color: var(--border-color),
+    --accordion-border-width: var(--border-width),
+    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg)),
+    --accordion-btn-color: var(--fg-2),
+    --accordion-btn-bg: var(--bg-body),
+    --accordion-btn-icon-width: 1rem,
+    --accordion-btn-icon-transform: rotate(-180deg),
+    --accordion-btn-icon-transition: transform .2s ease-in-out,
+    --accordion-active-color: var(--fg),
+    --accordion-active-bg: var(--bg-2),
+  ),
+  $accordion-tokens
+);
+// scss-docs-end accordion-tokens
 
 @layer components {
   .accordion {
-    // scss-docs-start accordion-css-vars
-    --accordion-color: #{$accordion-color};
-    --accordion-bg: #{$accordion-bg};
-    --accordion-transition: #{$accordion-transition};
-    --accordion-border-color: #{$accordion-border-color};
-    --accordion-border-width: #{$accordion-border-width};
-    --accordion-border-radius: var(--accordion-radius, var(--border-radius-lg));
-    // --accordion-border-radius: #{$accordion-border-radius};
-    // --accordion-inner-border-radius: #{$accordion-inner-border-radius};
-    --accordion-btn-padding-x: #{$accordion-button-padding-x};
-    --accordion-btn-padding-y: #{$accordion-button-padding-y};
-    --accordion-btn-color: #{$accordion-button-color};
-    --accordion-btn-bg: #{$accordion-button-bg};
-    --accordion-btn-icon-width: #{$accordion-icon-width};
-    --accordion-btn-icon-transform: #{$accordion-icon-transform};
-    --accordion-btn-icon-transition: #{$accordion-icon-transition};
-    --accordion-body-padding-x: #{$accordion-body-padding-x};
-    --accordion-body-padding-y: #{$accordion-body-padding-y};
-    --accordion-active-color: #{$accordion-button-active-color};
-    --accordion-active-bg: #{$accordion-button-active-bg};
-    // scss-docs-end accordion-css-vars
+    @include tokens($accordion-tokens);
   }
 
   .accordion-header {
     display: flex;
     align-items: center;
     width: 100%;
-    padding: var(--accordion-btn-padding-y) var(--accordion-btn-padding-x);
-    font-size: $font-size-base;
+    padding: var(--accordion-btn-padding-y, var(--accordion-padding-y)) var(--accordion-btn-padding-x, var(--accordion-padding-x));
+    font-size: var(--accordion-font-size, var(--font-size-base));
     color: var(--accordion-btn-color);
     text-align: start;
     list-style: none; // Remove default marker
     cursor: pointer;
     background-color: var(--accordion-btn-bg);
-    // @include border-radius(var(--accordion-border-radius));
     @include transition(var(--accordion-transition));
 
-    // Hide the default marker in webkit browsers
-    // &::-webkit-details-marker {
-    //   display: none;
-    // }
-
-    // Icon styles
     .accordion-icon {
       flex-shrink: 0;
       width: var(--accordion-btn-icon-width);
@@ -149,7 +126,7 @@ $accordion-icon-transform:                rotate(-180deg) !default;
   }
 
   .accordion-body {
-    padding: var(--accordion-body-padding-y) var(--accordion-body-padding-x);
+    padding: var(--accordion-body-padding-y, var(--accordion-padding-y)) var(--accordion-body-padding-x, var(--accordion-padding-x));
   }
 
 
index aa393707dce80de77a96216e01374e3d03406fdf..224d97ecad486e2536068a03f47726948df44861 100644 (file)
@@ -1,32 +1,35 @@
 @use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "theme" as *;
 @use "variables" as *;
 @use "mixins/border-radius" as *;
+@use "mixins/tokens" as *;
 
-// scss-docs-start alert-variables
-$alert-gap:                     $spacer * .75 !default;
-$alert-padding-y:               $spacer !default;
-$alert-padding-x:               $spacer !default;
-$alert-border-radius:           var(--border-radius) !default;
-$alert-link-font-weight:        $font-weight-semibold !default;
-$alert-border-width:            var(--border-width) !default;
-// scss-docs-end alert-variables
+$alert-tokens: () !default;
+
+// scss-docs-start alert-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$alert-tokens: defaults(
+  (
+    --alert-gap: #{$spacer * .75},
+    --alert-bg: var(--theme-bg-subtle, var(--bg-1)),
+    --alert-padding-x: #{$spacer},
+    --alert-padding-y: #{$spacer},
+    --alert-color: var(--theme-text, inherit),
+    --alert-border-color: var(--theme-border, var(--border-color)),
+    --alert-border: var(--border-width) solid var(--alert-border-color),
+    --alert-border-radius: var(--border-radius),
+    --alert-link-color: inherit,
+    --hr-border-color: var(--theme-border, var(--border-color)),
+  ),
+  $alert-tokens
+);
+// scss-docs-end alert-tokens
 
 @layer components {
   .alert {
-    // scss-docs-start alert-css-vars
-    --alert-gap: #{$alert-gap};
-    --alert-bg: var(--theme-bg-subtle, var(--bg-1));
-    --alert-padding-x: #{$alert-padding-x};
-    --alert-padding-y: #{$alert-padding-y};
-    --alert-color: var(--theme-text, inherit);
-    --alert-border-color: var(--theme-border, var(--border-color));
-    --alert-border: #{$alert-border-width} solid var(--alert-border-color);
-    --alert-border-radius: #{$alert-border-radius};
-    --alert-link-color: inherit;
-    --hr-border-color: var(--theme-border, var(--border-color));
-    // scss-docs-end alert-css-vars
+    @include tokens($alert-tokens);
 
     display: flex;
     gap: var(--alert-gap);
@@ -45,7 +48,7 @@ $alert-border-width:            var(--border-width) !default;
 
   // Provide class for links that match alerts
   .alert-link {
-    font-weight: $alert-link-font-weight;
+    font-weight: var(--font-weight-semibold);
     color: var(--alert-link-color);
   }
 }
index b716edfb5ac15ce96faa17ea4a913480f6e1d653..01ec65bdf95342c8b37643c03e58f9fd515f64c3 100644 (file)
@@ -1,47 +1,73 @@
+@use "sass:map";
+@use "functions" as *;
 @use "variables" as *;
 @use "theme" as *;
 @use "mixins/border-radius" as *;
-
-// scss-docs-start avatar-variables
-$avatar-size:                 2.5rem !default;
-$avatar-size-xs:              1.5rem !default;
-$avatar-size-sm:              2rem !default;
-$avatar-size-lg:              3rem !default;
-$avatar-size-xl:              4rem !default;
-$avatar-border-radius:        50% !default;
-$avatar-border-width:         2px !default;
-$avatar-border-color:         var(--bg-body) !default;
-$avatar-bg:                   var(--bg-2) !default;
-$avatar-color:                var(--fg-body) !default;
-
-$avatar-status-size:          .75rem !default;
-$avatar-status-border-width:  2px !default;
-$avatar-status-border-color:  var(--bg-body) !default;
-
-$avatar-stack-spacing:        -.3 !default; // Percentage of avatar size (negative for overlap)
-// scss-docs-end avatar-variables
+@use "mixins/transition" as *;
+@use "mixins/tokens" as *;
+
+$avatar-tokens: () !default;
+
+// stylelint-disable custom-property-no-missing-var-function
+// scss-docs-start avatar-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$avatar-tokens: defaults(
+  (
+    --avatar-size: 2.5rem,
+    --avatar-border-radius: 50%,
+    --avatar-border-width: 2px,
+    --avatar-border-color: var(--bg-body),
+    --avatar-bg: var(--bg-2),
+    --avatar-color: var(--fg-body),
+    // --avatar-font-weight: var(--font-weight-medium), // Defaults to fallback
+    --avatar-status-size: .75rem,
+    --avatar-status-border-width: 2px,
+    --avatar-status-border-color: var(--bg-body),
+    --avatar-stack-spacing: -.3,
+    --avatar-stack-transition: "transform .2s ease-in-out",
+  ),
+  $avatar-tokens
+);
+// scss-docs-end avatar-tokens
+// stylelint-enable custom-property-no-missing-var-function
+
+// scss-docs-start avatar-sizes
+$avatar-sizes: () !default;
+// stylelint-disable-next-line scss/dollar-variable-default
+$avatar-sizes: defaults(
+  (
+    "xs": (
+      size: 1.5rem,
+      status-size: .625rem,
+    ),
+    "sm": (
+      size: 2rem,
+    ),
+    "lg": (
+      size: 3rem,
+      status-size: 1rem,
+    ),
+    "xl": (
+      size: 4rem,
+      status-size: 1.25rem,
+    ),
+  ),
+  $avatar-sizes
+);
+// scss-docs-end avatar-sizes
 
 @layer components {
   .avatar {
-    // scss-docs-start avatar-css-vars
-    --avatar-border-radius: #{$avatar-border-radius};
-    --avatar-border-width: #{$avatar-border-width};
-    --avatar-border-color: #{$avatar-border-color};
-    --avatar-bg: #{$avatar-bg};
-    --avatar-color: #{$avatar-color};
-    --avatar-status-size: #{$avatar-status-size};
-    --avatar-status-border-width: #{$avatar-status-border-width};
-    --avatar-status-border-color: #{$avatar-status-border-color};
-    // scss-docs-end avatar-css-vars
+    @include tokens($avatar-tokens);
 
     position: relative;
     display: inline-flex;
     align-items: center;
     justify-content: center;
-    width: var(--avatar-size, #{$avatar-size});
-    height: var(--avatar-size, #{$avatar-size});
+    width: var(--avatar-size);
+    height: var(--avatar-size);
     font-size: calc(var(--avatar-size) * .4);
-    font-weight: $font-weight-medium;
+    font-weight: var(--avatar-font-weight, var(--font-weight-medium));
     line-height: 1;
     color: var(--theme-contrast, var(--avatar-color));
     text-transform: uppercase;
@@ -97,9 +123,10 @@ $avatar-stack-spacing:        -.3 !default; // Percentage of avatar size (negati
 
     .avatar {
       // Stack spacing is calculated as a percentage of avatar size
-      margin-left: calc(var(--avatar-size, #{$avatar-size}) * #{$avatar-stack-spacing});
+      margin-left: calc(var(--avatar-size) * var(--avatar-stack-spacing));
       border: var(--avatar-border-width) solid var(--avatar-border-color);
       mask-image: none;
+      @include transition(var(--avatar-stack-transition));
 
       &:last-child {
         margin-left: 0;
@@ -112,26 +139,14 @@ $avatar-stack-spacing:        -.3 !default; // Percentage of avatar size (negati
     }
   }
 
-  .avatar-xs,
-  .avatar-stack-xs {
-    --avatar-size: #{$avatar-size-xs};
-    --avatar-status-size: .625rem;
-  }
-
-  .avatar-sm,
-  .avatar-stack-sm {
-    --avatar-size: #{$avatar-size-sm};
-  }
-
-  .avatar-lg,
-  .avatar-stack-lg {
-    --avatar-size: #{$avatar-size-lg};
-    --avatar-status-size: 1rem;
-  }
+  @each $size, $tokens in $avatar-sizes {
+    .avatar-#{$size},
+    .avatar-stack-#{$size} {
+      --avatar-size: #{map.get($tokens, size)};
 
-  .avatar-xl,
-  .avatar-stack-xl {
-    --avatar-size: #{$avatar-size-xl};
-    --avatar-status-size: 1.25rem;
+      @if map.has-key($tokens, status-size) {
+        --avatar-status-size: #{map.get($tokens, status-size)};
+      }
+    }
   }
 }
index 62dd972b3e9852b360e69c1892693aa46d2f530a..105d3dcf6a74379efb5d08db2cb62eaec7392b0d 100644 (file)
@@ -1,18 +1,31 @@
 @use "sass:map";
 @use "colors" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "theme" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/gradients" as *;
+@use "mixins/tokens" as *;
 
-// scss-docs-start badge-variables
-$badge-font-size:                   clamp(12px, .75em, .75em) !default;
-$badge-font-weight:                 $font-weight-semibold !default;
-$badge-color:                       inherit !default;
-$badge-padding-y:                   .25em !default;
-$badge-padding-x:                   .625em !default;
-$badge-border-radius:               var(--border-radius-lg) !default;
-// scss-docs-end badge-variables
+$badge-tokens: () !default;
+
+// scss-docs-start badge-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$badge-tokens: defaults(
+  (
+    --badge-padding-x: .625em,
+    --badge-padding-y: .25em,
+    --badge-font-size: clamp(12px, .75em, .75em),
+    --badge-font-weight: var(--font-weight-semibold),
+    --badge-color: inherit,
+    --badge-bg: var(--bg-2),
+    --badge-border-width: var(--border-width),
+    --badge-border-color: transparent,
+    --badge-border-radius: var(--border-radius-lg),
+  ),
+  $badge-tokens
+);
+// scss-docs-end badge-tokens
 
 // scss-docs-start badge-variants
 $badge-variants: (
@@ -31,17 +44,7 @@ $badge-variants: (
 
 @layer components {
   .badge {
-    // scss-docs-start badge-css-vars
-    --badge-padding-x: #{$badge-padding-x};
-    --badge-padding-y: #{$badge-padding-y};
-    --badge-font-size: #{$badge-font-size};
-    --badge-font-weight: #{$badge-font-weight};
-    --badge-color: #{$badge-color};
-    --badge-bg: var(--bg-2);
-    --badge-border-width: #{$border-width};
-    --badge-border-color: transparent;
-    --badge-border-radius: #{$badge-border-radius};
-    // scss-docs-end badge-css-vars
+    @include tokens($badge-tokens);
 
     display: inline-flex;
     align-items: center;
index 1755132cf03039cd740d4ea7fce44dc1e08aa85b..1f4bb9f1e1b728b033b1289f3ce37e8b71917276 100644 (file)
@@ -1,51 +1,43 @@
+@use "sass:map";
 @use "sass:string";
 @use "config" as *;
 @use "variables" as *;
 @use "functions" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/transition" as *;
+@use "mixins/tokens" as *;
 
-// scss-docs-start breadcrumb-variables
-$breadcrumb-font-size:              null !default;
-$breadcrumb-padding-y:              0 !default;
-$breadcrumb-padding-x:              0 !default;
-$breadcrumb-margin-bottom:          1rem !default;
-$breadcrumb-bg:                     null !default;
-$breadcrumb-divider-color:          var(--fg-4) !default;
-$breadcrumb-border-radius:          var(--border-radius) !default;
+$breadcrumb-tokens: () !default;
 
-$breadcrumb-link-padding-x:         .75rem !default;
-$breadcrumb-link-padding-y:         .25rem !default;
-$breadcrumb-link-color:             var(--fg-3) !default;
-$breadcrumb-link-hover-color:       var(--fg-2) !default;
-$breadcrumb-link-hover-bg:          var(--bg-1) !default;
-$breadcrumb-link-active-color:      var(--fg-1) !default;
-$breadcrumb-link-border-radius:     var(--border-radius-lg) !default;
-// scss-docs-end breadcrumb-variables
+// scss-docs-start breadcrumb-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$breadcrumb-tokens: defaults(
+  (
+    --breadcrumb-margin-bottom: 1rem,
+    --breadcrumb-font-size: inherit,
+    --breadcrumb-bg: transparent,
+    --breadcrumb-border-radius: var(--border-radius),
+    --breadcrumb-divider-color: var(--fg-4),
+    --breadcrumb-link-padding-x: .75rem,
+    --breadcrumb-link-padding-y: .25rem,
+    --breadcrumb-link-color: var(--fg-3),
+    --breadcrumb-link-hover-color: var(--fg-2),
+    --breadcrumb-link-hover-bg: var(--bg-1),
+    --breadcrumb-link-active-color: var(--fg-1),
+    --breadcrumb-link-border-radius: var(--border-radius-lg),
+  ),
+  $breadcrumb-tokens
+);
+// scss-docs-end breadcrumb-tokens
 
 @layer components {
   .breadcrumb {
-    // scss-docs-start breadcrumb-css-vars
-    --breadcrumb-padding-x: #{$breadcrumb-padding-x};
-    --breadcrumb-padding-y: #{$breadcrumb-padding-y};
-    --breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};
-    --breadcrumb-font-size: #{$breadcrumb-font-size};
-    --breadcrumb-bg: #{$breadcrumb-bg};
-    --breadcrumb-border-radius: #{$breadcrumb-border-radius};
-    --breadcrumb-divider-color: #{$breadcrumb-divider-color};
-    --breadcrumb-link-padding-x: #{$breadcrumb-link-padding-x};
-    --breadcrumb-link-padding-y: #{$breadcrumb-link-padding-y};
-    --breadcrumb-link-color: #{$breadcrumb-link-color};
-    --breadcrumb-link-hover-color: #{$breadcrumb-link-hover-color};
-    --breadcrumb-link-hover-bg: #{$breadcrumb-link-hover-bg};
-    --breadcrumb-link-active-color: #{$breadcrumb-link-active-color};
-    --breadcrumb-link-border-radius: #{$breadcrumb-link-border-radius};
-    // scss-docs-end breadcrumb-css-vars
+    @include tokens($breadcrumb-tokens);
 
     display: flex;
     flex-wrap: wrap;
     align-items: center;
-    padding: var(--breadcrumb-padding-y) var(--breadcrumb-padding-x);
+    padding: var(--breadcrumb-padding-y, 0) var(--breadcrumb-padding-x, 0);
     font-size: var(--breadcrumb-font-size);
     list-style: none;
     background-color: var(--breadcrumb-bg);
index e724c9d8abe3f8d916b96c7e1cd4990ab4521b44..d88d6ec33b6535a4ac5d3fff3518a938a45e5f69 100644 (file)
@@ -1,53 +1,44 @@
+@use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/box-shadow" as *;
+@use "mixins/tokens" as *;
 @use "layout/breakpoints" as *;
 
-// scss-docs-start card-variables
-$card-spacer-y:                     $spacer !default;
-$card-spacer-x:                     $spacer !default;
-$card-subtitle-color:               null !default;
-$card-border-width:                 var(--border-width) !default;
-$card-border-color:                 var(--border-color-translucent) !default;
-$card-border-radius:                var(--border-radius-lg) !default;
-$card-box-shadow:                   null !default;
-$card-inner-border-radius:          calc(#{$card-border-radius} - #{$card-border-width}) !default;
-$card-cap-padding-y:                $card-spacer-y * .75 !default;
-$card-cap-padding-x:                $card-spacer-x !default;
-$card-cap-bg:                       var(--bg-1) !default;
-$card-cap-color:                    null !default;
-$card-height:                       null !default;
-$card-color:                        null !default;
-$card-bg:                           var(--bg-body) !default;
-$card-img-overlay-padding:          $spacer !default;
-$card-group-margin:                 $grid-gutter-width * .5 !default;
-
-$card-body-gap:                     $card-spacer-y * .5 !default;
-// scss-docs-end card-variables
+$card-tokens: () !default;
+
+// scss-docs-start card-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$card-tokens: defaults(
+  (
+    --card-spacer-y: #{$spacer},
+    --card-spacer-x: #{$spacer},
+    --card-subtitle-color: inherit,
+    --card-border-width: var(--border-width),
+    --card-border-color: var(--border-color-translucent),
+    --card-border-radius: var(--border-radius-lg),
+    --card-box-shadow: none,
+    --card-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),
+    --card-cap-padding-y: #{$spacer * .75},
+    --card-cap-padding-x: #{$spacer},
+    --card-cap-bg: var(--bg-1),
+    --card-cap-color: inherit,
+    --card-height: auto,
+    --card-color: inherit,
+    --card-bg: var(--bg-body),
+    --card-img-overlay-padding: #{$spacer},
+    --card-group-margin: #{$grid-gutter-width * .5},
+    --card-body-gap: #{$spacer * .5},
+  ),
+  $card-tokens
+);
+// scss-docs-end card-tokens
 
 @layer components {
   .card {
-    // scss-docs-start card-css-vars
-    --card-spacer-y: #{$card-spacer-y};
-    --card-spacer-x: #{$card-spacer-x};
-    --card-subtitle-color: #{$card-subtitle-color};
-    --card-border-width: #{$card-border-width};
-    --card-border-color: #{$card-border-color};
-    --card-border-radius: #{$card-border-radius};
-    --card-box-shadow: #{$card-box-shadow};
-    --card-inner-border-radius: #{$card-inner-border-radius};
-    --card-cap-padding-y: #{$card-cap-padding-y};
-    --card-cap-padding-x: #{$card-cap-padding-x};
-    --card-cap-bg: #{$card-cap-bg};
-    --card-cap-color: #{$card-cap-color};
-    --card-height: #{$card-height};
-    --card-color: #{$card-color};
-    --card-bg: #{$card-bg};
-    --card-img-overlay-padding: #{$card-img-overlay-padding};
-    --card-group-margin: #{$card-group-margin};
-    --card-body-gap: #{$card-body-gap};
-    // scss-docs-end card-css-vars
+    @include tokens($card-tokens);
 
     position: relative;
     display: flex;
index 7cef9f1f03cc6c7c56bc137081d1d0bb40cd59d8..db3efc2eb1f81038f6cff72e9efa42926ceed2bd 100644 (file)
@@ -1,46 +1,60 @@
+@use "sass:map";
 @use "config" as *;
 @use "colors" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/transition" as *;
 @use "mixins/gradients" as *;
 @use "mixins/color-mode" as *;
-
-// scss-docs-start carousel-variables
-$carousel-control-color:             $white !default;
-$carousel-control-width:             15% !default;
-$carousel-control-opacity:           .5 !default;
-$carousel-control-hover-opacity:     .9 !default;
-$carousel-control-transition:        opacity .15s ease !default;
-$carousel-control-icon-filter:       null !default;
-
-$carousel-indicator-width:           30px !default;
-$carousel-indicator-height:          3px !default;
-$carousel-indicator-hit-area-height: 10px !default;
-$carousel-indicator-spacer:          3px !default;
-$carousel-indicator-opacity:         .5 !default;
-$carousel-indicator-active-bg:       $white !default;
-$carousel-indicator-active-opacity:  1 !default;
-$carousel-indicator-transition:      opacity .6s ease !default;
-
-$carousel-caption-width:             70% !default;
-$carousel-caption-color:             $white !default;
-$carousel-caption-padding-y:         1.25rem !default;
-$carousel-caption-spacer:            1.25rem !default;
-
-$carousel-control-icon-width:        2rem !default;
-
-$carousel-control-prev-icon-bg:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>") !default;
-$carousel-control-next-icon-bg:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$carousel-control-color}'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>") !default;
-
-$carousel-transition-duration:       .6s !default;
-$carousel-transition:                transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
-// scss-docs-end carousel-variables
-
-// scss-docs-start carousel-dark-variables
-$carousel-indicator-active-bg-dark:   $black !default;
-$carousel-caption-color-dark:         $black !default;
-$carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;
-// scss-docs-end carousel-dark-variables
+@use "mixins/tokens" as *;
+
+$carousel-tokens: () !default;
+
+// scss-docs-start carousel-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$carousel-tokens: defaults(
+  (
+    --carousel-control-color: #{$white},
+    --carousel-control-width: 15%,
+    --carousel-control-opacity: .5,
+    --carousel-control-hover-opacity: .9,
+    --carousel-control-transition: opacity .15s ease,
+    --carousel-control-icon-filter: none,
+    --carousel-indicator-width: 30px,
+    --carousel-indicator-height: 3px,
+    --carousel-indicator-hit-area-height: 10px,
+    --carousel-indicator-spacer: 3px,
+    --carousel-indicator-opacity: .5,
+    --carousel-indicator-active-bg: var(--white),
+    --carousel-indicator-active-opacity: 1,
+    --carousel-indicator-transition: opacity .6s ease,
+    --carousel-caption-width: 70%,
+    --carousel-caption-color: var(--white),
+    --carousel-caption-padding-y: 1.25rem,
+    --carousel-caption-spacer: 1.25rem,
+    --carousel-control-icon-width: 2rem,
+    --carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0'/></svg>"),
+    --carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'><path d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/></svg>"),
+    --carousel-transition-duration: .6s,
+    --carousel-transition: transform .6s ease-in-out,
+  ),
+  $carousel-tokens
+);
+// scss-docs-end carousel-tokens
+
+$carousel-dark-tokens: () !default;
+
+// scss-docs-start carousel-dark-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$carousel-dark-tokens: defaults(
+  (
+    --carousel-indicator-active-bg: #{$black},
+    --carousel-caption-color: #{$black},
+    --carousel-control-icon-filter: invert(1) grayscale(100),
+  ),
+  $carousel-dark-tokens
+);
+// scss-docs-end carousel-dark-tokens
 
 // Notes on the classes:
 //
@@ -58,6 +72,7 @@ $carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;
 @layer components {
   .carousel {
     position: relative;
+    @include tokens($carousel-tokens);
   }
 
   .carousel.pointer-event {
@@ -78,7 +93,7 @@ $carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;
     width: 100%;
     margin-inline-end: -100%;
     backface-visibility: hidden;
-    @include transition($carousel-transition);
+    @include transition(var(--carousel-transition));
   }
 
   .carousel-item.active,
@@ -120,7 +135,7 @@ $carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;
     .active.carousel-item-end {
       z-index: 0;
       opacity: 0;
-      @include transition(opacity 0s $carousel-transition-duration);
+      @include transition(opacity 0s var(--carousel-transition-duration));
     }
   }
 
@@ -138,23 +153,23 @@ $carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;
     display: flex; // 1. allow flex styles
     align-items: center; // 2. vertically center contents
     justify-content: center; // 3. horizontally center contents
-    width: $carousel-control-width;
+    width: var(--carousel-control-width);
     padding: 0;
-    color: $carousel-control-color;
+    color: var(--carousel-control-color);
     text-align: center;
     background: none;
     filter: var(--carousel-control-icon-filter);
     border: 0;
-    opacity: $carousel-control-opacity;
-    @include transition($carousel-control-transition);
+    opacity: var(--carousel-control-opacity);
+    @include transition(var(--carousel-control-transition));
 
     // Hover/focus state
     &:hover,
     &:focus {
-      color: $carousel-control-color;
+      color: var(--carousel-control-color);
       text-decoration: none;
       outline: 0;
-      opacity: $carousel-control-hover-opacity;
+      opacity: var(--carousel-control-hover-opacity);
     }
   }
   .carousel-control-prev {
@@ -172,27 +187,27 @@ $carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;
   .carousel-control-prev-icon,
   .carousel-control-next-icon {
     display: inline-block;
-    width: $carousel-control-icon-width;
-    height: $carousel-control-icon-width;
+    width: var(--carousel-control-icon-width);
+    height: var(--carousel-control-icon-width);
     background-repeat: no-repeat;
     background-position: 50%;
     background-size: 100% 100%;
   }
 
   .carousel-control-prev-icon {
-    background-image: escape-svg($carousel-control-prev-icon-bg);
+    background-image: var(--carousel-control-prev-icon-bg);
   }
 
   [dir="rtl"] .carousel-control-prev-icon {
-    background-image: escape-svg($carousel-control-next-icon-bg);
+    background-image: var(--carousel-control-next-icon-bg);
   }
 
   .carousel-control-next-icon {
-    background-image: escape-svg($carousel-control-next-icon-bg);
+    background-image: var(--carousel-control-next-icon-bg);
   }
 
   [dir="rtl"] .carousel-control-next-icon {
-    background-image: escape-svg($carousel-control-prev-icon-bg);
+    background-image: var(--carousel-control-prev-icon-bg);
   }
 
   // Optional indicator pips/controls
@@ -208,29 +223,29 @@ $carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;
     justify-content: center;
     padding: 0;
     // Use the .carousel-control's width as margin so we don't overlay those
-    margin-inline: $carousel-control-width;
+    margin-inline: var(--carousel-control-width);
     margin-bottom: 1rem;
 
     [data-bs-target] {
       box-sizing: content-box;
       flex: 0 1 auto;
-      width: $carousel-indicator-width;
-      height: $carousel-indicator-height;
+      width: var(--carousel-indicator-width);
+      height: var(--carousel-indicator-height);
       padding: 0;
-      margin-inline: $carousel-indicator-spacer;
+      margin-inline: var(--carousel-indicator-spacer);
       text-indent: -999px;
       cursor: pointer;
       background-color: var(--carousel-indicator-active-bg);
       background-clip: padding-box;
       border: 0;
       // Use transparent borders to increase the hit area by 10px on top and bottom.
-      border-block: $carousel-indicator-hit-area-height solid transparent;
-      opacity: $carousel-indicator-opacity;
-      @include transition($carousel-indicator-transition);
+      border-block: var(--carousel-indicator-hit-area-height) solid transparent;
+      opacity: var(--carousel-indicator-opacity);
+      @include transition(var(--carousel-indicator-transition));
     }
 
     .active {
-      opacity: $carousel-indicator-active-opacity;
+      opacity: var(--carousel-indicator-active-opacity);
     }
   }
 
@@ -241,11 +256,11 @@ $carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;
 
   .carousel-caption {
     position: absolute;
-    right: (100% - $carousel-caption-width) * .5;
-    bottom: $carousel-caption-spacer;
-    left: (100% - $carousel-caption-width) * .5;
-    padding-top: $carousel-caption-padding-y;
-    padding-bottom: $carousel-caption-padding-y;
+    right: calc((100% - var(--carousel-caption-width)) * .5);
+    bottom: var(--carousel-caption-spacer);
+    left: calc((100% - var(--carousel-caption-width)) * .5);
+    padding-top: var(--carousel-caption-padding-y);
+    padding-bottom: var(--carousel-caption-padding-y);
     color: var(--carousel-caption-color);
     text-align: center;
   }
@@ -253,22 +268,13 @@ $carousel-control-icon-filter-dark:   invert(1) grayscale(100) !default;
   // Dark mode carousel
 
   @mixin carousel-dark() {
-    --carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark};
-    --carousel-caption-color: #{$carousel-caption-color-dark};
-    --carousel-control-icon-filter: #{$carousel-control-icon-filter-dark};
+    @include tokens($carousel-dark-tokens);
   }
 
   .carousel-dark {
     @include carousel-dark();
   }
 
-  :root,
-  [data-bs-theme="light"] {
-    --carousel-indicator-active-bg: #{$carousel-indicator-active-bg};
-    --carousel-caption-color: #{$carousel-caption-color};
-    --carousel-control-icon-filter: #{$carousel-control-icon-filter};
-  }
-
   @if $enable-dark-mode {
     @include color-mode(dark, true) {
       @include carousel-dark();
index 6e761f3363283299923de61b53996018e05865aa..e6f2f8a3e2ac9f56a8f48f90ce2e556910e63ffa 100644 (file)
@@ -1,51 +1,43 @@
 @use "sass:map";
 @use "colors" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "theme" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/focus-ring" as *;
-
-// scss-docs-start chip-variables
-// $chip-font-size:                    .875em !default;
-// $chip-font-weight:                  $font-weight-normal !default;
-// $chip-padding-y:                    .25rem !default;
-$chip-height:                       1.75rem !default;
-$chip-padding-x:                    .625rem !default;
-$chip-gap:                          .3125rem !default;
-$chip-border-radius:                var(--border-radius-pill) !default;
-$chip-icon-size:                    1rem !default;
-$chip-img-size:                     1.25rem !default;
-$chip-dismiss-size:                 1rem !default;
-$chip-dismiss-opacity:              .65 !default;
-$chip-dismiss-hover-opacity:        1 !default;
-// scss-docs-end chip-variables
+@use "mixins/tokens" as *;
+
+$chip-tokens: () !default;
+
+// stylelint-disable custom-property-no-missing-var-function
+// scss-docs-start chip-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$chip-tokens: defaults(
+  (
+    --chip-height: 1.75rem,
+    --chip-padding-x: .625rem,
+    --chip-gap: .3125rem,
+    --chip-border-radius: var(--border-radius-pill),
+    --chip-img-size: 1.25rem,
+    --chip-icon-size: 1rem,
+    --chip-dismiss-size: 1rem,
+    --chip-dismiss-opacity: .65,
+    --chip-dismiss-hover-opacity: 1,
+    --chip-color: var(--theme-text, var(--fg-body)),
+    --chip-bg: var(--theme-bg-subtle, var(--bg-2)),
+    --chip-border-color: transparent,
+    --chip-selected-color: var(--theme-contrast, var(--primary-contrast)),
+    --chip-selected-bg: var(--theme-bg, var(--primary-bg)),
+    --chip-selected-border-color: var(--theme-bg, var(--primary-bg)),
+  ),
+  $chip-tokens
+);
+// scss-docs-end chip-tokens
+// stylelint-enable custom-property-no-missing-var-function
 
 @layer components {
   .chip {
-    // scss-docs-start chip-css-vars
-    // --chip-padding-y: #{$chip-padding-y};
-    --chip-height: #{$chip-height};
-    --chip-padding-x: #{$chip-padding-x};
-    --chip-gap: #{$chip-gap};
-    // --chip-font-size: #{$chip-font-size};
-    // --chip-font-weight: #{$chip-font-weight};
-    --chip-border-radius: #{$chip-border-radius};
-    --chip-img-size: #{$chip-img-size};
-    --chip-icon-size: #{$chip-icon-size};
-    --chip-dismiss-size: #{$chip-dismiss-size};
-    --chip-dismiss-opacity: #{$chip-dismiss-opacity};
-    --chip-dismiss-hover-opacity: #{$chip-dismiss-hover-opacity};
-
-    // Default (subtle) appearance - uses theme when available
-    --chip-color: var(--theme-text, var(--fg-body));
-    --chip-bg: var(--theme-bg-subtle, var(--bg-2));
-    --chip-border-color: transparent;
-
-    // Selected/active state colors (solid appearance)
-    --chip-selected-color: var(--theme-contrast, var(--primary-contrast));
-    --chip-selected-bg: var(--theme-bg, var(--primary-bg));
-    --chip-selected-border-color: var(--theme-bg, var(--primary-bg));
-    // scss-docs-end chip-css-vars
+    @include tokens($chip-tokens);
 
     display: inline-flex;
     gap: var(--chip-gap);
@@ -73,7 +65,6 @@ $chip-dismiss-hover-opacity:        1 !default;
       // @include focus-ring();
     }
 
-    // Active/selected state - solid appearance
     &.active {
       --chip-color: var(--chip-selected-color);
       --chip-bg: var(--chip-selected-bg);
@@ -85,7 +76,6 @@ $chip-dismiss-hover-opacity:        1 !default;
       }
     }
 
-    // Disabled state
     &.disabled,
     &:disabled {
       pointer-events: none;
index 4d2f6d1e89457cbf50104b29b06da0eb2e6a4e83..2afc8c72cff91ae0a7d95973b08d08b75fcb0904 100644 (file)
@@ -14,7 +14,7 @@ $enable-container-classes:    true !default;
 $enable-cssgrid:              true !default;
 $enable-button-pointers:      true !default;
 $enable-validation-icons:     true !default;
-$enable-negative-margins:     false !default;
+// $enable-negative-margins:     false !default;
 $enable-deprecation-messages: true !default;
 
 $enable-dark-mode:            true !default;
index 58fcdbfa21cc16bfdee94043fc46d2feda9de5b1..f606e0579e89aaaf3709300b990e093343f565ae 100644 (file)
@@ -1,55 +1,46 @@
 // stylelint-disable selector-max-attribute, property-disallowed-list, selector-no-qualifying-type -- VCP uses extensive data attributes and requires direct border-radius properties for range selection
 
+@use "sass:map";
 @use "config" as *;
 @use "colors" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/focus-ring" as *;
-
-// scss-docs-start datepicker-variables
-$datepicker-padding:                1rem !default;
-$datepicker-bg:                     var(--bg-body) !default;
-$datepicker-color:                  var(--fg-body) !default;
-$datepicker-border-color:           var(--border-color-translucent) !default;
-$datepicker-border-width:           var(--border-width) !default;
-$datepicker-border-radius:          var(--border-radius-lg) !default;
-$datepicker-box-shadow:             var(--box-shadow) !default;
-$datepicker-font-size:              var(--font-size-sm) !default;
-$datepicker-min-width:              280px !default;
-
-$datepicker-header-font-weight:     600 !default;
-$datepicker-weekday-color:          var(--fg-3) !default;
-$datepicker-day-hover-bg:           var(--bg-1) !default;
-$datepicker-day-selected-bg:        var(--primary-bg) !default;
-$datepicker-day-selected-color:     var(--primary-contrast) !default;
-$datepicker-day-today-bg:           var(--bg-2) !default;
-$datepicker-day-today-color:        var(--fg-1) !default;
-$datepicker-day-disabled-color:     var(--fg-4) !default;
-// scss-docs-end datepicker-variables
+@use "mixins/tokens" as *;
+
+$datepicker-tokens: () !default;
+
+// scss-docs-start datepicker-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$datepicker-tokens: defaults(
+  (
+    --datepicker-padding: 1rem,
+    --datepicker-bg: var(--bg-body),
+    --datepicker-color: var(--fg-body),
+    --datepicker-border-color: var(--border-color-translucent),
+    --datepicker-border-width: var(--border-width),
+    --datepicker-border-radius: var(--border-radius-lg),
+    --datepicker-box-shadow: var(--box-shadow),
+    --datepicker-font-size: var(--font-size-sm),
+    --datepicker-min-width: 280px,
+    --datepicker-zindex: #{$zindex-dropdown},
+    --datepicker-header-font-weight: 600,
+    --datepicker-weekday-color: var(--fg-3),
+    --datepicker-day-hover-bg: var(--bg-1),
+    --datepicker-day-selected-bg: var(--primary-bg),
+    --datepicker-day-selected-color: var(--primary-contrast),
+    --datepicker-day-today-bg: var(--bg-2),
+    --datepicker-day-today-color: var(--fg-1),
+    --datepicker-day-disabled-color: var(--fg-4),
+  ),
+  $datepicker-tokens
+);
+// scss-docs-end datepicker-tokens
 
 @layer components {
   [data-vc="calendar"] {
-    // scss-docs-start datepicker-css-vars
-    --datepicker-padding: #{$datepicker-padding};
-    --datepicker-bg: #{$datepicker-bg};
-    --datepicker-color: #{$datepicker-color};
-    --datepicker-border-color: #{$datepicker-border-color};
-    --datepicker-border-width: #{$datepicker-border-width};
-    --datepicker-border-radius: #{$datepicker-border-radius};
-    --datepicker-box-shadow: #{$datepicker-box-shadow};
-    --datepicker-font-size: #{$datepicker-font-size};
-    --datepicker-min-width: #{$datepicker-min-width};
-    --datepicker-zindex: #{$zindex-dropdown};
-
-    --datepicker-header-font-weight: #{$datepicker-header-font-weight};
-    --datepicker-weekday-color: #{$datepicker-weekday-color};
-    --datepicker-day-hover-bg: #{$datepicker-day-hover-bg};
-    --datepicker-day-selected-bg: #{$datepicker-day-selected-bg};
-    --datepicker-day-selected-color: #{$datepicker-day-selected-color};
-    --datepicker-day-today-bg: #{$datepicker-day-today-bg};
-    --datepicker-day-today-color: #{$datepicker-day-today-color};
-    --datepicker-day-disabled-color: #{$datepicker-day-disabled-color};
-    // scss-docs-end datepicker-css-vars
+    @include tokens($datepicker-tokens);
 
     position: absolute;
     z-index: var(--datepicker-zindex);
@@ -119,7 +110,7 @@ $datepicker-day-disabled-color:     var(--fg-4) !default;
     cursor: pointer;
     background-color: transparent;
     border: 0;
-    @include border-radius($border-radius);
+    @include border-radius(var(--border-radius));
 
     &::before {
       position: absolute;
@@ -203,7 +194,7 @@ $datepicker-day-disabled-color:     var(--fg-4) !default;
     // cursor: pointer;
     background-color: transparent;
     border: 0;
-    @include border-radius($border-radius);
+    @include border-radius(var(--border-radius));
 
     &:disabled {
       color: var(--datepicker-day-disabled-color);
@@ -253,7 +244,7 @@ $datepicker-day-disabled-color:     var(--fg-4) !default;
     cursor: pointer;
     background-color: transparent;
     border: 0;
-    @include border-radius($border-radius);
+    @include border-radius(var(--border-radius));
 
     &:disabled {
       color: var(--datepicker-day-disabled-color);
@@ -351,7 +342,7 @@ $datepicker-day-disabled-color:     var(--fg-4) !default;
     cursor: pointer;
     background-color: transparent;
     border: 0;
-    border-radius: $border-radius;
+    border-radius: var(--border-radius);
 
     &:hover {
       background-color: var(--datepicker-day-hover-bg);
@@ -384,17 +375,17 @@ $datepicker-day-disabled-color:     var(--fg-4) !default;
   }
 
   [data-vc-date-hover="first"] [data-vc-date-btn] {
-    border-start-start-radius: $border-radius;
-    border-end-start-radius: $border-radius;
+    border-start-start-radius: var(--border-radius);
+    border-end-start-radius: var(--border-radius);
   }
 
   [data-vc-date-hover="last"] [data-vc-date-btn] {
-    border-start-end-radius: $border-radius;
-    border-end-end-radius: $border-radius;
+    border-start-end-radius: var(--border-radius);
+    border-end-end-radius: var(--border-radius);
   }
 
   [data-vc-date-hover="first-and-last"] [data-vc-date-btn] {
-    border-radius: $border-radius;
+    border-radius: var(--border-radius);
   }
 
   [data-vc-date-selected="middle"] [data-vc-date-btn] {
@@ -410,20 +401,20 @@ $datepicker-day-disabled-color:     var(--fg-4) !default;
   }
 
   [data-vc-date-selected="first"] [data-vc-date-btn] {
-    border-top-left-radius: $border-radius;
+    border-top-left-radius: var(--border-radius);
     border-top-right-radius: 0;
     border-bottom-right-radius: 0;
-    border-bottom-left-radius: $border-radius;
+    border-bottom-left-radius: var(--border-radius);
   }
 
   [data-vc-date-selected="last"] [data-vc-date-btn] {
     border-top-left-radius: 0;
-    border-top-right-radius: $border-radius;
-    border-bottom-right-radius: $border-radius;
+    border-top-right-radius: var(--border-radius);
+    border-bottom-right-radius: var(--border-radius);
     border-bottom-left-radius: 0;
   }
 
   [data-vc-date-selected="first-and-last"] [data-vc-date-btn] {
-    border-radius: $border-radius;
+    border-radius: var(--border-radius);
   }
 }
index f3cd635962ba2dfd130f9c2db8f90febc9766916..9332ffefb5f2be0b991be9e38d32ef667224d5d0 100644 (file)
@@ -1,37 +1,59 @@
 @use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "layout/breakpoints" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/box-shadow" as *;
 @use "mixins/transition" as *;
+@use "mixins/tokens" as *;
 
 // Native <dialog> component
 // Uses the browser's native dialog element with showModal()/show()/close() APIs
 // Leverages native [open] attribute and ::backdrop pseudo-element
 
-// scss-docs-start dialog-css-vars
-$dialog-padding:                1rem !default;
-$dialog-width:                  500px !default;
-$dialog-width-sm:               280px !default;
-$dialog-width-lg:               800px !default;
-$dialog-width-xl:               1140px !default;
-$dialog-margin:                 1.75rem !default;
-$dialog-color:                  var(--fg-body) !default;
-$dialog-bg:                     var(--bg-body) !default;
-$dialog-border-color:           var(--border-color-translucent) !default;
-$dialog-border-width:           var(--border-width) !default;
-$dialog-border-radius:          var(--border-radius-lg) !default;
-$dialog-box-shadow:             var(--box-shadow-lg) !default;
-$dialog-backdrop-bg:            rgba(0, 0, 0, .5) !default;
-$dialog-header-padding:         1rem !default;
-$dialog-header-border-color:    var(--border-color) !default;
-$dialog-header-border-width:    var(--border-width) !default;
-$dialog-footer-padding:         1rem !default;
-$dialog-footer-border-color:    var(--border-color) !default;
-$dialog-footer-border-width:    var(--border-width) !default;
-$dialog-footer-gap:             .5rem !default;
-// scss-docs-end dialog-css-vars
+// stylelint-disable custom-property-no-missing-var-function
+$dialog-tokens: () !default;
+
+// scss-docs-start dialog-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$dialog-tokens: defaults(
+  (
+    --dialog-padding: 1rem,
+    --dialog-width: 500px,
+    --dialog-margin: 1.75rem,
+    --dialog-color: var(--fg-body),
+    --dialog-bg: var(--bg-body),
+    --dialog-border-color: var(--border-color-translucent),
+    --dialog-border-width: var(--border-width),
+    --dialog-border-radius: var(--border-radius-lg),
+    --dialog-box-shadow: var(--box-shadow-lg),
+    --dialog-backdrop-bg: rgba(0, 0, 0, .5),
+    --dialog-header-padding: 1rem,
+    --dialog-header-border-color: var(--border-color),
+    --dialog-header-border-width: var(--border-width),
+    --dialog-footer-padding: 1rem,
+    --dialog-footer-border-color: var(--border-color),
+    --dialog-footer-border-width: var(--border-width),
+    --dialog-footer-gap: .5rem,
+  ),
+  $dialog-tokens
+);
+// scss-docs-end dialog-tokens
+// stylelint-enable custom-property-no-missing-var-function
+
+// scss-docs-start dialog-sizes
+$dialog-sizes: () !default;
+// stylelint-disable-next-line scss/dollar-variable-default
+$dialog-sizes: defaults(
+  (
+    sm: 280px,
+    lg: 800px,
+    xl: 1140px,
+  ),
+  $dialog-sizes
+);
+// scss-docs-end dialog-sizes
 
 @layer components {
   // Prevent body scroll when dialog is open
@@ -41,23 +63,7 @@ $dialog-footer-gap:             .5rem !default;
   }
 
   .dialog {
-    --dialog-padding: #{$dialog-padding};
-    --dialog-width: #{$dialog-width};
-    --dialog-margin: #{$dialog-margin};
-    --dialog-color: #{$dialog-color};
-    --dialog-bg: #{$dialog-bg};
-    --dialog-border-color: #{$dialog-border-color};
-    --dialog-border-width: #{$dialog-border-width};
-    --dialog-border-radius: #{$dialog-border-radius};
-    --dialog-box-shadow: #{$dialog-box-shadow};
-    --dialog-backdrop-bg: #{$dialog-backdrop-bg};
-    --dialog-header-padding: #{$dialog-header-padding};
-    --dialog-header-border-color: #{$dialog-header-border-color};
-    --dialog-header-border-width: #{$dialog-header-border-width};
-    --dialog-footer-padding: #{$dialog-footer-padding};
-    --dialog-footer-border-color: #{$dialog-footer-border-color};
-    --dialog-footer-border-width: #{$dialog-footer-border-width};
-    --dialog-footer-gap: #{$dialog-footer-gap};
+    @include tokens($dialog-tokens);
 
     // Reset native dialog styles
     max-width: var(--dialog-width);
@@ -155,9 +161,9 @@ $dialog-footer-gap:             .5rem !default;
   }
 
   // Dialog sizes
-  .dialog-sm { --dialog-width: #{$dialog-width-sm}; }
-  .dialog-lg { --dialog-width: #{$dialog-width-lg}; }
-  .dialog-xl { --dialog-width: #{$dialog-width-xl}; }
+  @each $size, $value in $dialog-sizes {
+    .dialog-#{$size} { --dialog-width: #{$value}; }
+  }
 
   // Fullscreen dialog
   .dialog-fullscreen {
index cf42ec9f0cd8f2ad458db25127c7b94e8b4d1d1e..17dca9245cd69d8f9aec4c127abd0aa7f7ca5d06 100644 (file)
 @use "sass:map";
 @use "config" as *;
 @use "colors" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/box-shadow" as *;
 @use "mixins/gradients" as *;
+@use "mixins/tokens" as *;
 @use "mixins/transition" as *;
 
-// scss-docs-start dropdown-variables
-$dropdown-gap:                      $spacer * .125 !default;
-$dropdown-min-width:                10rem !default;
-$dropdown-padding-x:                .25rem !default;
-$dropdown-padding-y:                .25rem !default;
-$dropdown-spacer:                   .125rem !default;
-$dropdown-font-size:                $font-size-base !default;
-$dropdown-color:                    var(--fg-body) !default;
-$dropdown-bg:                       var(--bg-body) !default;
-$dropdown-border-color:             var(--border-color-translucent) !default;
-$dropdown-border-radius:            var(--border-radius-lg) !default;
-$dropdown-border-width:             var(--border-width) !default;
-$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;
-$dropdown-box-shadow:               var(--box-shadow) !default;
-
-$dropdown-divider-bg:               $dropdown-border-color !default;
-$dropdown-divider-margin-y:         $spacer * .125 !default;
-$dropdown-divider-margin-x:         $spacer * .25 !default;
-
-$dropdown-link-color:               var(--fg-body) !default;
-$dropdown-link-hover-color:         $dropdown-link-color !default;
-$dropdown-link-hover-bg:            var(--bg-1) !default;
-
-$dropdown-link-active-color:        $component-active-color !default;
-$dropdown-link-active-bg:           $component-active-bg !default;
-
-$dropdown-link-disabled-color:      var(--fg-3) !default;
-
-$dropdown-item-padding-y:           $spacer * .25 !default;
-$dropdown-item-padding-x:           $spacer * .75 !default;
-$dropdown-item-border-radius:       var(--border-radius) !default;
-$dropdown-item-gap:                 $spacer * .5 !default;
-
-$dropdown-header-color:             var(--gray-600) !default;
-$dropdown-header-padding-x:         $dropdown-item-padding-x !default;
-$dropdown-header-padding-y:         $dropdown-padding-y !default;
-// scss-docs-end dropdown-variables
-
-// scss-docs-start dropdown-dark-variables
-$dropdown-dark-color:               var(--gray-300) !default;
-$dropdown-dark-bg:                  var(--gray-900) !default;
-$dropdown-dark-border-color:        $dropdown-border-color !default;
-$dropdown-dark-divider-bg:          $dropdown-divider-bg !default;
-$dropdown-dark-box-shadow:          null !default;
-$dropdown-dark-link-color:          $dropdown-dark-color !default;
-$dropdown-dark-link-hover-color:    $white !default;
-$dropdown-dark-link-hover-bg:       rgba($white, .15) !default;
-$dropdown-dark-link-active-color:   $dropdown-link-active-color !default;
-$dropdown-dark-link-active-bg:      $dropdown-link-active-bg !default;
-$dropdown-dark-link-disabled-color: var(--gray-500) !default;
-$dropdown-dark-header-color:        var(--gray-500) !default;
-// scss-docs-end dropdown-dark-variables
+$dropdown-tokens: () !default;
+
+// scss-docs-start dropdown-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$dropdown-tokens: defaults(
+  (
+    --dropdown-zindex: #{$zindex-dropdown},
+    --dropdown-gap: .125rem,
+    --dropdown-min-width: 10rem,
+    --dropdown-padding-x: .25rem,
+    --dropdown-padding-y: .25rem,
+    --dropdown-spacer: .125rem,
+    --dropdown-font-size: #{$font-size-base},
+    --dropdown-color: var(--fg-body),
+    --dropdown-bg: var(--bg-body),
+    --dropdown-border-color: var(--border-color-translucent),
+    --dropdown-border-radius: var(--border-radius-lg),
+    --dropdown-border-width: var(--border-width),
+    --dropdown-inner-border-radius: calc(var(--dropdown-border-radius) - var(--dropdown-border-width)),
+    --dropdown-box-shadow: var(--box-shadow),
+    --dropdown-divider-bg: var(--border-color-translucent),
+    --dropdown-divider-margin-y: .125rem,
+    --dropdown-divider-margin-x: .25rem,
+    --dropdown-link-color: var(--fg-body),
+    --dropdown-link-hover-color: var(--fg-body),
+    --dropdown-link-hover-bg: var(--bg-1),
+    --dropdown-link-active-color: var(--primary-contrast),
+    --dropdown-link-active-bg: var(--primary-bg),
+    --dropdown-link-disabled-color: var(--fg-3),
+    --dropdown-item-gap: .5rem,
+    --dropdown-item-padding-x: .75rem,
+    --dropdown-item-padding-y: .25rem,
+    --dropdown-item-border-radius: var(--border-radius),
+    --dropdown-header-color: var(--fg-2),
+    --dropdown-header-padding-x: .75rem,
+    --dropdown-header-padding-y: .25rem,
+  ),
+  $dropdown-tokens
+);
+// scss-docs-end dropdown-tokens
 
 @layer components {
-  // The dropdown wrapper (`<div>`)
   .dropdown {
     position: relative;
   }
 
-  // The dropdown menu
   .dropdown-menu {
-    // scss-docs-start dropdown-css-vars
-    --dropdown-zindex: #{$zindex-dropdown};
-    --dropdown-gap: #{$dropdown-gap};
-    --dropdown-min-width: #{$dropdown-min-width};
-    --dropdown-padding-x: #{$dropdown-padding-x};
-    --dropdown-padding-y: #{$dropdown-padding-y};
-    --dropdown-spacer: #{$dropdown-spacer};
-    --dropdown-font-size: #{$dropdown-font-size};
-    --dropdown-color: #{$dropdown-color};
-    --dropdown-bg: #{$dropdown-bg};
-    --dropdown-border-color: #{$dropdown-border-color};
-    --dropdown-border-radius: #{$dropdown-border-radius};
-    --dropdown-border-width: #{$dropdown-border-width};
-    --dropdown-inner-border-radius: #{$dropdown-inner-border-radius};
-    --dropdown-divider-bg: #{$dropdown-divider-bg};
-    --dropdown-divider-margin-y: #{$dropdown-divider-margin-y};
-    --dropdown-divider-margin-x: #{$dropdown-divider-margin-x};
-    --dropdown-box-shadow: #{$dropdown-box-shadow};
-    --dropdown-link-color: #{$dropdown-link-color};
-    --dropdown-link-hover-color: #{$dropdown-link-hover-color};
-    --dropdown-link-hover-bg: #{$dropdown-link-hover-bg};
-    --dropdown-link-active-color: #{$dropdown-link-active-color};
-    --dropdown-link-active-bg: #{$dropdown-link-active-bg};
-    --dropdown-link-disabled-color: #{$dropdown-link-disabled-color};
-    --dropdown-item-gap: #{$dropdown-item-gap};
-    --dropdown-item-padding-x: #{$dropdown-item-padding-x};
-    --dropdown-item-padding-y: #{$dropdown-item-padding-y};
-    --dropdown-item-border-radius: #{$dropdown-item-border-radius};
-    --dropdown-header-color: #{$dropdown-header-color};
-    --dropdown-header-padding-x: #{$dropdown-header-padding-x};
-    --dropdown-header-padding-y: #{$dropdown-header-padding-y};
-    // scss-docs-end dropdown-css-vars
+    @include tokens($dropdown-tokens);
 
     position: absolute;
     z-index: var(--dropdown-zindex);
@@ -118,24 +75,12 @@ $dropdown-dark-header-color:        var(--gray-500) !default;
     border: var(--dropdown-border-width) solid var(--dropdown-border-color);
     @include border-radius(var(--dropdown-border-radius));
     @include box-shadow(var(--dropdown-box-shadow));
-
-    @if $dropdown-padding-y == 0 {
-      > .dropdown-item:first-child,
-      > li:first-child .dropdown-item {
-        @include border-top-radius(var(--dropdown-inner-border-radius));
-      }
-      > .dropdown-item:last-child,
-      > li:last-child .dropdown-item {
-        @include border-bottom-radius(var(--dropdown-inner-border-radius));
-      }
-    }
   }
 
   .dropdown-menu.show {
     display: flex;
   }
 
-  // Dividers (basically an `<hr>`) within the dropdown
   .dropdown-divider {
     height: 0;
     margin: var(--dropdown-divider-margin-y) var(--dropdown-divider-margin-x);
@@ -185,7 +130,6 @@ $dropdown-dark-header-color:        var(--gray-500) !default;
     }
   }
 
-  // Dropdown section headers
   .dropdown-header {
     display: block;
     padding: var(--dropdown-header-padding-y) var(--dropdown-header-padding-x);
@@ -195,31 +139,12 @@ $dropdown-dark-header-color:        var(--gray-500) !default;
     white-space: nowrap; // as with > li > a
   }
 
-  // Dropdown text
   .dropdown-item-text {
     display: block;
     padding: var(--dropdown-item-padding-y) var(--dropdown-item-padding-x);
     color: var(--fg-2);
   }
 
-  // Dark dropdowns
-  .dropdown-menu-dark {
-    // scss-docs-start dropdown-dark-css-vars
-    --dropdown-color: #{$dropdown-dark-color};
-    --dropdown-bg: #{$dropdown-dark-bg};
-    --dropdown-border-color: #{$dropdown-dark-border-color};
-    --dropdown-box-shadow: #{$dropdown-dark-box-shadow};
-    --dropdown-link-color: #{$dropdown-dark-link-color};
-    --dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};
-    --dropdown-divider-bg: #{$dropdown-dark-divider-bg};
-    --dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};
-    --dropdown-link-active-color: #{$dropdown-dark-link-active-color};
-    --dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};
-    --dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};
-    --dropdown-header-color: #{$dropdown-dark-header-color};
-    // scss-docs-end dropdown-dark-css-vars
-  }
-
   // scss-docs-start dropdown-submenu
   // Submenus
   //
@@ -228,14 +153,12 @@ $dropdown-dark-header-color:        var(--gray-500) !default;
   .dropdown-submenu {
     position: relative;
 
-    // Submenu trigger styling
     > .dropdown-item {
       display: flex;
       align-items: center;
       justify-content: space-between;
     }
 
-    // Submenu caret indicator
     > .dropdown-item::after {
       display: inline-block;
       flex-shrink: 0;
@@ -261,14 +184,12 @@ $dropdown-dark-header-color:        var(--gray-500) !default;
       margin-top: calc(-1 * var(--dropdown-padding-y));
     }
 
-    // Hover state for submenu trigger
     &:hover > .dropdown-item,
     &:focus-within > .dropdown-item {
       color: var(--dropdown-link-hover-color);
       background-color: var(--dropdown-link-hover-bg);
     }
 
-    // Active/open state
     &.show > .dropdown-item {
       color: var(--dropdown-link-hover-color);
       background-color: var(--dropdown-link-hover-bg);
index 6c396c997b0eab65690c83a74d28b235152815a9..ae4e1ac1dffe6af2a907d1b231a231bb41433057 100644 (file)
   @return $result;
 }
 
+// Merge overrides on top of defaults, stripping null entries.
+// Null values let users remove map keys via @use ... with().
+// Accepts a list as $defaults (converted to a map with `true` values).
+@function defaults($defaults, $overrides) {
+  @if meta.type-of($defaults) == "list" {
+    $map: ();
+    @each $key in $defaults {
+      $map: map.merge($map, ($key: true));
+    }
+    $defaults: $map;
+  }
+  $merged: map.merge($defaults, $overrides);
+  @each $key, $value in $merged {
+    @if $value == null {
+      $merged: map.remove($merged, $key);
+    }
+  }
+  @return $merged;
+}
+
 // Merge multiple maps
 @function map-merge-multiple($maps...) {
   $merged-maps: ();
index c208f50329934261a5c70296169120efe3f3d3d2..dca7665b4bed67006c9724e0ff67a88240689c0b 100644 (file)
@@ -2,56 +2,43 @@
 @use "colors" as *;
 @use "theme" as *;
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/border-radius" as *;
 @use "layout/breakpoints" as *;
-
-// scss-docs-start list-group-variables
-$list-group-color:                  var(--fg-body) !default;
-$list-group-bg:                     var(--bg-body) !default;
-$list-group-border-color:           var(--border-color) !default;
-$list-group-border-width:           var(--border-width) !default;
-$list-group-border-radius:          var(--border-radius) !default;
-
-$list-group-item-padding-y:         $spacer * .5 !default;
-$list-group-item-padding-x:         $spacer !default;
-
-$list-group-hover-bg:               var(--tertiary-bg) !default;
-$list-group-active-color:           $component-active-color !default;
-$list-group-active-bg:              $component-active-bg !default;
-$list-group-active-border-color:    $list-group-active-bg !default;
-
-$list-group-disabled-color:         var(--secondary-color) !default;
-$list-group-disabled-bg:            $list-group-bg !default;
-
-$list-group-action-color:           var(--secondary-color) !default;
-$list-group-action-hover-color:     var(--fg-color) !default;
-
-$list-group-action-active-color:    var(--fg-body) !default;
-$list-group-action-active-bg:       var(--secondary-bg) !default;
-// scss-docs-end list-group-variables
+@use "mixins/tokens" as *;
+
+$list-group-tokens: () !default;
+
+// scss-docs-start list-group-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$list-group-tokens: defaults(
+  (
+    --list-group-color: var(--fg-body),
+    --list-group-bg: var(--bg-body),
+    --list-group-border-color: var(--border-color),
+    --list-group-border-width: var(--border-width),
+    --list-group-border-radius: var(--border-radius),
+    --list-group-item-padding-x: #{$spacer},
+    --list-group-item-padding-y: #{$spacer * .5},
+    --list-group-action-color: var(--fg-2),
+    --list-group-action-hover-color: var(--fg-1),
+    --list-group-action-hover-bg: var(--bg-1),
+    --list-group-action-active-color: var(--fg-body),
+    --list-group-action-active-bg: var(--bg-2),
+    --list-group-disabled-color: var(--fg-3),
+    --list-group-disabled-bg: var(--bg-body),
+    --list-group-active-color: var(--primary-contrast),
+    --list-group-active-bg: var(--primary-bg),
+    --list-group-active-border-color: var(--primary-bg),
+  ),
+  $list-group-tokens
+);
+// scss-docs-end list-group-tokens
 
 @layer components {
   .list-group {
-    // scss-docs-start list-group-css-vars
-    --list-group-color: #{$list-group-color};
-    --list-group-bg: #{$list-group-bg};
-    --list-group-border-color: #{$list-group-border-color};
-    --list-group-border-width: #{$list-group-border-width};
-    --list-group-border-radius: #{$list-group-border-radius};
-    --list-group-item-padding-x: #{$list-group-item-padding-x};
-    --list-group-item-padding-y: #{$list-group-item-padding-y};
-    --list-group-action-color: #{$list-group-action-color};
-    --list-group-action-hover-color: #{$list-group-action-hover-color};
-    --list-group-action-hover-bg: #{$list-group-hover-bg};
-    --list-group-action-active-color: #{$list-group-action-active-color};
-    --list-group-action-active-bg: #{$list-group-action-active-bg};
-    --list-group-disabled-color: #{$list-group-disabled-color};
-    --list-group-disabled-bg: #{$list-group-disabled-bg};
-    --list-group-active-color: #{$list-group-active-color};
-    --list-group-active-bg: #{$list-group-active-bg};
-    --list-group-active-border-color: #{$list-group-active-border-color};
-    // scss-docs-end list-group-css-vars
+    @include tokens($list-group-tokens);
 
     display: flex;
     flex-direction: column;
@@ -130,6 +117,7 @@ $list-group-action-active-bg:       var(--secondary-bg) !default;
     width: 100%; // For `<button>`s (anchors become 100% by default though)
     color: var(--theme-text, var(--list-group-action-color));
     text-align: inherit; // For `<button>`s (anchors inherit)
+    text-decoration: none;
 
     &:not(.active) {
       // Hover state
index 773c21dcd436f763dd9c7624f32d28bf1587662e..1d1c366f1bff25443e331b8c73df1d2263c6ac6c 100644 (file)
@@ -1,40 +1,84 @@
+@use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/focus-ring" as *;
 @use "mixins/gradients" as *;
+@use "mixins/tokens" as *;
 @use "mixins/transition" as *;
 
-// scss-docs-start nav-variables
-$nav-gap:                           .125rem !default;
-$nav-link-gap:                      .5rem !default;
-$nav-link-align:                    center !default;
-$nav-link-justify:                  center !default;
-$nav-link-padding-y:                .5rem !default;
-$nav-link-padding-x:                1rem !default;
-$nav-link-color:                    var(--fg-2) !default;
-$nav-link-hover-color:              var(--fg-1) !default;
-$nav-link-hover-bg:                 var(--bg-1) !default;
-$nav-link-transition:               color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;
-$nav-link-disabled-color:           var(--fg-4) !default;
-$nav-link-active-color:             var(--fg-body) !default;
-$nav-link-active-bg:                var(--bg-2) !default;
-
-$nav-tabs-border-color:             var(--border-color) !default;
-$nav-tabs-border-width:             var(--border-width) !default;
-$nav-tabs-border-radius:            var(--border-radius) !default;
-$nav-tabs-link-hover-border-color:  var(--border-subtle) !default;
-$nav-tabs-link-active-color:        var(--fg-color) !default;
-$nav-tabs-link-active-bg:           var(--bg-body) !default;
-$nav-tabs-link-active-border-color: var(--border-color) var(--border-color) $nav-tabs-link-active-bg !default;
-
-$nav-pills-link-active-color:       $component-active-color !default;
-$nav-pills-link-active-bg:          $component-active-bg !default;
-
-$nav-underline-gap:                 1rem !default;
-$nav-underline-border-width:        .125rem !default;
-$nav-underline-link-active-color:   var(--fg-color) !default;
-// scss-docs-end nav-variables
+$nav-tokens: () !default;
+
+// scss-docs-start nav-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$nav-tokens: defaults(
+  (
+    --nav-gap: .125rem,
+    --nav-link-gap: .5rem,
+    --nav-link-align: center,
+    --nav-link-justify: center,
+    --nav-link-padding-x: 1rem,
+    --nav-link-padding-y: .5rem,
+    --nav-link-color: var(--fg-2),
+    --nav-link-hover-color: var(--fg-1),
+    --nav-link-hover-bg: var(--bg-1),
+    --nav-link-active-color: var(--fg-body),
+    --nav-link-active-bg: var(--bg-2),
+    --nav-link-disabled-color: var(--fg-4),
+    --nav-link-transition-property: "color, background-color, border-color",
+    --nav-link-transition-timing: .15s ease-in-out,
+    --nav-link-transition: var(--nav-link-transition-property) var(--nav-link-transition-timing),
+  ),
+  $nav-tokens
+);
+// scss-docs-end nav-tokens
+
+$nav-tabs-tokens: () !default;
+
+// scss-docs-start nav-tabs-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$nav-tabs-tokens: defaults(
+  (
+    --nav-tabs-border-width: var(--border-width),
+    --nav-tabs-border-color: var(--border-color),
+    --nav-tabs-border-radius: var(--border-radius),
+    --nav-tabs-link-hover-border-color: var(--border-subtle),
+    --nav-tabs-link-active-color: var(--fg-color),
+    --nav-tabs-link-active-bg: var(--bg-body),
+    --nav-tabs-link-active-border-color: var(--border-color) var(--border-color) var(--bg-body),
+  ),
+  $nav-tabs-tokens
+);
+// scss-docs-end nav-tabs-tokens
+
+$nav-pills-tokens: () !default;
+
+// scss-docs-start nav-pills-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$nav-pills-tokens: defaults(
+  (
+    --nav-pills-link-active-color: var(--component-active-color),
+    --nav-pills-link-active-bg: var(--component-active-bg),
+  ),
+  $nav-pills-tokens
+);
+// scss-docs-end nav-pills-tokens
+
+$nav-underline-tokens: () !default;
+
+// scss-docs-start nav-underline-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$nav-underline-tokens: defaults(
+  (
+    --nav-gap: 1rem,
+    --nav-link-active-bg: transparent,
+    --nav-underline-border-width: .125rem,
+    --nav-underline-link-active-color: var(--fg-color),
+  ),
+  $nav-underline-tokens
+);
+// scss-docs-end nav-underline-tokens
 
 // Base class
 //
@@ -43,20 +87,7 @@ $nav-underline-link-active-color:   var(--fg-color) !default;
 
 @layer components {
   .nav {
-    // scss-docs-start nav-css-vars
-    --nav-gap: #{$nav-gap};
-    --nav-link-gap: #{$nav-link-gap};
-    --nav-link-align: #{$nav-link-align};
-    --nav-link-justify: #{$nav-link-justify};
-    --nav-link-padding-x: #{$nav-link-padding-x};
-    --nav-link-padding-y: #{$nav-link-padding-y};
-    --nav-link-color: #{$nav-link-color};
-    --nav-link-hover-color: #{$nav-link-hover-color};
-    --nav-link-hover-bg: #{$nav-link-hover-bg};
-    --nav-link-active-color: #{$nav-link-active-color};
-    --nav-link-active-bg: #{$nav-link-active-bg};
-    --nav-link-disabled-color: #{$nav-link-disabled-color};
-    // scss-docs-end nav-css-vars
+    @include tokens($nav-tokens);
 
     display: flex;
     flex-wrap: wrap;
@@ -84,7 +115,7 @@ $nav-underline-link-active-color:   var(--fg-color) !default;
     border: 0;
     @include border-radius(var(--border-radius));
     // @include font-size(var(--nav-link-font-size));
-    @include transition($nav-link-transition);
+    @include transition(var(--nav-link-transition));
 
     &:hover,
     &:focus {
@@ -119,13 +150,7 @@ $nav-underline-link-active-color:   var(--fg-color) !default;
 
   .nav-tabs {
     // scss-docs-start nav-tabs-css-vars
-    --nav-tabs-border-width: #{$nav-tabs-border-width};
-    --nav-tabs-border-color: #{$nav-tabs-border-color};
-    --nav-tabs-border-radius: #{$nav-tabs-border-radius};
-    --nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};
-    --nav-tabs-link-active-color: #{$nav-tabs-link-active-color};
-    --nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};
-    --nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};
+    @include tokens($nav-tabs-tokens);
     // scss-docs-end nav-tabs-css-vars
 
     border-block-end: var(--nav-tabs-border-width) solid var(--nav-tabs-border-color);
@@ -166,8 +191,7 @@ $nav-underline-link-active-color:   var(--fg-color) !default;
 
   .nav-pills {
     // scss-docs-start nav-pills-css-vars
-    --nav-pills-link-active-color: #{$nav-pills-link-active-color};
-    --nav-pills-link-active-bg: #{$nav-pills-link-active-bg};
+    @include tokens($nav-pills-tokens);
     // scss-docs-end nav-pills-css-vars
 
     .nav-link.active,
@@ -184,11 +208,7 @@ $nav-underline-link-active-color:   var(--fg-color) !default;
 
   .nav-underline {
     // scss-docs-start nav-underline-css-vars
-    --nav-gap: #{$nav-underline-gap};
-    --nav-link-active-bg: transparent;
-    // --nav-underline-gap: #{$nav-underline-gap};
-    --nav-underline-border-width: #{$nav-underline-border-width};
-    --nav-underline-link-active-color: #{$nav-underline-link-active-color};
+    @include tokens($nav-underline-tokens);
     // scss-docs-end nav-underline-css-vars
 
     .nav-link {
index 80f53720d85af770d882b33554b0f64c08b331b6..2aeb88d44d057b9697008eca983196e76c52b285 100644 (file)
@@ -1,6 +1,7 @@
 @use "sass:map";
 @use "config" as *;
 @use "colors" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "layout/breakpoints" as *;
 @use "mixins/border-radius" as *;
@@ -8,77 +9,65 @@
 @use "mixins/color-mode" as *;
 @use "mixins/focus-ring" as *;
 @use "mixins/gradients" as *;
+@use "mixins/tokens" as *;
 @use "mixins/transition" as *;
 
-// scss-docs-start navbar-variables
-$navbar-padding-y:                  $spacer * .5 !default;
-$navbar-padding-x:                  null !default;
-
-$navbar-nav-link-padding-x:         .75rem !default;
-
-$navbar-brand-font-size:            $font-size-lg !default;
-// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
-// mdo-do: fix this
-// $nav-link-height:                   $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;
-// $navbar-brand-height:               $navbar-brand-font-size * $line-height-base !default;
-$navbar-brand-height:               1.5rem !default;
-// $navbar-brand-padding-y:            ($nav-link-height - $navbar-brand-height) * .5 !default;
-$navbar-brand-padding-y:            $navbar-brand-height * .5 !default;
-$navbar-brand-margin-end:           1rem !default;
-
-$navbar-toggler-padding-y:          .25rem !default;
-$navbar-toggler-padding-x:          .75rem !default;
-$navbar-toggler-font-size:          $font-size-lg !default;
-$navbar-toggler-border-radius:      var(--border-radius) !default;
-$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;
-
-$navbar-light-color:                var(--fg-2) !default;
-$navbar-light-hover-color:          var(--fg-1) !default;
-$navbar-light-active-color:         var(--fg) !default;
-$navbar-light-disabled-color:       var(--fg-3) !default;
-$navbar-light-icon-color:           color-mix(in oklch, var(--body-color) 75%, transparent) !default;
-$navbar-light-toggler-icon-bg:      url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-light-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
-$navbar-light-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent) !default;
-$navbar-light-brand-color:          $navbar-light-active-color !default;
-$navbar-light-brand-hover-color:    $navbar-light-active-color !default;
-// scss-docs-end navbar-variables
-
-// scss-docs-start navbar-dark-variables
-$navbar-dark-color:                 rgba($white, .55) !default;
-$navbar-dark-hover-color:           rgba($white, .75) !default;
-$navbar-dark-active-color:          $white !default;
-$navbar-dark-disabled-color:        rgba($white, .25) !default;
-$navbar-dark-icon-color:            $navbar-dark-color !default;
-$navbar-dark-toggler-icon-bg:       url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-icon-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
-$navbar-dark-toggler-border-color:  rgba($white, .1) !default;
-$navbar-dark-brand-color:           $navbar-dark-active-color !default;
-$navbar-dark-brand-hover-color:     $navbar-dark-active-color !default;
-// scss-docs-end navbar-dark-variables
+// mdo-do: fix nav-link-height and navbar-brand-height, which we previously calculated with font-size, line-height, and block padding
+
+// stylelint-disable custom-property-no-missing-var-function
+$navbar-tokens: () !default;
+
+// scss-docs-start navbar-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$navbar-tokens: defaults(
+  (
+    --navbar-padding-x: 0,
+    --navbar-padding-y: #{$spacer * .5},
+    --navbar-color: var(--fg-2),
+    --navbar-hover-color: var(--fg-1),
+    --navbar-disabled-color: var(--fg-3),
+    --navbar-active-color: var(--fg),
+    --navbar-brand-padding-y: .75rem,
+    --navbar-brand-margin-end: 1rem,
+    --navbar-brand-font-size: var(--font-size-lg),
+    --navbar-brand-color: var(--fg),
+    --navbar-brand-hover-color: var(--fg),
+    --navbar-nav-link-padding-x: .75rem,
+    --navbar-toggler-padding-y: .25rem,
+    --navbar-toggler-padding-x: .75rem,
+    --navbar-toggler-font-size: var(--font-size-lg),
+    --navbar-toggler-icon-bg: #{escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='#{color-mix(in oklch, var(--body-color) 75%, transparent)}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"))},
+    --navbar-toggler-border-color: color-mix(in oklch, var(--fg-body) 15%, transparent),
+    --navbar-toggler-border-radius: var(--border-radius),
+    --navbar-toggler-transition: box-shadow .15s ease-in-out,
+  ),
+  $navbar-tokens
+);
+// scss-docs-end navbar-tokens
+
+$navbar-dark-tokens: () !default;
+
+// scss-docs-start navbar-dark-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$navbar-dark-tokens: defaults(
+  (
+    --navbar-color: color-mix(in oklch, var(--white) .55, transparent),
+    --navbar-hover-color: color-mix(in oklch, var(--white) .75, transparent),
+    --navbar-disabled-color: color-mix(in oklch, var(--white) .25, transparent),
+    --navbar-active-color: var(--white),
+    --navbar-brand-color: var(--white),
+    --navbar-brand-hover-color: var(--white),
+    --navbar-toggler-border-color: color-mix(in oklch, var(--white) .1, transparent),
+    --navbar-toggler-icon-bg: #{escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, .55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"))},
+  ),
+  $navbar-dark-tokens
+);
+// scss-docs-end navbar-dark-tokens
+// stylelint-enable custom-property-no-missing-var-function
 
 @layer components {
   .navbar {
-    // scss-docs-start navbar-css-vars
-    // stylelint-disable-next-line scss/at-function-named-arguments
-    --navbar-padding-x: #{if(sass($navbar-padding-x == null): 0; else: $navbar-padding-x)};
-    --navbar-padding-y: #{$navbar-padding-y};
-    --navbar-color: #{$navbar-light-color};
-    --navbar-hover-color: #{$navbar-light-hover-color};
-    --navbar-disabled-color: #{$navbar-light-disabled-color};
-    --navbar-active-color: #{$navbar-light-active-color};
-    --navbar-brand-padding-y: #{$navbar-brand-padding-y};
-    --navbar-brand-margin-end: #{$navbar-brand-margin-end};
-    --navbar-brand-font-size: #{$navbar-brand-font-size};
-    --navbar-brand-color: #{$navbar-light-brand-color};
-    --navbar-brand-hover-color: #{$navbar-light-brand-hover-color};
-    --navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};
-    --navbar-toggler-padding-y: #{$navbar-toggler-padding-y};
-    --navbar-toggler-padding-x: #{$navbar-toggler-padding-x};
-    --navbar-toggler-font-size: #{$navbar-toggler-font-size};
-    --navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};
-    --navbar-toggler-border-color: #{$navbar-light-toggler-border-color};
-    --navbar-toggler-border-radius: #{$navbar-toggler-border-radius};
-    --navbar-toggler-transition: #{$navbar-toggler-transition};
-    // scss-docs-end navbar-css-vars
+    @include tokens($navbar-tokens);
 
     position: relative;
     display: flex;
@@ -317,22 +306,13 @@ $navbar-dark-brand-hover-color:     $navbar-dark-active-color !default;
 
   .navbar-dark,
   .navbar[data-bs-theme="dark"] {
-    // scss-docs-start navbar-dark-css-vars
-    --navbar-color: #{$navbar-dark-color};
-    --navbar-hover-color: #{$navbar-dark-hover-color};
-    --navbar-disabled-color: #{$navbar-dark-disabled-color};
-    --navbar-active-color: #{$navbar-dark-active-color};
-    --navbar-brand-color: #{$navbar-dark-brand-color};
-    --navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};
-    --navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};
-    --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};
-    // scss-docs-end navbar-dark-css-vars
+    @include tokens($navbar-dark-tokens);
   }
 
   @if $enable-dark-mode {
     @include color-mode(dark) {
       .navbar-toggler-icon {
-        --navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};
+        --navbar-toggler-icon-bg: #{escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(255, 255, 255, .55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"))};
       }
     }
   }
index 8dfbb55d8cccf465b26e1851066d6cd2b62c414f..ce13e2198682a0a9dda9a85fc14d746c1a71e481 100644 (file)
@@ -1,26 +1,53 @@
 @use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/box-shadow" as *;
 @use "mixins/transition" as *;
 @use "mixins/backdrop" as *;
 @use "layout/breakpoints" as *;
+@use "mixins/tokens" as *;
+
+// stylelint-disable custom-property-no-missing-var-function
+$offcanvas-tokens: () !default;
+
+// scss-docs-start offcanvas-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$offcanvas-tokens: defaults(
+  (
+    --offcanvas-zindex: #{$zindex-offcanvas},
+    --offcanvas-width: 400px,
+    --offcanvas-height: 30vh,
+    --offcanvas-padding-x: 1rem,
+    --offcanvas-padding-y: 1rem,
+    --offcanvas-color: var(--fg-body),
+    --offcanvas-bg: var(--bg-body),
+    --offcanvas-border-width: var(--border-width),
+    --offcanvas-border-color: var(--border-color-translucent),
+    --offcanvas-box-shadow: var(--box-shadow-lg),
+    --offcanvas-transition: transform .3s ease-in-out,
+    --offcanvas-title-line-height: 1.5,
+  ),
+  $offcanvas-tokens
+);
+// scss-docs-end offcanvas-tokens
+// stylelint-enable custom-property-no-missing-var-function
+
+$offcanvas-backdrop-tokens: () !default;
+
+// scss-docs-start offcanvas-backdrop-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$offcanvas-backdrop-tokens: defaults(
+  (
+    bg: rgba(0, 0, 0, .5),
+    opacity: .5,
+  ),
+  $offcanvas-backdrop-tokens
+);
+// scss-docs-end offcanvas-backdrop-tokens
 
 %offcanvas-css-vars {
-  // scss-docs-start offcanvas-css-vars
-  --offcanvas-zindex: #{$zindex-offcanvas};
-  --offcanvas-width: #{$offcanvas-horizontal-width};
-  --offcanvas-height: #{$offcanvas-vertical-height};
-  --offcanvas-padding-x: #{$offcanvas-padding-x};
-  --offcanvas-padding-y: #{$offcanvas-padding-y};
-  --offcanvas-color: #{$offcanvas-color};
-  --offcanvas-bg: #{$offcanvas-bg-color};
-  --offcanvas-border-width: #{$offcanvas-border-width};
-  --offcanvas-border-color: #{$offcanvas-border-color};
-  --offcanvas-box-shadow: #{$offcanvas-box-shadow};
-  --offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};
-  --offcanvas-title-line-height: #{$offcanvas-title-line-height};
-  // scss-docs-end offcanvas-css-vars
+  @include tokens($offcanvas-tokens);
 }
 
 @layer components {
   }
 
   .offcanvas-backdrop {
-    @include overlay-backdrop($zindex-offcanvas-backdrop, $offcanvas-backdrop-bg, $offcanvas-backdrop-opacity);
+    @include overlay-backdrop($zindex-offcanvas-backdrop, map.get($offcanvas-backdrop-tokens, bg), map.get($offcanvas-backdrop-tokens, opacity));
   }
 
   .offcanvas-header {
index 569760251d77bc717b4aafeaba0246d8e79c58e5..1d0d57ecb3b47109f209f6192c6cafd092a870b7 100644 (file)
@@ -1,49 +1,47 @@
+@use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/lists" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/focus-ring" as *;
 @use "mixins/gradients" as *;
 @use "mixins/transition" as *;
-
-// scss-docs-start pagination-variables
-$pagination-padding-y:              .375rem !default;
-$pagination-padding-x:              .75rem !default;
-$pagination-padding-y-sm:           .25rem !default;
-$pagination-padding-x-sm:           .5rem !default;
-$pagination-padding-y-lg:           .75rem !default;
-$pagination-padding-x-lg:           1.5rem !default;
-
-$pagination-font-size:              $font-size-base !default;
-
-$pagination-color:                  var(--link-color) !default;
-$pagination-bg:                     var(--bg-body) !default;
-$pagination-border-radius:          var(--border-radius) !default;
-$pagination-border-width:           var(--border-width) !default;
-$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default;
-$pagination-border-color:           var(--border-color) !default;
-
-$pagination-focus-color:            var(--link-hover-color) !default;
-$pagination-focus-bg:               var(--secondary-bg) !default;
-
-$pagination-hover-color:            var(--link-hover-color) !default;
-$pagination-hover-bg:               var(--tertiary-bg) !default;
-$pagination-hover-border-color:     var(--border-color) !default; // Todo in v6: remove this?
-
-$pagination-active-color:           $component-active-color !default;
-$pagination-active-bg:              $component-active-bg !default;
-$pagination-active-border-color:    $component-active-bg !default;
-
-$pagination-disabled-color:         var(--secondary-color) !default;
-$pagination-disabled-bg:            var(--secondary-bg) !default;
-$pagination-disabled-border-color:  var(--border-color) !default;
-
-$pagination-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;
-
-$pagination-border-radius-sm:       var(--border-radius-sm) !default;
-$pagination-border-radius-lg:       var(--border-radius-lg) !default;
-// scss-docs-end pagination-variables
-
+@use "mixins/tokens" as *;
+
+// mdo-do: Update pagination to support variant themes
+
+// stylelint-disable custom-property-no-missing-var-function
+$pagination-tokens: () !default;
+
+// scss-docs-start pagination-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$pagination-tokens: defaults(
+  (
+    --pagination-padding-x: .75rem,
+    --pagination-padding-y: .375rem,
+    --pagination-font-size: var(--font-size-base),
+    --pagination-color: var(--link-color),
+    --pagination-bg: var(--bg-body),
+    --pagination-border-width: var(--border-width),
+    --pagination-border-color: var(--border-color),
+    --pagination-border-radius: var(--border-radius),
+    --pagination-hover-color: var(--link-hover-color),
+    --pagination-hover-bg: var(--bg-1),
+    --pagination-hover-border-color: var(--border-color),
+    --pagination-focus-color: var(--link-hover-color),
+    --pagination-focus-bg: var(--bg-2),
+    --pagination-active-color: var(--primary-contrast),
+    --pagination-active-bg: var(--primary-bg),
+    --pagination-active-border-color: var(--primary-bg),
+    --pagination-disabled-color: var(--fg-3),
+    --pagination-disabled-bg: var(--bg-2),
+    --pagination-disabled-border-color: var(--border-color),
+  ),
+  $pagination-tokens
+);
+// scss-docs-end pagination-tokens
+// stylelint-enable custom-property-no-missing-var-function
 
 // scss-docs-start pagination-mixin
 @mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {
@@ -56,27 +54,7 @@ $pagination-border-radius-lg:       var(--border-radius-lg) !default;
 
 @layer components {
   .pagination {
-    // scss-docs-start pagination-css-vars
-    --pagination-padding-x: #{$pagination-padding-x};
-    --pagination-padding-y: #{$pagination-padding-y};
-    --pagination-font-size: #{$pagination-font-size};
-    --pagination-color: #{$pagination-color};
-    --pagination-bg: #{$pagination-bg};
-    --pagination-border-width: #{$pagination-border-width};
-    --pagination-border-color: #{$pagination-border-color};
-    --pagination-border-radius: #{$pagination-border-radius};
-    --pagination-hover-color: #{$pagination-hover-color};
-    --pagination-hover-bg: #{$pagination-hover-bg};
-    --pagination-hover-border-color: #{$pagination-hover-border-color};
-    --pagination-focus-color: #{$pagination-focus-color};
-    --pagination-focus-bg: #{$pagination-focus-bg};
-    --pagination-active-color: #{$pagination-active-color};
-    --pagination-active-bg: #{$pagination-active-bg};
-    --pagination-active-border-color: #{$pagination-active-border-color};
-    --pagination-disabled-color: #{$pagination-disabled-color};
-    --pagination-disabled-bg: #{$pagination-disabled-bg};
-    --pagination-disabled-border-color: #{$pagination-disabled-border-color};
-    // scss-docs-end pagination-css-vars
+    @include tokens($pagination-tokens);
 
     display: flex;
     @include list-unstyled();
@@ -91,7 +69,7 @@ $pagination-border-radius-lg:       var(--border-radius-lg) !default;
     text-decoration: none;
     background-color: var(--pagination-bg);
     border: var(--pagination-border-width) solid var(--pagination-border-color);
-    @include transition($pagination-transition);
+    @include transition(color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out);
 
     &:hover {
       z-index: 2;
@@ -126,25 +104,18 @@ $pagination-border-radius-lg:       var(--border-radius-lg) !default;
 
   .page-item {
     &:not(:first-child) .page-link {
-      margin-inline-start: $pagination-margin-start;
+      margin-inline-start: calc(-1 * var(--pagination-border-width));
     }
 
-    @if $pagination-margin-start == calc(-1 * #{$pagination-border-width}) {
-      &:first-child {
-        .page-link {
-          @include border-start-radius(var(--pagination-border-radius));
-        }
+    &:first-child {
+      .page-link {
+        @include border-start-radius(var(--pagination-border-radius));
       }
+    }
 
-      &:last-child {
-        .page-link {
-          @include border-end-radius(var(--pagination-border-radius));
-        }
-      }
-    } @else {
-      // Add border-radius to all pageLinks in case they have left margin
+    &:last-child {
       .page-link {
-        @include border-radius(var(--pagination-border-radius));
+        @include border-end-radius(var(--pagination-border-radius));
       }
     }
   }
@@ -155,10 +126,10 @@ $pagination-border-radius-lg:       var(--border-radius-lg) !default;
   //
 
   .pagination-lg {
-    @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $pagination-border-radius-lg);
+    @include pagination-size(.75rem, 1.5rem, $font-size-lg, var(--border-radius-lg));
   }
 
   .pagination-sm {
-    @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $pagination-border-radius-sm);
+    @include pagination-size(.25rem, .5rem, $font-size-sm, var(--border-radius-sm));
   }
 }
index d5ab29a8e5c96f8987f1a27529f73e553a17c571..5638c81a4be8ca74760e8ba6a206b3a7967319f9 100644 (file)
@@ -1,21 +1,33 @@
+@use "sass:map";
 @use "colors" as *;
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
+@use "mixins/tokens" as *;
 
-// scss-docs-start placeholders
-$placeholder-opacity-max:           .5 !default;
-$placeholder-opacity-min:           .2 !default;
-// scss-docs-end placeholders
+$placeholder-tokens: () !default;
 
+// scss-docs-start placeholder-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$placeholder-tokens: defaults(
+  (
+    --placeholder-opacity-max: .5,
+    --placeholder-opacity-min: .2,
+  ),
+  $placeholder-tokens
+);
+// scss-docs-end placeholder-tokens
 
 @layer components {
   .placeholder {
+    @include tokens($placeholder-tokens);
+
     display: inline-block;
     min-height: 1em;
     vertical-align: middle;
     cursor: wait;
     background-color: currentcolor;
-    opacity: $placeholder-opacity-max;
+    opacity: var(--placeholder-opacity-max);
 
     &.btn::before {
       display: inline-block;
@@ -45,12 +57,12 @@ $placeholder-opacity-min:           .2 !default;
 
   @keyframes placeholder-glow {
     50% {
-      opacity: $placeholder-opacity-min;
+      opacity: var(--placeholder-opacity-min);
     }
   }
 
   .placeholder-wave {
-    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, (1 - $placeholder-opacity-min)) 75%, $black 95%);
+    mask-image: linear-gradient(130deg, $black 55%, rgba(0, 0, 0, calc(1 - var(--placeholder-opacity-min))) 75%, $black 95%);
     mask-size: 200% 100%;
     animation: placeholder-wave 2s linear infinite;
   }
index 39a3b9b2bd750633a24c59df8672e5f679cb0ed6..8dcc584bcc0b546ad6ee0f1472a7bf8bd3cc179c 100644 (file)
@@ -1,56 +1,47 @@
+@use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/box-shadow" as *;
 @use "mixins/reset-text" as *;
-
-// scss-docs-start popover-variables
-$popover-font-size:                 var(--font-size-sm) !default;
-$popover-bg:                        var(--bg-body) !default;
-$popover-max-width:                 280px !default;
-$popover-border-width:              var(--border-width) !default;
-$popover-border-color:              var(--border-color-translucent) !default;
-$popover-border-radius:             var(--border-radius-lg) !default;
-$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default;
-$popover-box-shadow:                var(--box-shadow) !default;
-
-$popover-header-font-size:          $font-size-base !default;
-$popover-header-bg:                 var(--bg-1) !default;
-$popover-header-color:              $headings-color !default;
-$popover-header-padding-y:          $spacer * .75 !default;
-$popover-header-padding-x:          $spacer !default;
-
-$popover-body-color:                var(--fg-body) !default;
-$popover-body-padding-y:            $spacer * .75 !default;
-$popover-body-padding-x:            $spacer !default;
-
-$popover-arrow-width:               1rem !default;
-$popover-arrow-height:              .5rem !default;
-// scss-docs-end popover-variables
+@use "mixins/tokens" as *;
+
+$popover-tokens: () !default;
+
+// scss-docs-start popover-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$popover-tokens: defaults(
+  (
+    --popover-zindex: #{$zindex-popover},
+    --popover-max-width: 280px,
+    --popover-font-size: var(--font-size-sm),
+    --popover-bg: var(--bg-body),
+    --popover-border-width: var(--border-width),
+    --popover-border-color: var(--border-color-translucent),
+    --popover-border-radius: var(--border-radius-lg),
+    --popover-inner-border-radius: calc(var(--border-radius-lg) - var(--border-width)),
+    --popover-box-shadow: var(--box-shadow),
+    --popover-header-padding-x: #{$spacer},
+    --popover-header-padding-y: #{$spacer * .75},
+    --popover-header-font-size: #{$font-size-base},
+    --popover-header-color: #{$headings-color},
+    --popover-header-bg: var(--bg-1),
+    --popover-body-padding-x: #{$spacer},
+    --popover-body-padding-y: #{$spacer * .75},
+    --popover-body-color: var(--fg-body),
+    --popover-arrow-width: 1rem,
+    --popover-arrow-height: .5rem,
+    --popover-arrow-border: var(--popover-border-color),
+  ),
+  $popover-tokens
+);
+// scss-docs-end popover-tokens
 
 @layer components {
   .popover {
     // scss-docs-start popover-css-vars
-    --popover-zindex: #{$zindex-popover};
-    --popover-max-width: #{$popover-max-width};
-    --popover-font-size: #{$popover-font-size};
-    --popover-bg: #{$popover-bg};
-    --popover-border-width: #{$popover-border-width};
-    --popover-border-color: #{$popover-border-color};
-    --popover-border-radius: #{$popover-border-radius};
-    --popover-inner-border-radius: #{$popover-inner-border-radius};
-    --popover-box-shadow: #{$popover-box-shadow};
-    --popover-header-padding-x: #{$popover-header-padding-x};
-    --popover-header-padding-y: #{$popover-header-padding-y};
-    --popover-header-font-size: #{$popover-header-font-size};
-    --popover-header-color: #{$popover-header-color};
-    --popover-header-bg: #{$popover-header-bg};
-    --popover-body-padding-x: #{$popover-body-padding-x};
-    --popover-body-padding-y: #{$popover-body-padding-y};
-    --popover-body-color: #{$popover-body-color};
-    --popover-arrow-width: #{$popover-arrow-width};
-    --popover-arrow-height: #{$popover-arrow-height};
-    --popover-arrow-border: var(--popover-border-color);
+    @include tokens($popover-tokens);
     // scss-docs-end popover-css-vars
 
     z-index: var(--popover-zindex);
index 20fe987ae2f25843c2cdd3fb67cc3d9af4819994..d232d932cd200649933fd596881aef013aa21dc7 100644 (file)
@@ -1,22 +1,33 @@
+@use "sass:map";
 @use "config" as *;
 @use "colors" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/transition" as *;
 @use "mixins/gradients" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/box-shadow" as *;
+@use "mixins/tokens" as *;
 
-// scss-docs-start progress-variables
-$progress-height:                   1rem !default;
-$progress-font-size:                $font-size-base * .75 !default;
-$progress-bg:                       var(--secondary-bg) !default;
-$progress-border-radius:            var(--border-radius) !default;
-$progress-box-shadow:               var(--box-shadow-inset) !default;
-$progress-bar-color:                $white !default;
-$progress-bar-bg:                   var(--primary-bg) !default;
-$progress-bar-animation-timing:     1s linear infinite !default;
-$progress-bar-transition:           width .6s ease !default;
-// scss-docs-end progress-variables
+$progress-tokens: () !default;
+
+// scss-docs-start progress-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$progress-tokens: defaults(
+  (
+    --progress-height: 1rem,
+    --progress-font-size: var(--font-size-sm),
+    --progress-bg: var(--bg-2),
+    --progress-border-radius: var(--border-radius),
+    --progress-box-shadow: var(--box-shadow-inset),
+    --progress-bar-color: var(--white),
+    --progress-bar-bg: var(--primary-bg),
+    --progress-bar-transition: width .6s ease,
+    --progress-bar-animation: progress-bar-stripes 1s linear infinite,
+  ),
+  $progress-tokens
+);
+// scss-docs-end progress-tokens
 
 
 // Disable animation if transitions are disabled
@@ -32,20 +43,11 @@ $progress-bar-transition:           width .6s ease !default;
 
   .progress,
   .progress-stacked {
-    // scss-docs-start progress-css-vars
-    --progress-height: #{$progress-height};
-    --progress-font-size: #{$progress-font-size};
-    --progress-bg: #{$progress-bg};
-    --progress-border-radius: #{$progress-border-radius};
-    --progress-box-shadow: #{$progress-box-shadow};
-    --progress-bar-color: #{$progress-bar-color};
-    --progress-bar-bg: #{$progress-bar-bg};
-    --progress-bar-transition: #{$progress-bar-transition};
-    // scss-docs-end progress-css-vars
+    @include tokens($progress-tokens);
 
     display: flex;
     height: var(--progress-height);
-    overflow: hidden; // force rounded corners by cropping it
+    overflow: hidden;
     font-size: var(--progress-font-size);
     background-color: var(--progress-bg);
     @include border-radius(var(--progress-border-radius));
@@ -79,7 +81,7 @@ $progress-bar-transition:           width .6s ease !default;
 
   @if $enable-transitions {
     .progress-bar-animated {
-      animation: $progress-bar-animation-timing progress-bar-stripes;
+      animation: var(--progress-bar-animation);
 
       @if $enable-reduced-motion {
         @media (prefers-reduced-motion: reduce) {
index 6b4bcbf58fb9567c627c337cee777a6878e6cd99..d5ad07053c99b6e2fa5c7619e8530f025aa4b038 100644 (file)
 @use "sass:meta";
+@use "sass:map";
 @use "colors" as *;
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "theme" as *;
 // @use "maps" as *;
 @use "mixins/color-mode" as *;
+@use "mixins/tokens" as *;
 @use "forms/form-variables" as *;
 
 // mdo-do: do we need theme?
 @layer colors, theme, config, root, reboot, layout, content, forms, components, custom, helpers, utilities;
 
-:root {
-  // scss-docs-start root-theme-variables
-  --black: #{$black};
-  --white: #{$white};
-
-  // Generate semantic theme colors
-  @each $color-name, $color-map in $new-theme-colors {
-    @each $key, $value in $color-map {
-      --#{$color-name}-#{$key}: #{$value};
-    }
+$root-tokens: () !default;
+
+// scss-docs-start root-tokens
+// stylelint-disable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines
+// stylelint-disable-next-line scss/dollar-variable-default
+$root-tokens: defaults(
+  (
+    --black: #{$black},
+    --white: #{$white},
+    // Fonts
+    // Note: Use `inspect` for lists so that quoted items keep the quotes.
+    // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
+    --font-sans-serif: #{meta.inspect($font-family-sans-serif)},
+    --font-monospace: #{meta.inspect($font-family-monospace)},
+    --gradient: #{$gradient},
+    --body-font-family: #{meta.inspect($font-family-base)},
+
+    // scss-docs-start root-font-size-variables
+    --font-size-base: #{$font-size-base},
+    --font-size-xs: .75rem,
+    --font-size-sm: .875rem,
+    --font-size-md: 1rem,
+    --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem),
+    --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem),
+    --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem),
+    --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem),
+    --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem),
+    --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem),
+    --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem),
+
+    --line-height-xs: 1.25,
+    --line-height-sm: 1.5,
+    --line-height-md: 1.5,
+    --line-height-lg: 1.5,
+    --line-height-xl: calc(2.5 / 1.75),
+    --line-height-2xl: calc(3 / 2.25),
+    --line-height-3xl: 1.2,
+    --line-height-4xl: 1.1,
+    --line-height-5xl: 1.1,
+    --line-height-6xl: 1,
+    // scss-docs-end root-font-size-variables
+
+    --body-font-size: #{$font-size-base},
+    --body-font-weight: #{$font-weight-base},
+    --body-line-height: #{$line-height-base},
+
+    --heading-color: #{$headings-color},
+
+    --hr-border-color: var(--border-color),
+
+    --link-color: light-dark(var(--primary-base), var(--primary-text)),
+    --link-decoration: #{$link-decoration},
+    --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000),
+
+    --code-font-size: 95%,
+    --code-color: var(--fg-2),
+
+    // scss-docs-start root-border-var
+    --border-width: #{$border-width},
+    --border-style: #{$border-style},
+    --border-color: light-dark(color-mix(in oklch, var(--gray-100), var(--gray-200)), var(--gray-700)),
+    --border-color-translucent: color-mix(in oklch, var(--fg-body) 15%, transparent),
+    // scss-docs-end root-border-var
+
+    // scss-docs-start root-border-radius-var
+    --border-radius: .5rem,
+    --border-radius-xs: .375rem,
+    --border-radius-sm: .375rem,
+    --border-radius-lg: .75rem,
+    --border-radius-xl: 1rem,
+    --border-radius-2xl: 2rem,
+    --border-radius-pill: 50rem,
+    // scss-docs-end root-border-radius-var
+
+    --box-shadow: #{$box-shadow},
+    --box-shadow-sm: #{$box-shadow-sm},
+    --box-shadow-lg: #{$box-shadow-lg},
+    --box-shadow-inset: #{$box-shadow-inset},
+
+    --spacer: 1rem,
+
+    // scss-docs-start root-focus-variables
+    --focus-ring-width: 3px,
+    --focus-ring-offset: 1px,
+    --focus-ring-color: var(--primary-focus-ring),
+    --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color),
+    // scss-docs-end root-focus-variables
+
+    // scss-docs-start root-form-variables
+    --input-bg: var(--bg-body),
+    --input-color: var(--fg-body),
+
+    --btn-input-min-height: 2.375rem,
+    --btn-input-padding-y: .375rem,
+    --btn-input-padding-x: .75rem,
+    --btn-input-font-size: var(--font-size-base),
+    --btn-input-line-height: var(--line-height-base),
+    --btn-input-border-radius: var(--border-radius),
+
+    --btn-input-xs-min-height: 1.5rem,
+    --btn-input-xs-padding-y: .125rem,
+    --btn-input-xs-padding-x: .375rem,
+    --btn-input-xs-font-size: var(--font-size-xs),
+    --btn-input-xs-line-height: 1.125,
+    --btn-input-xs-border-radius: var(--border-radius-xs),
+
+    --btn-input-sm-min-height: 2rem,
+    --btn-input-sm-padding-y: .25rem,
+    --btn-input-sm-padding-x: .5rem,
+    --btn-input-sm-font-size: var(--font-size-xs),
+    --btn-input-sm-line-height: var(--line-height-xs),
+    --btn-input-sm-border-radius: var(--border-radius-sm),
+
+    --btn-input-lg-min-height: 2.75rem,
+    --btn-input-lg-padding-y: .5rem,
+    --btn-input-lg-padding-x: 1rem,
+    --btn-input-lg-font-size: var(--font-size-md),
+    --btn-input-lg-line-height: var(--line-height-md),
+    --btn-input-lg-border-radius: var(--border-radius-lg),
+    // scss-docs-end root-form-variables
+
+    // scss-docs-start root-form-validation-variables
+    --form-valid-color: #{$form-valid-color},
+    --form-valid-border-color: #{$form-valid-border-color},
+    --form-invalid-color: #{$form-invalid-color},
+    --form-invalid-border-color: #{$form-invalid-border-color},
+    // scss-docs-end root-form-validation-variables
+  ),
+  $root-tokens
+);
+// stylelint-enable @stylistic/value-list-max-empty-lines, @stylistic/function-max-empty-lines
+// scss-docs-end root-tokens
+
+// scss-docs-start root-theme-tokens
+// Generate semantic theme colors
+@each $color-name, $color-map in $new-theme-colors {
+  @each $key, $value in $color-map {
+    $root-tokens: map.set($root-tokens, --#{$color-name}-#{$key}, $value);
   }
+}
 
-  @each $color, $value in $theme-bgs {
-    --bg-#{$color}: #{$value};
-  }
+// Generate background tokens
+@each $key, $value in $theme-bgs {
+  $root-tokens: map.set($root-tokens, --bg-#{$key}, $value);
+}
 
-  @each $color, $value in $theme-fgs {
-    --fg-#{$color}: #{$value};
-  }
+// Generate foreground tokens
+@each $key, $value in $theme-fgs {
+  $root-tokens: map.set($root-tokens, --fg-#{$key}, $value);
+}
 
-  @each $color, $value in $theme-borders {
-    --border-#{$color}: #{$value};
-  }
-  // scss-docs-end root-theme-variables
+// Generate border tokens
+@each $key, $value in $theme-borders {
+  $root-tokens: map.set($root-tokens, --border-#{$key}, $value);
+}
+// scss-docs-end root-theme-tokens
+
+:root {
+  @include tokens($root-tokens);
 
   color-scheme: light dark;
 }
 
 :root,
 [data-bs-theme="light"] {
-
-  // Note: Custom variable values only support SassScript inside `#{}`.
-
-  // Fonts
-
-  // Note: Use `inspect` for lists so that quoted items keep the quotes.
-  // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
-  --font-sans-serif: #{meta.inspect($font-family-sans-serif)};
-  --font-monospace: #{meta.inspect($font-family-monospace)};
-  --gradient: #{$gradient};
-  --body-font-family: #{meta.inspect($font-family-base)};
-
-  // scss-docs-start root-font-size-variables
-  --font-size-base: #{$font-size-base}; // 14px
-
-  --font-size-xs: .75rem;
-  --font-size-sm: .875rem;
-  --font-size-md: 1rem;
-  --font-size-lg: clamp(1.25rem, 1rem + .625vw, 1.5rem);
-  --font-size-xl: clamp(1.5rem, 1.1rem + .75vw, 1.75rem);
-  --font-size-2xl: clamp(1.75rem, 1.3rem + 1vw, 2rem);
-  --font-size-3xl: clamp(2rem, 1.5rem + 1.875vw, 2.5rem);
-  --font-size-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3rem);
-  --font-size-5xl: clamp(3rem, 2rem + 5vw, 4rem);
-  --font-size-6xl: clamp(3.75rem, 2.5rem + 6.25vw, 5rem);
-
-  --line-height-xs: 1.5;
-  --line-height-sm: 1.5;
-  --line-height-md: 1.5;
-  --line-height-lg: 1.5;
-  --line-height-xl: calc(2.5 / 1.75);
-  --line-height-2xl: calc(3 / 2.25);
-  --line-height-3xl: 1.2;
-  --line-height-4xl: 1.1;
-  --line-height-5xl: 1.1;
-  --line-height-6xl: 1;
-  // scss-docs-end root-font-size-variables
-
-  --body-font-size: #{$font-size-base};
-  --body-font-weight: #{$font-weight-base};
-  --body-line-height: #{$line-height-base};
-
-  --heading-color: #{$headings-color};
-
-  --hr-border-color: var(--border-color);
-
-  --link-color: light-dark(var(--primary-base), var(--primary-text));
-  --link-decoration: #{$link-decoration};
-  --link-hover-color: color-mix(in oklch, var(--link-color) 90%, #000);
-
-  --code-color: #{$code-color};
-  --highlight-color: #{$mark-color};
-  --highlight-bg: #{$mark-bg};
-
-  // scss-docs-start root-border-var
-  --border-width: #{$border-width};
-  --border-style: #{$border-style};
-  --border-color: #{$border-color};
-  --border-color-translucent: #{$border-color-translucent};
-  // scss-docs-end root-border-var
-
-  // scss-docs-start root-border-radius-var
-  --border-radius: #{$border-radius};
-  --border-radius-sm: #{$border-radius-sm};
-  --border-radius-lg: #{$border-radius-lg};
-  --border-radius-xl: #{$border-radius-xl};
-  --border-radius-2xl: #{$border-radius-2xl};
-  --border-radius-pill: #{$border-radius-pill};
-  // scss-docs-end root-border-radius-var
-
-  --box-shadow: #{$box-shadow};
-  --box-shadow-sm: #{$box-shadow-sm};
-  --box-shadow-lg: #{$box-shadow-lg};
-  --box-shadow-inset: #{$box-shadow-inset};
-
-  // Focus styles
-  // scss-docs-start root-focus-variables
-  --focus-ring-width: 3px;
-  --focus-ring-offset: 1px;
-  --focus-ring-color: var(--primary-focus-ring);
-  --focus-ring: var(--focus-ring-width) solid var(--focus-ring-color);
-  // scss-docs-end root-focus-variables
-
-  // scss-docs-start root-form-validation-variables
-  --form-valid-color: #{$form-valid-color};
-  --form-valid-border-color: #{$form-valid-border-color};
-  --form-invalid-color: #{$form-invalid-color};
-  --form-invalid-border-color: #{$form-invalid-border-color};
-  color-scheme: light;
-  // scss-docs-end root-form-validation-variables
-
   // Root and body
   @if $font-size-root != null {
     --root-font-size: #{$font-size-root};
     --body-text-align: #{$body-text-align};
   }
 }
-
-@if $enable-dark-mode {
-  @include color-mode(dark, true) {
-
-    // scss-docs-start root-dark-mode-vars
-    --heading-color: #{$headings-color-dark};
-
-    --border-color: #{$border-color-dark};
-
-    --form-valid-color: #{$form-valid-color-dark};
-    --form-valid-border-color: #{$form-valid-border-color-dark};
-    --form-invalid-color: #{$form-invalid-color-dark};
-    --form-invalid-border-color: #{$form-invalid-border-color-dark};
-    color-scheme: dark;
-    // scss-docs-end root-dark-mode-vars
-  }
-}
index 0316a95e3aa265c6335aea2a23725df4561e5a2f..3a2f8488897362923e05ff193daeb019c44c46e5 100644 (file)
@@ -1,23 +1,51 @@
+@use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
+@use "mixins/tokens" as *;
 
-// scss-docs-start spinner-variables
-$spinner-width:           2rem !default;
-$spinner-height:          $spinner-width !default;
-$spinner-vertical-align:  -.125em !default;
-$spinner-border-width:    .25em !default;
-$spinner-animation-speed: .75s !default;
+// stylelint-disable custom-property-no-missing-var-function
+$spinner-border-tokens: () !default;
 
-$spinner-width-sm:        1rem !default;
-$spinner-height-sm:       $spinner-width-sm !default;
-$spinner-border-width-sm: .2em !default;
-// scss-docs-end spinner-variables
+// scss-docs-start spinner-border-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$spinner-border-tokens: defaults(
+  (
+    --spinner-width: 2rem,
+    --spinner-height: 2rem,
+    --spinner-vertical-align: -.125em,
+    --spinner-border-width: .25em,
+    --spinner-animation-speed: .75s,
+    --spinner-animation-name: spinner-border,
+  ),
+  $spinner-border-tokens
+);
+// scss-docs-end spinner-border-tokens
+
+$spinner-grow-tokens: () !default;
+
+// scss-docs-start spinner-grow-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$spinner-grow-tokens: defaults(
+  (
+    --spinner-width: 2rem,
+    --spinner-height: 2rem,
+    --spinner-vertical-align: -.125em,
+    --spinner-animation-speed: .75s,
+    --spinner-animation-name: spinner-grow,
+  ),
+  $spinner-grow-tokens
+);
+// scss-docs-end spinner-grow-tokens
+
+// stylelint-enable custom-property-no-missing-var-function
 
 //
 // Rotating border
 //
 
 @layer components {
+  // mdo-do: Refactor this to assume flex parent and remove `vertical-align`
   .spinner-grow,
   .spinner-border {
     display: inline-block;
@@ -37,14 +65,7 @@ $spinner-border-width-sm: .2em !default;
   // scss-docs-end spinner-border-keyframes
 
   .spinner-border {
-    // scss-docs-start spinner-border-css-vars
-    --spinner-width: #{$spinner-width};
-    --spinner-height: #{$spinner-height};
-    --spinner-vertical-align: #{$spinner-vertical-align};
-    --spinner-border-width: #{$spinner-border-width};
-    --spinner-animation-speed: #{$spinner-animation-speed};
-    --spinner-animation-name: spinner-border;
-    // scss-docs-end spinner-border-css-vars
+    @include tokens($spinner-border-tokens);
 
     border: var(--spinner-border-width) solid currentcolor;
     border-inline-end-color: transparent;
@@ -52,9 +73,9 @@ $spinner-border-width-sm: .2em !default;
 
   .spinner-border-sm {
     // scss-docs-start spinner-border-sm-css-vars
-    --spinner-width: #{$spinner-width-sm};
-    --spinner-height: #{$spinner-height-sm};
-    --spinner-border-width: #{$spinner-border-width-sm};
+    --spinner-width: 1rem;
+    --spinner-height: 1rem;
+    --spinner-border-width: .2em;
     // scss-docs-end spinner-border-sm-css-vars
   }
 
@@ -75,28 +96,24 @@ $spinner-border-width-sm: .2em !default;
   // scss-docs-end spinner-grow-keyframes
 
   .spinner-grow {
-    // scss-docs-start spinner-grow-css-vars
-    --spinner-width: #{$spinner-width};
-    --spinner-height: #{$spinner-height};
-    --spinner-vertical-align: #{$spinner-vertical-align};
-    --spinner-animation-speed: #{$spinner-animation-speed};
-    --spinner-animation-name: spinner-grow;
-    // scss-docs-end spinner-grow-css-vars
+    @include tokens($spinner-grow-tokens);
 
     background-color: currentcolor;
     opacity: 0;
   }
 
   .spinner-grow-sm {
-    --spinner-width: #{$spinner-width-sm};
-    --spinner-height: #{$spinner-height-sm};
+    // scss-docs-start spinner-grow-sm-css-vars
+    --spinner-width: 1rem;
+    --spinner-height: 1rem;
+    // scss-docs-end spinner-grow-sm-css-vars
   }
 
   @if $enable-reduced-motion {
     @media (prefers-reduced-motion: reduce) {
       .spinner-border,
       .spinner-grow {
-        --spinner-animation-speed: #{$spinner-animation-speed * 2};
+        --spinner-animation-speed: 1.5s;
       }
     }
   }
index 7adc765acff61291f9c011778c22ab23f1d72602..b8794133ccfef527770e02b59061c7fe324689af 100644 (file)
@@ -1,21 +1,30 @@
 @use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "layout/breakpoints" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/box-shadow" as *;
 @use "mixins/gradients" as *;
+@use "mixins/tokens" as *;
 @use "mixins/transition" as *;
 
-// scss-docs-start stepper-variables
-$stepper-size: 2rem !default;
-$stepper-gap: 1rem !default;
-$stepper-track-size: .25rem !default;
-$stepper-bg: var(--bg-2) !default;
-$stepper-active-fg: var(--primary-contrast) !default;
-$stepper-active-bg: var(--primary-bg) !default;
-// $stepper-vertical-gap: .5rem !default;
-// scss-docs-end stepper-variables
+$stepper-tokens: () !default;
+
+// scss-docs-start stepper-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$stepper-tokens: defaults(
+  (
+    --stepper-size: 2rem,
+    --stepper-gap: 1rem,
+    --stepper-bg: var(--bg-2),
+    --stepper-track-size: .25rem,
+    --stepper-active-color: var(--primary-contrast),
+    --stepper-active-bg: var(--primary-bg),
+  ),
+  $stepper-tokens
+);
+// scss-docs-end stepper-tokens
 
 // scss-docs-start stepper-horizontal-mixin
 @mixin stepper-horizontal() {
@@ -47,12 +56,7 @@ $stepper-active-bg: var(--primary-bg) !default;
 // scss-docs-start stepper-css
 .stepper {
   // scss-docs-start stepper-css-vars
-  --stepper-size: #{$stepper-size};
-  --stepper-gap: #{$stepper-gap};
-  --stepper-bg: #{$stepper-bg};
-  --stepper-track-size: #{$stepper-track-size};
-  --stepper-active-color: #{$stepper-active-fg};
-  --stepper-active-bg: #{$stepper-active-bg};
+  @include tokens($stepper-tokens);
   // scss-docs-end stepper-css-vars
 
   display: grid;
index f3893935cad48c34fb9d5ddbb79980c69d74e17f..ef341c8da4901721a72647b3ee1ae96e1a9ca088 100644 (file)
@@ -68,7 +68,7 @@ $new-theme-colors: (
     "bg-subtle": light-dark(var(--blue-100), var(--blue-900)),
     "bg-muted": light-dark(var(--blue-200), var(--blue-800)),
     "border": light-dark(var(--blue-300), var(--blue-600)),
-    "focus-ring": color-mix(in oklch, light-dark(var(--blue-500), var(--blue-400)) 50%, var(--bg-body)),
+    "focus-ring": light-dark(color-mix(in oklch, var(--blue-500) 50%, var(--bg-body)), color-mix(in oklch, var(--blue-500) 75%, var(--bg-body))),
     "contrast": var(--white)
   ),
   "accent": (
@@ -79,7 +79,7 @@ $new-theme-colors: (
     "bg-subtle": light-dark(var(--indigo-100), var(--indigo-900)),
     "bg-muted": light-dark(var(--indigo-200), var(--indigo-800)),
     "border": light-dark(var(--indigo-300), var(--indigo-600)),
-    "focus-ring": color-mix(in oklch, light-dark(var(--indigo-500), var(--indigo-400)) 50%, var(--bg-body)),
+    "focus-ring": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),
     "contrast": var(--white)
   ),
   "success": (
@@ -90,7 +90,7 @@ $new-theme-colors: (
     "bg-subtle": light-dark(var(--green-100), var(--green-900)),
     "bg-muted": light-dark(var(--green-200), var(--green-800)),
     "border": light-dark(var(--green-300), var(--green-600)),
-    "focus-ring": color-mix(in oklch, light-dark(var(--green-500), var(--green-400)) 50%, var(--bg-body)),
+    "focus-ring": light-dark(color-mix(in oklch, var(--green-500) 50%, var(--bg-body)), color-mix(in oklch, var(--green-500) 75%, var(--bg-body))),
     "contrast": var(--white)
   ),
   "danger": (
@@ -101,7 +101,7 @@ $new-theme-colors: (
     "bg-subtle": light-dark(var(--red-100), var(--red-900)),
     "bg-muted": light-dark(var(--red-200), var(--red-800)),
     "border": light-dark(var(--red-300), var(--red-600)),
-    "focus-ring": color-mix(in oklch, light-dark(var(--red-500), var(--red-400)) 50%, var(--bg-body)),
+    "focus-ring": light-dark(color-mix(in oklch, var(--red-500) 50%, var(--bg-body)), color-mix(in oklch, var(--red-500) 75%, var(--bg-body))),
     "contrast": var(--white)
   ),
   "warning": (
@@ -112,7 +112,7 @@ $new-theme-colors: (
     "bg-subtle": light-dark(var(--yellow-100), var(--yellow-900)),
     "bg-muted": light-dark(var(--yellow-200), var(--yellow-800)),
     "border": light-dark(var(--yellow-300), var(--yellow-600)),
-    "focus-ring": color-mix(in oklch, light-dark(var(--yellow-500), var(--yellow-400)) 50%, var(--bg-body)),
+    "focus-ring": light-dark(color-mix(in oklch, var(--yellow-500) 50%, var(--bg-body)), color-mix(in oklch, var(--yellow-400) 85%, var(--bg-body))),
     "contrast": var(--gray-900)
   ),
   "info": (
@@ -123,7 +123,7 @@ $new-theme-colors: (
     "bg-subtle": light-dark(var(--cyan-100), var(--cyan-900)),
     "bg-muted": light-dark(var(--cyan-200), var(--cyan-800)),
     "border": light-dark(var(--cyan-300), var(--cyan-600)),
-    "focus-ring": color-mix(in oklch, light-dark(var(--cyan-500), var(--cyan-400)) 50%, var(--bg-body)),
+    "focus-ring": light-dark(color-mix(in oklch, var(--cyan-500) 50%, var(--bg-body)), color-mix(in oklch, var(--cyan-500) 75%, var(--bg-body))),
     "contrast": var(--gray-900)
   ),
   "inverse": (
@@ -151,9 +151,6 @@ $new-theme-colors: (
 ) !default;
 // scss-docs-end theme-colors
 
-// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)
-@include generate-theme-classes();
-
 // mdo-do: consider using muted, subtle, ghost or something instead of linear scale?
 $theme-bgs: (
   "body": light-dark(var(--white), var(--gray-975)),
index 6fcf8df229a7983935b948021df5a0be4e90a5e0..ba8d4eb4e0693d6274c2edb2f8f6ab6878eed992 100644 (file)
@@ -1,44 +1,41 @@
+@use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/border-radius" as *;
+@use "mixins/tokens" as *;
 
-// scss-docs-start toast-variables
-$toast-max-width:                   350px !default;
-$toast-padding-x:                   .75rem !default;
-$toast-padding-y:                   .5rem !default;
-$toast-font-size:                   .875rem !default;
-$toast-color:                       null !default;
-$toast-background-color:            rgba(var(--body-bg-rgb), .85) !default;
-$toast-border-width:                var(--border-width) !default;
-$toast-border-color:                var(--border-color-translucent) !default;
-$toast-border-radius:               var(--border-radius) !default;
-$toast-box-shadow:                  var(--box-shadow) !default;
-$toast-spacing:                     $container-padding-x !default;
+$toast-tokens: () !default;
 
-$toast-header-color:                var(--secondary-color) !default;
-$toast-header-background-color:     rgba(var(--body-bg-rgb), .85) !default;
-$toast-header-border-color:         $toast-border-color !default;
-// scss-docs-end toast-variables
+// scss-docs-start toast-tokens
+// stylelint-disable custom-property-no-missing-var-function
+// stylelint-disable-next-line scss/dollar-variable-default
+$toast-tokens: defaults(
+  (
+    --toast-zindex: #{$zindex-toast},
+    --toast-padding-x: .75rem,
+    --toast-padding-y: .5rem,
+    --toast-spacing: #{$container-padding-x},
+    --toast-max-width: 350px,
+    --toast-font-size: .875rem,
+    --toast-color: null,
+    --toast-bg: rgba(var(--body-bg-rgb), .85),
+    --toast-border-width: var(--border-width),
+    --toast-border-color: var(--border-color-translucent),
+    --toast-border-radius: var(--border-radius),
+    --toast-box-shadow: var(--box-shadow),
+    --toast-header-color: var(--fg-3),
+    --toast-header-bg: rgba(var(--body-bg-rgb), .85),
+    --toast-header-border-color: var(--border-color-translucent),
+  ),
+  $toast-tokens
+);
+// stylelint-enable custom-property-no-missing-var-function
+// scss-docs-end toast-tokens
 
 @layer components {
   .toast {
-    // scss-docs-start toast-css-vars
-    --toast-zindex: #{$zindex-toast};
-    --toast-padding-x: #{$toast-padding-x};
-    --toast-padding-y: #{$toast-padding-y};
-    --toast-spacing: #{$toast-spacing};
-    --toast-max-width: #{$toast-max-width};
-    --toast-font-size: #{$toast-font-size};
-    --toast-color: #{$toast-color};
-    --toast-bg: #{$toast-background-color};
-    --toast-border-width: #{$toast-border-width};
-    --toast-border-color: #{$toast-border-color};
-    --toast-border-radius: #{$toast-border-radius};
-    --toast-box-shadow: #{$toast-box-shadow};
-    --toast-header-color: #{$toast-header-color};
-    --toast-header-bg: #{$toast-header-background-color};
-    --toast-header-border-color: #{$toast-header-border-color};
-    // scss-docs-end toast-css-vars
+    @include tokens($toast-tokens);
 
     width: var(--toast-max-width);
     max-width: 100%;
index 414bef662fc42f9810d62fddc7cdcb3b76aa4eb8..ba6e034f08967644fef8bc8a7892b66dcc39a3bd 100644 (file)
@@ -1,49 +1,48 @@
+@use "sass:map";
 @use "config" as *;
+@use "functions" as *;
 @use "variables" as *;
 @use "mixins/border-radius" as *;
 @use "mixins/deprecate" as *;
 @use "mixins/reset-text" as *;
-
-// scss-docs-start tooltip-variables
-$tooltip-font-size:                 var(--font-size-sm) !default;
-$tooltip-max-width:                 200px !default;
-$tooltip-color:                     var(--bg-body) !default;
-$tooltip-bg:                        var(--fg-body) !default;
-$tooltip-border-radius:             var(--border-radius) !default;
-$tooltip-opacity:                   .95 !default;
-$tooltip-padding-y:                 $spacer * .375 !default;
-$tooltip-padding-x:                 $spacer * .75 !default;
-
-$tooltip-arrow-width:               .8rem !default;
-$tooltip-arrow-height:              .4rem !default;
-// scss-docs-end tooltip-variables
+@use "mixins/tokens" as *;
+
+
+$tooltip-tokens: () !default;
+
+// scss-docs-start tooltip-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$tooltip-tokens: defaults(
+  (
+    --tooltip-zindex: #{$zindex-tooltip},
+    --tooltip-max-width: 200px,
+    --tooltip-padding-x: #{$spacer * .75},
+    --tooltip-padding-y: #{$spacer * .375},
+    --tooltip-font-size: var(--font-size-sm),
+    --tooltip-color: var(--bg-body),
+    --tooltip-bg: var(--fg-body),
+    --tooltip-border-radius: var(--border-radius),
+    --tooltip-opacity: .95,
+    --tooltip-arrow-width: .8rem,
+    --tooltip-arrow-height: .4rem,
+  ),
+  $tooltip-tokens
+);
+// scss-docs-end tooltip-tokens
 
 // Form tooltips must come after regular tooltips
 // scss-docs-start tooltip-feedback-variables
-$form-feedback-tooltip-padding-y:     $tooltip-padding-y !default;
-$form-feedback-tooltip-padding-x:     $tooltip-padding-x !default;
-$form-feedback-tooltip-font-size:     $tooltip-font-size !default;
+$form-feedback-tooltip-padding-y:     var(--tooltip-padding-y) !default;
+$form-feedback-tooltip-padding-x:     var(--tooltip-padding-x) !default;
+$form-feedback-tooltip-font-size:     var(--tooltip-font-size) !default;
 $form-feedback-tooltip-line-height:   null !default;
-$form-feedback-tooltip-opacity:       $tooltip-opacity !default;
-$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;
+$form-feedback-tooltip-opacity:       var(--tooltip-opacity) !default;
+$form-feedback-tooltip-border-radius: var(--tooltip-border-radius) !default;
 // scss-docs-end tooltip-feedback-variables
 
-
 @layer components {
   .tooltip {
-    // scss-docs-start tooltip-css-vars
-    --tooltip-zindex: #{$zindex-tooltip};
-    --tooltip-max-width: #{$tooltip-max-width};
-    --tooltip-padding-x: #{$tooltip-padding-x};
-    --tooltip-padding-y: #{$tooltip-padding-y};
-    --tooltip-font-size: #{$tooltip-font-size};
-    --tooltip-color: #{$tooltip-color};
-    --tooltip-bg: #{$tooltip-bg};
-    --tooltip-border-radius: #{$tooltip-border-radius};
-    --tooltip-opacity: #{$tooltip-opacity};
-    --tooltip-arrow-width: #{$tooltip-arrow-width};
-    --tooltip-arrow-height: #{$tooltip-arrow-height};
-    // scss-docs-end tooltip-css-vars
+    @include tokens($tooltip-tokens);
 
     z-index: var(--tooltip-zindex);
     display: block;
index db2bfed732b337aa4490d178794f0f4c68158766..89954eb34395c4d59ac8e89bfef31c15667d835e 100644 (file)
@@ -1,4 +1,5 @@
 @use "sass:color";
+@use "sass:map";
 @use "sass:string";
 @use "colors" as *;
 @use "config" as *;
@@ -9,30 +10,6 @@
 // Variables should follow the `$component-state-property-size` formula for
 // consistent naming. Ex: $nav-link-disabled-color and $btn-padding-y-lg.
 
-// scss-docs-start theme-color-variables
-// $primary:       $blue-500 !default;
-// $secondary:     var(--gray-600) !default;
-// $success:       $green-500 !default;
-// $info:          $cyan-500 !default;
-// $warning:       $yellow-500 !default;
-// $danger:        $red-500 !default;
-// $light:         var(--gray-100) !default;
-// $dark:          var(--gray-900) !default;
-// scss-docs-end theme-color-variables
-
-// scss-docs-start theme-colors-map
-// $theme-colors: (
-//   "primary":    $primary,
-//   "secondary":  $secondary,
-//   "success":    $success,
-//   "info":       $info,
-//   "warning":    $warning,
-//   "danger":     $danger,
-//   "light":      $light,
-//   "dark":       $dark
-// ) !default;
-// scss-docs-end theme-colors-map
-
 // Characters which are escaped by the escape-svg function
 $escaped-characters: (
   ("<", "%3c"),
@@ -42,38 +19,6 @@ $escaped-characters: (
   (")", "%29"),
 ) !default;
 
-// // Options
-// //
-// // Quickly modify global styling by enabling or disabling optional features.
-
-// $enable-caret:                true !default;
-// $enable-rounded:              true !default;
-// $enable-shadows:              false !default;
-// $enable-gradients:            false !default;
-// $enable-transitions:          true !default;
-// $enable-reduced-motion:       true !default;
-// $enable-smooth-scroll:        true !default;
-// $enable-grid-classes:         true !default;
-// $enable-container-classes:    true !default;
-// $enable-cssgrid:              false !default;
-// $enable-button-pointers:      true !default;
-// $enable-rfs:                  true !default;
-// $enable-validation-icons:     true !default;
-// $enable-negative-margins:     false !default;
-// $enable-deprecation-messages: true !default;
-
-// $enable-dark-mode:            true !default;
-// $color-mode-type:             data !default; // `data` or `media-query`
-
-// // Prefix for :root CSS variables
-// :                      bs- !default;
-
-// $color-mode-type:          "media-query" !default;
-// $color-contrast-dark:      #000 !default;
-// $color-contrast-light:     #fff !default;
-// $min-contrast-ratio:         4.5 !default;
-
-
 // Gradient
 //
 // The gradient which is added to components if `$enable-gradients` is `true`
@@ -163,18 +108,8 @@ $border-widths: (
 ) !default;
 $border-style:                solid !default;
 $border-color:                color-mix(in oklch, var(--gray-100), var(--gray-200)) !default;
-$border-color-translucent:    color-mix(in oklch, var(--fg-body) 15%, transparent) !default;
 // scss-docs-end border-variables
 
-// scss-docs-start border-radius-variables
-$border-radius:               .5rem !default;
-$border-radius-sm:            .375rem !default;
-$border-radius-lg:            .75rem !default;
-$border-radius-xl:            1rem !default;
-$border-radius-2xl:           2rem !default;
-$border-radius-pill:          50rem !default;
-// scss-docs-end border-radius-variables
-
 // scss-docs-start box-shadow-variables
 $box-shadow:                  0 .5rem 1rem rgba($black, .15) !default;
 $box-shadow-sm:               0 .125rem .25rem rgba($black, .075) !default;
@@ -182,19 +117,9 @@ $box-shadow-lg:               0 1rem 3rem rgba($black, .175) !default;
 $box-shadow-inset:            inset 0 1px 2px rgba($black, .075) !default;
 // scss-docs-end box-shadow-variables
 
-// scss-docs-start focus-ring-variables
-$focus-ring-width:      .25rem !default;
-$focus-ring-opacity:    .25 !default;
-$focus-ring-color:      var(--primary-focus-ring) !default;
-$focus-ring-blur:       0 !default;
-$focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color !default;
-// scss-docs-end focus-ring-variables
-
-$component-active-color:      var(--primary-contrast) !default;
-$component-active-bg:         var(--primary-bg) !default;
-
 $transition-base:             all .2s ease-in-out !default;
 $transition-fade:             opacity .15s linear !default;
+
 // scss-docs-start collapse-transition
 $transition-collapse:         height .35s ease !default;
 $transition-collapse-width:   width .35s ease !default;
@@ -252,48 +177,53 @@ $h6-font-size: var(--font-size-sm) !default;
 // scss-docs-end font-variables
 
 // Font sizes with line-height for utilities
-$font-sizes: (
-  "xs": (
-    "font-size": var(--font-size-xs),
-    "line-height": var(--line-height-xs)
-  ),
-  "sm": (
-    "font-size": var(--font-size-sm),
-    "line-height": var(--line-height-sm)
-  ),
-  "md": (
-    "font-size": var(--font-size-md),
-    "line-height": var(--line-height-md)
-  ),
-  "lg": (
-    "font-size": var(--font-size-lg),
-    "line-height": var(--line-height-lg)
-  ),
-  "xl": (
-    "font-size": var(--font-size-xl),
-    "line-height": var(--line-height-xl)
+$font-sizes: () !default;
+// stylelint-disable-next-line scss/dollar-variable-default
+$font-sizes: defaults(
+  (
+    "xs": (
+      "font-size": var(--font-size-xs),
+      "line-height": var(--line-height-xs)
+    ),
+    "sm": (
+      "font-size": var(--font-size-sm),
+      "line-height": var(--line-height-sm)
+    ),
+    "md": (
+      "font-size": var(--font-size-md),
+      "line-height": var(--line-height-md)
+    ),
+    "lg": (
+      "font-size": var(--font-size-lg),
+      "line-height": var(--line-height-lg)
+    ),
+    "xl": (
+      "font-size": var(--font-size-xl),
+      "line-height": var(--line-height-xl)
+    ),
+    "2xl": (
+      "font-size": var(--font-size-2xl),
+      "line-height": var(--line-height-2xl)
+    ),
+    "3xl": (
+      "font-size": var(--font-size-3xl),
+      "line-height": var(--line-height-3xl)
+    ),
+    "4xl": (
+      "font-size": var(--font-size-4xl),
+      "line-height": var(--line-height-4xl)
+    ),
+    "5xl": (
+      "font-size": var(--font-size-5xl),
+      "line-height": var(--line-height-5xl)
+    ),
+    "6xl": (
+      "font-size": var(--font-size-6xl),
+      "line-height": var(--line-height-6xl)
+    ),
   ),
-  "2xl": (
-    "font-size": var(--font-size-2xl),
-    "line-height": var(--line-height-2xl)
-  ),
-  "3xl": (
-    "font-size": var(--font-size-3xl),
-    "line-height": var(--line-height-3xl)
-  ),
-  "4xl": (
-    "font-size": var(--font-size-4xl),
-    "line-height": var(--line-height-4xl)
-  ),
-  "5xl": (
-    "font-size": var(--font-size-5xl),
-    "line-height": var(--line-height-5xl)
-  ),
-  "6xl": (
-    "font-size": var(--font-size-6xl),
-    "line-height": var(--line-height-6xl)
-  ),
-) !default;
+  $font-sizes
+);
 
 // scss-docs-start headings-variables
 $headings-margin-bottom:      $spacer * .5 !default;
@@ -305,22 +235,6 @@ $headings-color:              inherit !default;
 // scss-docs-end headings-variables
 
 // scss-docs-start type-variables
-$small-font-size:             .875em !default;
-
-$sub-sup-font-size:           .75em !default;
-
-$initialism-font-size:        $small-font-size !default;
-
-$blockquote-margin-y:         $spacer !default;
-$blockquote-font-size:        $font-size-base * 1.25 !default;
-$blockquote-footer-color:     var(--gray-600) !default;
-$blockquote-footer-font-size: $small-font-size !default;
-
-$hr-margin-y:                 $spacer !default;
-
-// scss-docs-start vr-variables
-$vr-border-width:             var(--border-width) !default;
-// scss-docs-end vr-variables
 
 $legend-margin-bottom:        .5rem !default;
 $legend-font-size:            1.5rem !default;
@@ -328,11 +242,7 @@ $legend-font-weight:          null !default;
 
 $dt-font-weight:              $font-weight-bold !default;
 
-$list-inline-padding:         .5rem !default;
-
-$mark-padding:                .1875em !default;
-$mark-color:                  var(--fg-body) !default;
-$mark-bg:                     light-dark(var(--yellow-100), var(--yellow-900)) !default;
+// $list-inline-padding:         .5rem !default;
 // scss-docs-end type-variables
 
 // Z-index master list
@@ -361,68 +271,3 @@ $zindex-levels: (
   3: 3
 ) !default;
 // scss-docs-end zindex-levels-map
-
-
-// Offcanvas
-
-// scss-docs-start offcanvas-variables
-$offcanvas-padding-y:               $spacer !default;
-$offcanvas-padding-x:               $spacer !default;
-$offcanvas-horizontal-width:        400px !default;
-$offcanvas-vertical-height:         30vh !default;
-$offcanvas-transition-duration:     .3s !default;
-$offcanvas-border-color:            var(--border-color-translucent) !default;
-$offcanvas-border-width:            var(--border-width) !default;
-$offcanvas-title-line-height:       $line-height-base !default;
-$offcanvas-bg-color:                var(--bg-body) !default;
-$offcanvas-color:                   var(--fg-body) !default;
-$offcanvas-box-shadow:              var(--box-shadow-sm) !default;
-$offcanvas-backdrop-bg:             $black !default;
-$offcanvas-backdrop-opacity:        .5 !default;
-// scss-docs-end offcanvas-variables
-
-// Code
-
-$code-font-size:                    95% !default;
-$code-color:                        var(--secondary-text) !default;
-
-$kbd-padding-y:                     .1875rem !default;
-$kbd-padding-x:                     .375rem !default;
-$kbd-font-size:                     $code-font-size !default;
-$kbd-color:                         var(--bg-body) !default;
-$kbd-bg:                            var(--fg-body) !default;
-
-$pre-color:                         null !default;
-
-// Dark color mode variables
-//
-// Custom variables for the `[data-bs-theme="dark"]` theme. Use this as a starting point for your own custom color modes by creating a new theme-specific file like `_variables-dark.scss` and adding the variables you need.
-
-//
-// Global colors
-//
-
-// scss-docs-start sass-dark-mode-vars
-// $body-color-dark:                   var(--gray-200) !default;
-// $body-bg-dark:                      var(--gray-975) !default;
-// $body-secondary-color-dark:         rgba($body-color-dark, .75) !default;
-// $body-secondary-bg-dark:            var(--gray-800) !default;
-// $body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;
-// $body-tertiary-bg-dark:             color-mix(in srgb, var(--gray-800), var(--gray-900)) !default;
-$border-color-dark:                 var(--gray-700) !default;
-$headings-color-dark:               inherit !default;
-// $mark-color-dark:                   $body-color-dark !default;
-// $mark-bg-dark:                      var(--yellow-800) !default;
-
-
-//
-// Forms
-//
-
-// scss-docs-start form-validation-colors-dark
-$form-valid-color-dark:             var(--green-300) !default;
-$form-valid-border-color-dark:      var(--green-300) !default;
-$form-invalid-color-dark:           var(--red-300) !default;
-$form-invalid-border-color-dark:    var(--red-300) !default;
-// scss-docs-end form-validation-colors-dark
-// scss-docs-end sass-dark-mode-vars
index 441b6609b286dd4c2657a094b65ce5ec1c06693f..95ada9554ab55b14f92814ae4cb4e5640aab0bf5 100644 (file)
@@ -1,6 +1,8 @@
 @forward "banner";
 
 // scss-docs-start import-stack
+@forward "colors";
+
 // Global CSS variables, layer definitions, and configuration
 @forward "root";
 
index 4ed0a3457fa89c4c8306cbaf3c492a46d27ae5e8..ff988813309036a16436da02d6eb972268691cde 100644 (file)
@@ -2,7 +2,6 @@
 @use "../variables" as *;
 @use "../mixins/border-radius" as *;
 @use "../mixins/box-shadow" as *;
-@use "button-variables" as *;
 
 @layer components {
   // Make the div behave like a button
   }
 
   .btn-group {
-    @include border-radius($btn-border-radius);
+    @include border-radius(var(--btn-border-radius));
 
     // Prevent double borders when buttons are next to each other
     > [class*="btn-"]:not(:first-child),
     > .btn-group:not(:first-child) {
-      margin-inline-start: calc(-1 * #{$btn-border-width});
+      margin-inline-start: calc(-1 * var(--btn-border-width));
     }
 
     // Reset rounded corners
     }
   }
 
-  // Sizing
-  //
-  // Remix the default button sizing classes into new ones for easier manipulation.
-
-  // .btn-group-sm > [class*="btn-"] { @extend .btn-sm; }
-  // .btn-group-lg > [class*="btn-"] { @extend .btn-lg; }
-
-
   //
   // Split button dropdowns
   //
 
   .dropdown-toggle-split {
-    padding-inline: $btn-padding-x * .75;
+    padding-inline: calc(var(--btn-padding-x) * .75);
 
     &::after,
     .dropup &::after,
     }
   }
 
-  .btn-sm + .dropdown-toggle-split {
-    padding-inline: $btn-padding-x-sm * .75;
-  }
-
-  .btn-lg + .dropdown-toggle-split {
-    padding-inline: $btn-padding-x-lg * .75;
-  }
-
   //
   // Vertical button groups
   //
 
     > [class*="btn-"]:not(:first-child),
     > .btn-group:not(:first-child) {
-      margin-top: calc(-1 * #{$btn-border-width});
+      margin-top: calc(-1 * var(--btn-border-width));
     }
 
     // Reset rounded corners
diff --git a/scss/buttons/_button-variables.scss b/scss/buttons/_button-variables.scss
deleted file mode 100644 (file)
index 4ce60d1..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-@use "sass:color";
-@use "../config" as *;
-@use "../colors" as *;
-@use "../variables" as *;
-@use "../functions" as *;
-@use "../forms/form-variables" as *;
-
-// scss-docs-start btn-variables
-$btn-color:                   var(--fg-body) !default;
-$btn-padding-y:               .375rem !default;
-$btn-padding-x:               .75rem !default;
-$btn-font-size:               var(--font-size-base) !default;
-$btn-line-height:             var(--line-height-base) !default;
-$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping
-
-$btn-padding-y-xs:            .125rem !default;
-$btn-padding-x-xs:            .375rem !default;
-$btn-font-size-xs:            var(--font-size-xs) !default;
-$btn-line-height-xs:          1.125rem !default;
-
-$btn-padding-y-sm:            .25rem !default;
-$btn-padding-x-sm:            .5rem !default;
-$btn-font-size-sm:            var(--font-size-sm) !default;
-$btn-line-height-sm:          1.125rem !default;
-
-$btn-padding-y-lg:            .5rem !default;
-$btn-padding-x-lg:            1rem !default;
-$btn-font-size-lg:            var(--font-size-md) !default;
-$btn-line-height-lg:          1.25rem !default;
-
-// Intentionally left for folks who want it
-// $btn-padding-y-xl:            .75rem !default;
-// $btn-padding-x-xl:            1.25rem !default;
-// $btn-font-size-xl:            var(--font-size-lg) !default;
-// $btn-line-height-xl:          1.5rem !default;
-
-$btn-border-width:            var(--border-width) !default;
-
-$btn-font-weight:             var(--font-weight-normal) !default;
-$btn-disabled-opacity:        .65 !default;
-
-$btn-link-color:              var(--link-color) !default;
-$btn-link-hover-color:        var(--link-hover-color) !default;
-$btn-link-disabled-color:     var(--fg-3) !default;
-
-// Allows for customizing button radius independently from global border radius
-$btn-border-radius:           var(--border-radius) !default;
-$btn-border-radius-xs:        var(--border-radius-sm) !default;
-$btn-border-radius-sm:        var(--border-radius-sm) !default;
-$btn-border-radius-lg:        var(--border-radius-lg) !default;
-$btn-border-radius-xl:        var(--border-radius-lg) !default;
-
-$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;
-// scss-docs-end btn-variables
index d9eccc037a6ae518da025871239095471d57aa09..55b41bd890a81e788b51bc4720ecca837b60ab9c 100644 (file)
 @use "../mixins/box-shadow" as *;
 @use "../mixins/focus-ring" as *;
 @use "../mixins/gradients" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
-@use "button-variables" as *;
 
-// scss-docs-start btn-variants
-$button-variants: (
-  "solid": (
-    "base": (
-      "bg": "bg",
-      "color": "contrast",
-      "border-color": "bg"
-    ),
-    "hover": (
-      "bg": "bg",
-      "border-color": "bg",
-      "color": "contrast"
-    ),
-    "active": (
-      "bg": "bg",
-      "border-color": "bg",
-      "color": "contrast"
-    )
+// stylelint-disable custom-property-no-missing-var-function, scss/dollar-variable-default
+
+$button-tokens: () !default;
+
+// scss-docs-start btn-tokens
+$button-tokens: defaults(
+  (
+    --btn-min-height: var(--btn-input-min-height),
+    --btn-padding-x: var(--btn-input-padding-x),
+    --btn-padding-y: var(--btn-input-padding-y),
+    --btn-font-size: var(--btn-input-font-size),
+    --btn-font-weight: var(--btn-input-font-weight),
+    --btn-line-height: var(--btn-input-line-height),
+    --btn-color: var(--fg-body),
+    --btn-white-space: nowrap,
+    --btn-border-width: var(--border-width),
+    --btn-border-color: transparent,
+    --btn-border-radius: var(--border-radius),
+    --btn-hover-border-color: transparent,
+    --btn-disabled-opacity: .65,
+    --btn-transition-timing: .15s ease-in-out,
+    --btn-transition-property: "color, background-color, border-color, box-shadow",
+    --btn-transition: var(--btn-transition-property) var(--btn-transition-timing),
   ),
-  "outline": (
-    "base": (
-      "bg": "transparent",
-      "color": "text",
-      "border-color": "border"
-    ),
-    "hover": (
-      "bg": "bg",
-      "color": "contrast",
-      "border-color": "bg"
-    ),
-    "active": (
-      "bg": "bg",
-      "color": "contrast",
-      "border-color": "bg"
-    )
+  $button-tokens
+);
+// scss-docs-end btn-tokens
+
+$button-link-tokens: () !default;
+
+// scss-docs-start button-link-tokens
+$button-link-tokens: defaults(
+  (
+    --btn-font-weight: var(--font-weight-normal),
+    --btn-color: var(--link-color),
+    --btn-bg: transparent,
+    --btn-border-color: transparent,
+    --btn-hover-color: var(--link-hover-color),
+    --btn-hover-bg: transparent,
+    --btn-hover-border-color: transparent,
+    --btn-active-color: var(--link-hover-color),
+    --btn-active-bg: transparent,
+    --btn-active-border-color: transparent,
+    --btn-disabled-color: var(--fg-3),
+    --btn-disabled-border-color: transparent,
   ),
-  "subtle": (
-    "base": (
-      "bg": "bg-subtle",
-      "color": "text",
-      "border-color": "transparent"
-    ),
-    "hover": (
-      "bg": ("bg-muted", "bg-subtle"),
-      "color": "text-emphasis"
-    ),
-    "active": (
-      "bg": "bg-subtle",
-      "color": "text-emphasis"
-    )
+  $button-link-tokens
+);
+// scss-docs-end button-link-tokens
+
+$button-styled-tokens: () !default;
+
+// scss-docs-start button-styled-tokens
+$button-styled-tokens: defaults(
+  (
+    --btn-gradient-start: rgb(255 255 255 / 12.5%),
+    --btn-gradient-end: rgb(0 0 0 / 7.5%) ,
+    --btn-border-mix-color: #000,
+    --btn-border-mix-amount: 10%,
+    --btn-border-hover-mix-amount: 12.5%,
+    --btn-border-active-mix-amount: 20%,
+    --btn-shadow: "0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%)",
+    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15) ,
   ),
-  "text": (
-    "base": (
-      "color": "text",
-      "bg": "transparent",
-      "border-color": "transparent"
+  $button-styled-tokens
+);
+// scss-docs-end button-styled-tokens
+
+// scss-docs-start button-sizes
+$button-sizes: () !default;
+$button-sizes: defaults(
+  ("xs", "sm", "lg"),
+  $button-sizes
+);
+// scss-docs-end button-sizes
+
+$button-variants: () !default;
+
+// scss-docs-start btn-variants
+$button-variants: defaults(
+  (
+    "solid": (
+      "base": (
+        "bg": "bg",
+        "color": "contrast",
+        "border-color": "bg"
+      ),
+      "hover": (
+        "bg": "bg",
+        "border-color": "bg",
+        "color": "contrast"
+      ),
+      "active": (
+        "bg": "bg",
+        "border-color": "bg",
+        "color": "contrast"
+      )
+    ),
+    "outline": (
+      "base": (
+        "bg": "transparent",
+        "color": "text",
+        "border-color": "border"
+      ),
+      "hover": (
+        "bg": "bg",
+        "color": "contrast",
+        "border-color": "bg"
+      ),
+      "active": (
+        "bg": "bg",
+        "color": "contrast",
+        "border-color": "bg"
+      )
     ),
-    "hover": (
-      "color": "text",
-      "bg": "bg-subtle"
+    "subtle": (
+      "base": (
+        "bg": "bg-subtle",
+        "color": "text",
+        "border-color": "transparent"
+      ),
+      "hover": (
+        "bg": ("bg-muted", "bg-subtle"),
+        "color": "text-emphasis"
+      ),
+      "active": (
+        "bg": "bg-subtle",
+        "color": "text-emphasis"
+      )
     ),
-    "active": (
-      "color": "text",
-      "bg": "bg-subtle"
+    "text": (
+      "base": (
+        "color": "text",
+        "bg": "transparent",
+        "border-color": "transparent"
+      ),
+      "hover": (
+        "color": "text",
+        "bg": "bg-subtle"
+      ),
+      "active": (
+        "color": "text",
+        "bg": "bg-subtle"
+      )
     )
-  )
-) !default;
+  ),
+  $button-variants
+);
 // scss-docs-end btn-variants
+// stylelint-enable custom-property-no-missing-var-function, scss/dollar-variable-default
 
-// scss-docs-start btn-sizes
-$button-sizes: (
-  "xs": (
-    "padding-y": $btn-padding-y-xs,
-    "padding-x": $btn-padding-x-xs,
-    "font-size": $btn-font-size-xs,
-    "line-height": $btn-line-height-xs,
-    "border-radius": $btn-border-radius-xs,
-    "min-height": 1.5rem
-  ),
-  "sm": (
-    "padding-y": $btn-padding-y-sm,
-    "padding-x": $btn-padding-x-sm,
-    "font-size": $btn-font-size-sm,
-    "line-height": $btn-line-height-sm,
-    "border-radius": $btn-border-radius-sm,
-    "min-height": 2rem
-  ),
-  "lg": (
-    "padding-y": $btn-padding-y-lg,
-    "padding-x": $btn-padding-x-lg,
-    "font-size": $btn-font-size-lg,
-    "line-height": $btn-line-height-lg,
-    "border-radius": $btn-border-radius-lg,
-    "min-height": 2.75rem
-  ),
-  // Commented out by default on purpose
-  // "xl": (
-  //   "padding-y": $btn-padding-y-xl,
-  //   "padding-x": $btn-padding-x-xl,
-  //   "font-size": $btn-font-size-xl,
-  //   "line-height": $btn-line-height-xl,
-  //   "border-radius": $btn-border-radius-xl,
-  //   "min-height": 3.25rem
-  // ),
-) !default;
-// scss-docs-end btn-sizes
 
 //
 // Base styles
 //
 
 $btn-variant-selectors: () !default;
-@each $variant in map.keys($button-variants) {
+@each $variant, $config in $button-variants {
   $btn-variant-selectors: list.append($btn-variant-selectors, string.unquote(".btn-#{$variant}"), comma);
 }
 
 @layer components {
   .btn,
   #{$btn-variant-selectors} {
-    // scss-docs-start btn-css-vars
-    --btn-min-height: 2.25rem;
-    --btn-padding-x: #{$btn-padding-x};
-    --btn-padding-y: #{$btn-padding-y};
-    // --btn-font-family: #{$btn-font-family};
-    --btn-font-size: #{$btn-font-size};
-    --btn-font-weight: #{$btn-font-weight};
-    --btn-line-height: #{$btn-line-height};
-    --btn-color: #{$btn-color};
-    --btn-border-width: #{$btn-border-width};
-    --btn-border-color: transparent;
-    --btn-border-radius: #{$btn-border-radius};
-    --btn-hover-border-color: transparent;
-    --btn-disabled-opacity: #{$btn-disabled-opacity};
-    // scss-docs-end btn-css-vars
+    @include tokens($button-tokens);
 
     display: inline-flex;
     gap: var(--btn-gap, .25rem);
@@ -162,7 +193,7 @@ $btn-variant-selectors: () !default;
     line-height: var(--btn-line-height);
     color: var(--btn-color);
     text-decoration: none;
-    white-space: $btn-white-space;
+    white-space: var(--btn-white-space);
     vertical-align: middle;
     // stylelint-disable-next-line scss/at-function-named-arguments
     cursor: if(sass($enable-button-pointers): pointer; else: null);
@@ -170,7 +201,7 @@ $btn-variant-selectors: () !default;
     background-color: var(--btn-bg, var(--bg-2));
     border: var(--btn-border-width) solid var(--btn-border-color);
     @include border-radius(var(--btn-border-radius));
-    @include transition($btn-transition);
+    @include transition(var(--btn-transition));
 
     &:hover {
       color: var(--btn-hover-color);
@@ -211,7 +242,7 @@ $btn-variant-selectors: () !default;
   // Main button style generator mixin
   // Generate button variant classes (e.g., .btn-solid, .btn-outline, etc.)
   // scss-docs-start btn-variant-mixin
-  @each $variant, $_ in $button-variants {
+  @each $variant, $config in $button-variants {
     .btn-#{$variant} {
       @each $property, $value in map.get($button-variants, $variant, "base") {
         @if $value == "transparent" {
@@ -295,18 +326,7 @@ $btn-variant-selectors: () !default;
 
   // Make a button look and behave like a link
   .btn-link {
-    --btn-font-weight: #{$font-weight-normal};
-    --btn-color: #{$btn-link-color};
-    --btn-bg: transparent;
-    --btn-border-color: transparent;
-    --btn-hover-color: #{$btn-link-hover-color};
-    --btn-hover-bg: transparent;
-    --btn-hover-border-color: transparent;
-    --btn-active-color: #{$btn-link-hover-color};
-    --btn-active-bg: transparent;
-    --btn-active-border-color: transparent;
-    --btn-disabled-color: #{$btn-link-disabled-color};
-    --btn-disabled-border-color: transparent;
+    @include tokens($button-link-tokens);
 
     color: var(--theme-text, var(--btn-color));
     text-decoration: var(--link-decoration);
@@ -333,17 +353,20 @@ $btn-variant-selectors: () !default;
 
   // Generate button size classes from the $button-sizes map
   // Skip "md" as it's the default size for .btn
-  @each $size, $properties in $button-sizes {
+
+  // scss-docs-start btn-sizes-loop
+  @each $size, $_ in $button-sizes {
     .btn-#{$size},
     .btn-group-#{$size} > [class*="btn-"] {
-      --btn-min-height: #{map.get($properties, "min-height")};
-      --btn-padding-y: #{map.get($properties, "padding-y")};
-      --btn-padding-x: #{map.get($properties, "padding-x")};
-      --btn-font-size: #{map.get($properties, "font-size")};
-      --btn-line-height: #{map.get($properties, "line-height")};
-      --btn-border-radius: #{map.get($properties, "border-radius")};
+      --btn-min-height: var(--btn-input-#{$size}-min-height);
+      --btn-padding-y: var(--btn-input-#{$size}-padding-y);
+      --btn-padding-x: var(--btn-input-#{$size}-padding-x);
+      --btn-font-size: var(--btn-input-#{$size}-font-size);
+      --btn-line-height: var(--btn-input-#{$size}-line-height);
+      --btn-border-radius: var(--btn-input-#{$size}-border-radius);
     }
   }
+  // scss-docs-end btn-sizes-loop
 
   .btn-icon {
     align-items: center;
@@ -399,14 +422,7 @@ $btn-variant-selectors: () !default;
   // Add visual depth with gradients and shadows. Customize via CSS variables.
 
   .btn-styled {
-    --btn-gradient-start: rgb(255 255 255 / 12.5%);
-    --btn-gradient-end: rgb(0 0 0 / 7.5%);
-    --btn-border-mix-color: #000;
-    --btn-border-mix-amount: 10%;
-    --btn-border-hover-mix-amount: 12.5%;
-    --btn-border-active-mix-amount: 20%;
-    --btn-shadow: 0 1px 2px rgb(0 0 0 / 15%), inset 0 1px 0 rgb(255 255 255 / 10%);
-    --btn-active-shadow: inset 0 2px 4px rgba(0, 0, 0, .15);
+    @include tokens($button-styled-tokens);
 
     background-image:
       linear-gradient(
index d44ef8edf0878c89f1d5cafd4e2c3629a1682b04..25bbd5b728efc5d563ac4bb2cb7ee6e2b2fd5afc 100644 (file)
@@ -1,41 +1,44 @@
+@use "sass:map";
 @use "../config" as *;
 @use "../colors" as *;
 @use "../variables" as *;
+@use "../functions" as *;
 @use "../mixins/border-radius" as *;
 @use "../mixins/color-mode" as *;
 @use "../mixins/focus-ring" as *;
+@use "../mixins/tokens" as *;
 
-// scss-docs-start close-variables
-$btn-close-size:             1.25rem !default;
-$btn-close-color:            var(--fg-body) !default;
-$btn-close-opacity:          .5 !default;
-$btn-close-hover-opacity:    .75 !default;
-$btn-close-focus-opacity:    .85 !default;
-$btn-close-disabled-opacity: .25 !default;
-// scss-docs-end close-variables
+$btn-close-tokens: () !default;
+
+// scss-docs-start btn-close-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$btn-close-tokens: defaults(
+  (
+    --btn-close-size: 1.25rem,
+    --btn-close-color: var(--fg-body),
+    --btn-close-opacity: .5,
+    --btn-close-hover-opacity: .75,
+    --btn-close-focus-opacity: .85,
+    --btn-close-disabled-opacity: .25,
+  ),
+  $btn-close-tokens
+);
+// scss-docs-end btn-close-tokens
 
-// Transparent background and border properties included for button version.
 // iOS requires the button element instead of an anchor tag.
 // If you want the anchor version, it requires `href="#"`.
 // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
 
 @layer components {
   .btn-close {
-    // scss-docs-start close-css-vars
-    --btn-close-size: #{$btn-close-size};
-    --btn-close-color: #{$btn-close-color};
-    --btn-close-opacity: #{$btn-close-opacity};
-    --btn-close-hover-opacity: #{$btn-close-hover-opacity};
-    --btn-close-focus-opacity: #{$btn-close-focus-opacity};
-    --btn-close-disabled-opacity: #{$btn-close-disabled-opacity};
-    // scss-docs-end close-css-vars
+    @include tokens($btn-close-tokens);
 
     box-sizing: content-box;
     width: var(--btn-close-size);
     height: var(--btn-close-size);
     padding: 0;
     color: var(--btn-close-color);
-    background: transparent;
+    background: transparent; // for button elements
     border: 0; // for button elements
     @include border-radius(var(--border-radius-sm));
     opacity: var(--btn-close-opacity);
@@ -54,9 +57,9 @@ $btn-close-disabled-opacity: .25 !default;
       opacity: var(--btn-close-hover-opacity);
     }
 
-    &:focus {
-      @include focus-ring();
+    &:focus-visible {
       opacity: var(--btn-close-focus-opacity);
+      @include focus-ring();
     }
 
     &:disabled,
index 9ede0f2a6e1ce3d20227f434795738f9ea75430d..0122a4efeadf213969b53387fac0d1c8a0372be5 100644 (file)
@@ -1,4 +1,3 @@
-@forward "button-variables";
 @forward "button";
 @forward "button-group";
 @forward "close";
index c5b4b206aeedb64ab2511298ca8b3533a8525758..31dec660c7feeca7a66f82e54029a444204065e7 100644 (file)
@@ -1,22 +1,42 @@
+@use "sass:map";
 @use "../config" as *;
+@use "../functions" as *;
 @use "../variables" as *;
 @use "../mixins/image" as *;
 @use "../mixins/border-radius" as *;
 @use "../mixins/box-shadow" as *;
+@use "../mixins/tokens" as *;
 
-// scss-docs-start thumbnail-variables
-$thumbnail-padding:                 .25rem !default;
-$thumbnail-bg:                      var(--bg-body) !default;
-$thumbnail-border-width:            var(--border-width) !default;
-$thumbnail-border-color:            var(--border-color) !default;
-$thumbnail-border-radius:           var(--border-radius) !default;
-$thumbnail-box-shadow:              var(--box-shadow-sm) !default;
-// scss-docs-end thumbnail-variables
+$thumbnail-tokens: () !default;
 
-// scss-docs-start figure-variables
-$figure-caption-font-size:          $small-font-size !default;
-$figure-caption-color:              var(--secondary-color) !default;
-// scss-docs-end figure-variables
+// scss-docs-start thumbnail-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$thumbnail-tokens: defaults(
+  (
+    --thumbnail-padding: .25rem,
+    --thumbnail-bg: var(--bg-body),
+    --thumbnail-border-width: var(--border-width),
+    --thumbnail-border-color: var(--border-color),
+    --thumbnail-border-radius: var(--border-radius),
+    --thumbnail-box-shadow: var(--box-shadow-sm),
+  ),
+  $thumbnail-tokens
+);
+// scss-docs-end thumbnail-tokens
+
+$figure-tokens: () !default;
+
+// scss-docs-start figure-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$figure-tokens: defaults(
+  (
+    --figure-gap: calc(var(--spacer) * .5),
+    --figure-caption-font-size: var(--font-size-sm),
+    --figure-caption-color: var(--fg-3),
+  ),
+  $figure-tokens
+);
+// scss-docs-end figure-tokens
 
 @layer content {
   // Responsive images (ensure images don't scale beyond their parents)
@@ -30,35 +50,28 @@ $figure-caption-color:              var(--secondary-color) !default;
     @include img-fluid();
   }
 
-
-  // Image thumbnails
   .img-thumbnail {
-    padding: $thumbnail-padding;
-    background-color: $thumbnail-bg;
-    border: $thumbnail-border-width solid $thumbnail-border-color;
-    @include border-radius($thumbnail-border-radius);
-    @include box-shadow($thumbnail-box-shadow);
+    @include tokens($thumbnail-tokens);
+    padding: var(--thumbnail-padding);
+    background-color: var(--thumbnail-bg);
+    border: var(--thumbnail-border-width) solid var(--thumbnail-border-color);
+    @include border-radius(var(--thumbnail-border-radius));
+    @include box-shadow(var(--thumbnail-box-shadow));
 
     // Keep them at most 100% wide
     @include img-fluid();
   }
 
-  //
-  // Figures
-  //
-
   .figure {
+    @include tokens($figure-tokens);
     // Ensures the caption's text aligns with the image.
-    display: inline-block;
-  }
-
-  .figure-img {
-    margin-bottom: $spacer * .5;
-    line-height: 1;
+    display: flex;
+    flex-direction: column;
+    gap: var(--figure-gap);
   }
 
   .figure-caption {
-    font-size: $figure-caption-font-size;
-    color: $figure-caption-color;
+    font-size: var(--figure-caption-font-size);
+    color: var(--figure-caption-color);
   }
 }
index 8ca26aafc15183d6b2b8932cadc664b467695554..4e42dc8617d24dc62ad29954e0d76f37af9fcd95 100644 (file)
@@ -1,12 +1,28 @@
+@use "sass:map";
 @use "../config" as *;
+@use "../functions" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
 
+// stylelint-disable custom-property-no-missing-var-function
+$prose-tokens: () !default;
+
+// scss-docs-start prose-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$prose-tokens: defaults(
+  (
+    --content-font-size: var(--font-size-sm),
+    --content-gap: 20px,
+    --heading-color: light-dark(var(--gray-900), var(--white)),
+  ),
+  $prose-tokens
+);
+// scss-docs-end prose-tokens
+// stylelint-enable custom-property-no-missing-var-function
+
 @layer content {
   .prose {
-    --content-font-size: var(--font-size-sm);
-    --content-gap: 20px;
-    --heading-color: light-dark(var(--gray-900), var(--white));
-
+    @include tokens($prose-tokens);
     position: relative;
     display: flex;
     flex-direction: column;
     }
 
     :where(h1, h2):not(:first-child):not(:where(.not-prose, .not-prose *)) {
-      margin-top: calc(var(--content-gap) * 1.5);
+      margin-top: calc(var(--content-gap) * .75);
     }
 
     :where(h3, h4, h5, h6):not(:first-child):not(:where(.not-prose, .not-prose *)) {
-      margin-top: calc(var(--content-gap) * 1.25);
+      margin-top: calc(var(--content-gap) * .5);
     }
 
     :where(h1):not(:where(.not-prose, .not-prose *)) {
index 53a93d287e245a264deaab06310dd90c096e49ba..db29fec421abd4c482f64871f14e62c33eba70ff 100644 (file)
@@ -1,10 +1,44 @@
+@use "sass:map";
 @use "../colors" as *;
 @use "../config" as *;
+@use "../functions" as *;
 @use "../variables" as *;
 @use "../mixins/border-radius" as *;
+@use "../mixins/tokens" as *;
 
 // stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
 
+$reboot-kbd-tokens: () !default;
+
+// scss-docs-start reboot-kbd-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$reboot-kbd-tokens: defaults(
+  (
+    --kbd-padding-y: .125rem,
+    --kbd-padding-x: .25rem,
+    --kbd-font-size: var(--font-size-xs),
+    --kbd-color: var(--bg-body),
+    --kbd-bg: var(--fg-2),
+    --kbd-border-radius: var(--border-radius-sm),
+  ),
+  $reboot-kbd-tokens
+);
+// scss-docs-end reboot-kbd-tokens
+
+$reboot-mark-tokens: () !default;
+
+// scss-docs-start reboot-mark-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$reboot-mark-tokens: defaults(
+  (
+    --mark-padding: .1875em,
+    --mark-color: var(--fg-body),
+    --mark-bg: light-dark(var(--yellow-100), var(--yellow-900)),
+  ),
+  $reboot-mark-tokens
+);
+// scss-docs-end reboot-mark-tokens
+
 @layer reboot {
   // Reboot
   //
   // scss-docs-end reboot-body-rules
 
   hr {
-    margin: $hr-margin-y 0;
+    margin: var(--hr-margin-y, var(--spacer)) 0;
     border: 0;
     border-block-start: var(--border-width) solid var(--hr-border-color);
   }
 
   blockquote {
     margin: 0 0 1rem;
+    > * {
+      margin-block: 0;
+    }
   }
 
 
 
   small,
   .small {
-    font-size: $small-font-size;
+    font-size: var(--small-font-size, var(--font-size-sm));
   }
 
 
 
   mark,
   .mark {
-    padding: $mark-padding;
-    color: var(--highlight-color);
-    background-color: var(--highlight-bg);
+    @include tokens($reboot-mark-tokens);
+    padding: var(--mark-padding);
+    color: var(--mark-color);
+    background-color: var(--mark-bg);
   }
 
 
   sub,
   sup {
     position: relative;
-    font-size: $sub-sup-font-size;
+    font-size: var(--sub-sup-font-size, .75em);
     line-height: 0;
     vertical-align: baseline;
   }
     margin-top: 0; // 1
     margin-bottom: 1rem; // 2
     overflow: auto; // 3
-    font-size: $code-font-size;
-    color: $pre-color;
+    font-size: var(--code-font-size);
+    color: var(--code-color, inherit);
 
     // Account for some code outputs that place code tags in pre tags
     code {
   }
 
   code {
-    font-size: $code-font-size;
+    font-size: var(--code-font-size);
     color: var(--code-color);
     word-wrap: break-word;
 
   }
 
   kbd {
-    padding: $kbd-padding-y $kbd-padding-x;
-    font-size: $kbd-font-size;
-    color: $kbd-color;
-    background-color: $kbd-bg;
-    @include border-radius($border-radius-sm);
+    @include tokens($reboot-kbd-tokens);
+    padding: var(--kbd-padding-y) var(--kbd-padding-x);
+    font-size: var(--kbd-font-size);
+    color: var(--kbd-color);
+    background-color: var(--kbd-bg);
+    @include border-radius(var(--kbd-border-radius));
 
     kbd {
       padding: 0;
     // padding-bottom: $table-cell-padding-y;
     // color: $table-caption-color;
     padding-block: .5rem;
-    color: var(--secondary-color);
+    color: var(--fg-3);
     text-align: start;
   }
 
index 5a97e67e9b04bfa313381e8a6faa8767942df48c..0121d40dbc8aa70409ef4a4066f8555e5be6a157 100644 (file)
@@ -1,58 +1,55 @@
 @use "sass:color";
 @use "sass:map";
-@use "sass:math";
 @use "../config" as *;
 @use "../colors" as *;
 @use "../theme" as *;
 @use "../variables" as *;
 @use "../functions" as *;
 @use "../layout/breakpoints" as *;
-
-// scss-docs-start table-variables
-$table-cell-padding-y:        .5rem !default;
-$table-cell-padding-x:        .5rem !default;
-$table-cell-padding-y-sm:     .25rem !default;
-$table-cell-padding-x-sm:     .25rem !default;
-
-$table-cell-vertical-align:   top !default;
-
-$table-color:                 var(--fg-body) !default;
-$table-bg:                    var(--bg-body) !default;
-$table-accent-bg:             transparent !default;
-
-// $table-th-font-weight:        null !default;
-
-$table-striped-color:         $table-color !default;
-$table-striped-bg-factor:     .05 !default;
-$table-striped-bg:            color-mix(in srgb, var(--table-color) #{math.percentage($table-striped-bg-factor)}, transparent) !default;
-
-$table-active-color:          $table-color !default;
-$table-active-bg-factor:      .1 !default;
-$table-active-bg:             color-mix(in srgb, var(--table-color) #{math.percentage($table-active-bg-factor)}, transparent) !default;
-
-$table-hover-color:           $table-color !default;
-$table-hover-bg-factor:       .075 !default;
-$table-hover-bg:              color-mix(in srgb, var(--table-color) #{math.percentage($table-hover-bg-factor)}, transparent) !default;
-
-$table-border-width:          var(--border-width) !default;
-$table-border-color:          var(--border-color) !default;
-
-$table-striped-order:         odd !default;
+@use "../mixins/tokens" as *;
+
+// stylelint-disable custom-property-no-missing-var-function
+$table-tokens: () !default;
+
+// scss-docs-start table-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$table-tokens: defaults(
+  (
+    --table-cell-padding-y: .5rem,
+    --table-cell-padding-x: .5rem,
+    --table-cell-vertical-align: top,
+    --table-color: var(--fg-body),
+    --table-bg: var(--bg-body),
+    --table-accent-bg: transparent,
+    --table-border-width: var(--border-width),
+    --table-border-color: var(--border-color),
+    --table-group-separator-color: currentcolor,
+    --table-striped-color: var(--table-color),
+    --table-striped-bg-factor: .05,
+    --table-striped-bg: color-mix(in srgb, var(--table-color) var(--table-striped-bg-factor), transparent),
+    --table-active-color: var(--table-color),
+    --table-active-bg-factor: .1,
+    --table-active-bg: color-mix(in srgb, var(--table-color) var(--table-active-bg-factor), transparent),
+    --table-hover-color: var(--table-color),
+    --table-hover-bg-factor: .075,
+    --table-hover-bg: color-mix(in srgb, var(--table-color) var(--table-hover-bg-factor), transparent),
+  ),
+  $table-tokens
+);
+// scss-docs-end table-tokens
+// stylelint-enable custom-property-no-missing-var-function
+
+$table-striped-order: odd !default;
 $table-striped-columns-order: even !default;
 
-$table-group-separator-color: currentcolor !default;
-
-// $table-caption-color:         var(--secondary-color) !default;
-
-// scss-docs-end table-variables
-
-
 //
 // Basic Bootstrap table
 //
 
 @layer content {
   .table {
+    @include tokens($table-tokens);
+
     // Reset needed for nesting tables
     --table-color-type: initial;
     --table-bg-type: initial;
@@ -60,22 +57,9 @@ $table-group-separator-color: currentcolor !default;
     --table-bg-state: initial;
     // End of reset
 
-    // scss-docs-start table-css-variables
-    --table-color: #{$table-color};
-    --table-bg: #{$table-bg};
-    --table-border-color: #{$table-border-color};
-    --table-accent-bg: #{$table-accent-bg};
-    --table-striped-color: #{$table-striped-color};
-    --table-striped-bg: #{$table-striped-bg};
-    --table-active-color: #{$table-active-color};
-    --table-active-bg: #{$table-active-bg};
-    --table-hover-color: #{$table-hover-color};
-    --table-hover-bg: #{$table-hover-bg};
-    // scss-docs-end table-css-variables
-
     width: 100%;
     margin-bottom: $spacer;
-    vertical-align: $table-cell-vertical-align;
+    vertical-align: var(--table-cell-vertical-align);
     border-color: var(--theme-border, var(--table-border-color));
 
     // Target th & td
@@ -84,11 +68,11 @@ $table-group-separator-color: currentcolor !default;
     // Another advantage is that this generates less code and makes the selector less specific making it easier to override.
     // stylelint-disable-next-line selector-max-universal
     > :not(caption) > * > * {
-      padding: $table-cell-padding-y $table-cell-padding-x;
+      padding: var(--table-cell-padding-y) var(--table-cell-padding-x);
       // Following the precept of cascades: https://codepen.io/miriamsuzanne/full/vYNgodb
       color: var(--table-color-state, var(--table-color-type, var(--theme-text, var(--table-color))));
       background-color: var(--theme-bg-subtle, var(--table-bg));
-      border-block-end-width: $table-border-width;
+      border-block-end-width: var(--table-border-width);
       box-shadow: inset 0 0 0 9999px var(--table-bg-state, var(--table-bg-type, var(--theme-bg-subtle, var(--table-accent-bg))));
     }
 
@@ -102,7 +86,7 @@ $table-group-separator-color: currentcolor !default;
   }
 
   .table-group-divider {
-    border-block-start: calc(#{$table-border-width} * 2) solid $table-group-separator-color;
+    border-block-start: calc(var(--table-border-width) * 2) solid var(--table-group-separator-color);
   }
 
   //
@@ -121,7 +105,8 @@ $table-group-separator-color: currentcolor !default;
   .table-sm {
     // stylelint-disable-next-line selector-max-universal
     > :not(caption) > * > * {
-      padding: $table-cell-padding-y-sm $table-cell-padding-x-sm;
+      --table-cell-padding-y: .25rem;
+      --table-cell-padding-x: .25rem;
     }
   }
 
@@ -137,11 +122,11 @@ $table-group-separator-color: currentcolor !default;
 
   .table-bordered {
     > :not(caption) > * {
-      border-width: $table-border-width 0;
+      border-width: var(--table-border-width) 0;
 
       // stylelint-disable-next-line selector-max-universal
       > * {
-        border-width: 0 $table-border-width;
+        border-width: 0 var(--table-border-width);
       }
     }
   }
@@ -165,7 +150,7 @@ $table-group-separator-color: currentcolor !default;
   .table-striped {
     > tbody > tr:nth-of-type(#{$table-striped-order}) > * {
       --table-color-type: var(--theme-text, var(--table-striped-color));
-      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);
+      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);
     }
   }
 
@@ -173,7 +158,7 @@ $table-group-separator-color: currentcolor !default;
   .table-striped-columns {
     > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {
       --table-color-type: var(--theme-text, var(--table-striped-color));
-      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-striped-bg-factor)}, transparent);
+      --table-bg-type: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-striped-bg-factor), transparent);
     }
   }
 
@@ -183,7 +168,7 @@ $table-group-separator-color: currentcolor !default;
 
   .table-active {
     --table-color-state: var(--theme-text, var(--table-active-color));
-    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-active-bg-factor)}, transparent);
+    --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-active-bg-factor), transparent);
   }
 
   // Hover effect
@@ -193,7 +178,7 @@ $table-group-separator-color: currentcolor !default;
   .table-hover {
     > tbody > tr:hover > * {
       --table-color-state: var(--theme-text, var(--table-hover-color));
-      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) #{math.percentage($table-hover-bg-factor)}, transparent);
+      --table-bg-state: color-mix(in srgb, var(--theme-text, var(--table-color)) var(--table-hover-bg-factor), transparent);
     }
   }
 
index 15f67f8138905a4b1617e72889f55892b193d635..e22a5518fb642e336c2d6b2b58f85a4d0c00e52e 100644 (file)
@@ -1,6 +1,25 @@
+@use "sass:map";
 @use "../config" as *;
+@use "../functions" as *;
 @use "../variables" as *;
 @use "../mixins/lists" as *;
+@use "../mixins/tokens" as *;
+
+$blockquote-tokens: () !default;
+
+// scss-docs-start blockquote-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$blockquote-tokens: defaults(
+  (
+    --blockquote-gap: calc(var(--spacer) / 2),
+    --blockquote-margin-y: 1rem,
+    --blockquote-font-size: var(--font-size-md),
+    --blockquote-footer-font-size: var(--font-size-sm),
+    --blockquote-footer-color: var(--fg-3),
+  ),
+  $blockquote-tokens
+);
+// scss-docs-end blockquote-tokens
 
 @layer content {
   //
@@ -19,7 +38,7 @@
     display: inline-block;
 
     &:not(:last-child) {
-      margin-inline-end: $list-inline-padding;
+      margin-inline-end: var(--list-inline-padding, var(--spacer) / 2);
     }
   }
 
 
   // Builds on `abbr`
   .initialism {
-    font-size: $initialism-font-size;
+    font-size: var(--initialism-font-size, var(--font-size-xs));
     text-transform: uppercase;
   }
 
   // Blockquotes
   .blockquote {
-    margin-bottom: $blockquote-margin-y;
-    font-size: $blockquote-font-size;
+    @include tokens($blockquote-tokens);
+    display: flex;
+    flex-direction: column;
+    gap: var(--blockquote-gap);
+    margin-bottom: var(--blockquote-margin-y);
+    font-size: var(--blockquote-font-size);
+
+    > * {
+      margin-bottom: 0;
+    }
+  }
 
-    > :last-child {
+  // stylelint-disable-next-line selector-no-qualifying-type
+  figure.blockquote {
+    blockquote {
       margin-bottom: 0;
     }
   }
 
   .blockquote-footer {
-    margin-top: -$blockquote-margin-y;
-    margin-bottom: $blockquote-margin-y;
-    font-size: $blockquote-footer-font-size;
-    color: $blockquote-footer-color;
+    font-size: var(--blockquote-footer-font-size);
+    color: var(--blockquote-footer-color);
 
     &::before {
       content: "\2014\00A0"; // em dash, nbsp
index 6c597219b23603fa793fc8ca1a9622797d01349c..3b86bf26c3cb012eaddaead811be9c13a607e4a5 100644 (file)
@@ -2,21 +2,34 @@
 @use "../colors" as *;
 @use "../variables" as *;
 @use "../functions" as *;
+@use "sass:map";
 @use "../mixins/border-radius" as *;
 @use "../mixins/color-mode" as *;
 @use "../mixins/focus-ring" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
 @use "form-variables" as *;
 
-// scss-docs-start check-variables
-$check-border-color: var(--border-color) !default;
-$check-checked-bg: var(--primary-base) !default;
-$check-checked-border-color: $check-checked-bg !default;
-$check-indeterminate-bg: var(--primary-base) !default;
-$check-indeterminate-border-color: $check-indeterminate-bg !default;
-$check-disabled-bg: var(--bg-3) !default;
-$check-disabled-opacity: .65 !default;
-// scss-docs-end check-variables
+// stylelint-disable custom-property-no-missing-var-function
+$check-tokens: () !default;
+
+// scss-docs-start check-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$check-tokens: defaults(
+  (
+    --check-bg: transparent,
+    --check-border-color: var(--border-color),
+    --check-checked-bg: var(--primary-base),
+    --check-checked-border-color: var(--primary-base),
+    --check-indeterminate-bg: var(--primary-base),
+    --check-indeterminate-border-color: var(--primary-base),
+    --check-disabled-bg: var(--bg-3),
+    --check-disabled-opacity: .65,
+  ),
+  $check-tokens
+);
+// scss-docs-end check-tokens
+// stylelint-enable custom-property-no-missing-var-function
 
 @layer forms {
   b-checkgroup {
@@ -25,21 +38,12 @@ $check-disabled-opacity: .65 !default;
     align-items: var(--align-items, start);
 
     .description {
-      color: var(--secondary-text);
+      color: var(--fg-3);
     }
   }
 
   .check {
-    // scss-docs-start check-css-variables
-    --check-bg: transparent;
-    --check-border-color: #{$check-border-color};
-    --check-checked-bg: #{$check-checked-bg};
-    --check-checked-border-color: #{$check-checked-border-color};
-    --check-indeterminate-bg: #{$check-indeterminate-bg};
-    --check-indeterminate-border-color: #{$check-indeterminate-border-color};
-    --check-disabled-bg: #{$check-disabled-bg};
-    --check-disabled-opacity: #{$check-disabled-opacity};
-    // scss-docs-end check-css-variables
+    @include tokens($check-tokens);
 
     display: grid;
     grid-template-columns: repeat(1, minmax(0, 1fr));
index c0b04baef4843a682e1b9f2f26dfb053432117a1..cc8371462689b33eb72d52ac2369cce1203d8d84 100644 (file)
@@ -1,40 +1,38 @@
+@use "sass:map";
 @use "../config" as *;
 @use "../variables" as *;
+@use "../functions" as *;
 @use "../theme" as *;
 @use "../mixins/border-radius" as *;
 @use "../mixins/box-shadow" as *;
 @use "../mixins/focus-ring" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
 @use "form-variables" as *;
 
-// scss-docs-start chip-input-variables
-$chip-input-gap:                    .375rem !default;
-$chip-input-padding-y:              .75rem !default;
-$chip-input-padding-x:              .75rem !default;
-$chip-input-chip-padding-y:         .75rem !default;
-$chip-input-chip-padding-x:         .5rem !default;
-$chip-input-ghost-min-width:        5rem !default;
-// scss-docs-end chip-input-variables
+$chip-input-tokens: () !default;
+
+// scss-docs-start chip-input-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$chip-input-tokens: defaults(
+  (
+    --chip-input-padding-y: .75rem,
+    --chip-input-padding-x: .75rem,
+    --chip-input-gap: .375rem,
+    --chip-input-ghost-min-width: 5rem,
+    --control-color: var(--fg-body),
+    --control-bg: var(--bg-body),
+    --control-border-width: var(--border-width),
+    --control-border-color: var(--border-color),
+    --control-border-radius: var(--border-radius),
+  ),
+  $chip-input-tokens
+);
+// scss-docs-end chip-input-tokens
 
 @layer forms {
   .chip-input {
-    // Inherit form-control CSS variables for sizing
-    // --control-min-height: #{$control-min-height};
-    --chip-input-padding-y: #{$chip-input-padding-y};
-    --chip-input-padding-x: #{$chip-input-padding-x};
-    --control-padding-x: #{$control-padding-x};
-    --control-color: #{$control-color};
-    --control-bg: #{$control-bg};
-    --control-border-width: #{$control-border-width};
-    --control-border-color: #{$control-border-color};
-    --control-border-radius: #{$control-border-radius};
-
-    // Chip input specific
-    --chip-input-gap: #{$chip-input-gap};
-    // --chip-input-chip-padding-y: #{$chip-input-chip-padding-y};
-    // --chip-input-chip-padding-x: #{$chip-input-chip-padding-x};
-    // --chip-input-chip-font-size: #{$chip-input-chip-font-size};
-    --chip-input-ghost-min-width: #{$chip-input-ghost-min-width};
+    @include tokens($chip-input-tokens);
 
     // Flexbox wrapping layout
     display: flex;
@@ -51,7 +49,7 @@ $chip-input-ghost-min-width:        5rem !default;
     // Focus state when ghost input is focused
     &:focus-within {
       --focus-ring-offset: -1px;
-      border-color: $input-focus-border-color;
+      border-color: var(--focus-ring-color);
       @include focus-ring(true);
     }
 
@@ -65,7 +63,7 @@ $chip-input-ghost-min-width:        5rem !default;
     // Disabled state
     &.disabled,
     &:has(.form-ghost:disabled) {
-      background-color: $input-disabled-bg;
+      background-color: var(--bg-2);
       opacity: 1;
 
       > .chip {
index 3e50e68f6205c392703dcf7a17359d57088f420b..2ba5f23530a65fc0653925dce75f4fb2e80f2793 100644 (file)
@@ -1,59 +1,71 @@
+@use "sass:map";
 @use "sass:math";
 @use "../config" as *;
 @use "../colors" as *;
 @use "../variables" as *;
+@use "../functions" as *;
 @use "../mixins/border-radius" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
 @use "form-variables" as *;
 
-// scss-docs-start form-floating-variables
-$form-floating-height:                  calc(3.5rem + #{$input-height-border}) !default;
-$form-floating-line-height:             1.25 !default;
-$form-floating-padding-x:               $input-padding-x !default;
-$form-floating-padding-y:               1rem !default;
-$form-floating-input-padding-t:         1.625rem !default;
-$form-floating-input-padding-b:         .625rem !default;
-$form-floating-label-height:            1.5em !default;
-$form-floating-label-opacity:           .65 !default;
-$form-floating-label-transform:         scale(.85) translateY(-.5rem) translateX(.15rem) !default;
-$form-floating-label-disabled-color:    var(--gray-600) !default;
-$form-floating-transition:              opacity .1s ease-in-out, transform .1s ease-in-out !default;
-// scss-docs-end form-floating-variables
+$form-floating-tokens: () !default;
+
+// scss-docs-start form-floating-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$form-floating-tokens: defaults(
+  (
+    --form-floating-height: calc(3.5rem + (var(--border-width) * 2)),
+    --form-floating-line-height: 1.25,
+    --form-floating-padding-x: var(--btn-input-padding-x),
+    --form-floating-padding-y: 1rem,
+    --form-floating-input-padding-t: 1.625rem,
+    --form-floating-input-padding-b: .625rem,
+    --form-floating-label-height: 1.5em,
+    --form-floating-label-opacity: .65,
+    --form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem),
+    --form-floating-label-disabled-color: var(--fg-3),
+    --form-floating-transition-property: "opacity, transform",
+    --form-floating-transition-timing: .1s ease-in-out,
+    --form-floating-transition: var(--form-floating-transition-property) var(--form-floating-transition-timing),
+  ),
+  $form-floating-tokens
+);
+// scss-docs-end form-floating-tokens
 
 @layer forms {
   .form-floating {
-    position: relative;
+    @include tokens($form-floating-tokens);
 
-    > .form-control,
-    > .form-control-plaintext,
-    > .form-select {
-      height: $form-floating-height;
-      min-height: $form-floating-height;
-      line-height: $form-floating-line-height;
-    }
+    position: relative;
 
     > label {
       position: absolute;
       inset-block-start: 0;
       inset-inline-start: 0;
       z-index: 2;
+      display: flex;
+      align-items: center;
       max-width: 100%;
       height: 100%; // allow textareas
-      padding: $form-floating-padding-y $form-floating-padding-x;
+      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);
       overflow: hidden;
-      color: color-mix(in oklch, var(--body-color) #{math.percentage($form-floating-label-opacity)}, transparent);
+      color: color-mix(in oklch, var(--fg-body) var(--form-floating-label-opacity), transparent);
       text-align: start;
       text-overflow: ellipsis;
       white-space: nowrap;
       pointer-events: none;
-      border: $input-border-width solid transparent; // Required for aligning label's text with the input as it affects inner box model
+      border: var(--input-btn-border-width) solid transparent; // Required for aligning label's text with the input as it affects inner box model
       transform-origin: 0 0;
-      @include transition($form-floating-transition);
+      @include transition(var(--form-floating-transition));
     }
 
     > .form-control,
     > .form-control-plaintext {
-      padding: $form-floating-padding-y $form-floating-padding-x;
+      height: var(--form-floating-height);
+      min-height: var(--form-floating-height);
+      padding: var(--form-floating-padding-y) var(--form-floating-padding-x);
+      line-height: var(--form-floating-line-height);
 
       &::placeholder {
         color: transparent;
@@ -61,61 +73,55 @@ $form-floating-transition:              opacity .1s ease-in-out, transform .1s e
 
       &:focus,
       &:not(:placeholder-shown) {
-        padding-top: $form-floating-input-padding-t;
-        padding-bottom: $form-floating-input-padding-b;
+        padding-top: var(--form-floating-input-padding-t);
+        padding-bottom: var(--form-floating-input-padding-b);
       }
       // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
       &:-webkit-autofill {
-        padding-top: $form-floating-input-padding-t;
-        padding-bottom: $form-floating-input-padding-b;
+        padding-top: var(--form-floating-input-padding-t);
+        padding-bottom: var(--form-floating-input-padding-b);
       }
     }
 
-    > .form-select {
-      padding-inline-start: $form-floating-padding-x;
-      padding-top: $form-floating-input-padding-t;
-      padding-bottom: $form-floating-input-padding-b;
-    }
-
     > .form-control:focus,
     > .form-control:not(:placeholder-shown),
-    > .form-control-plaintext,
-    > .form-select {
+    > .form-control-plaintext {
       ~ label {
-        transform: $form-floating-label-transform;
+        transform: var(--form-floating-label-transform);
       }
     }
+
     // Duplicated because `:-webkit-autofill` invalidates other selectors when grouped
     > .form-control:-webkit-autofill {
       ~ label {
-        transform: $form-floating-label-transform;
+        transform: var(--form-floating-label-transform);
       }
     }
     > textarea:focus,
     > textarea:not(:placeholder-shown) {
       ~ label::after {
         position: absolute;
-        inset: $form-floating-padding-y ($form-floating-padding-x * .5);
+        inset: var(--form-floating-padding-y) calc(var(--form-floating-padding-x) * .5);
         z-index: -1;
-        height: $form-floating-label-height;
+        height: var(--form-floating-label-height);
         content: "";
-        background-color: $input-bg;
-        @include border-radius($input-border-radius);
+        background-color: var(--input-bg);
+        @include border-radius(var(--btn-input-border-radius));
       }
     }
     > textarea:disabled ~ label::after {
-      background-color: $input-disabled-bg;
+      background-color: var(--control-disabled-bg);
     }
 
     > .form-control-plaintext {
       ~ label {
-        border-width: $input-border-width 0; // Required to properly position label text - as explained above
+        border-width: var(--control-border-width) 0; // Required to properly position label text - as explained above
       }
     }
 
     > :disabled ~ label,
     > .form-control:disabled ~ label { // Required for `.form-control`s because of specificity
-      color: $form-floating-label-disabled-color;
+      color: var(--form-floating-label-disabled-color);
     }
   }
 }
index a5a97fcdaccb4deb0e4dac012a72ca36fec96e42..5aa26a15d44f43b1326d4d9b22506749930342e6 100644 (file)
@@ -1,58 +1,43 @@
+@use "sass:map";
 @use "../config" as *;
 @use "../variables" as *;
+@use "../functions" as *;
 @use "../mixins/border-radius" as *;
 @use "../mixins/box-shadow" as *;
 @use "../mixins/focus-ring" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
 @use "form-variables" as *;
 
-// scss-docs-start form-adorn-variables
-$form-adorn-gap:           .375rem !default;
-$form-adorn-icon-size:     1rem !default;
-$form-adorn-icon-color:    var(--fg-2) !default;
-// scss-docs-end form-adorn-variables
+$form-adorn-tokens: () !default;
+
+// scss-docs-start form-adorn-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$form-adorn-tokens: defaults(
+  (
+    --form-adorn-gap: .375rem,
+    --form-adorn-icon-size: 1rem,
+    --form-adorn-icon-color: var(--fg-2),
+  ),
+  $form-adorn-tokens
+);
+// scss-docs-end form-adorn-tokens
 
 @layer forms {
   .form-adorn {
-    // Inherit form-control CSS variables for sizing
-    --control-min-height: #{$control-min-height};
-    --control-padding-y: #{$control-padding-y};
-    --control-padding-x: #{$control-padding-x};
-    --control-font-size: #{$control-font-size};
-    --control-line-height: #{$control-line-height};
-    --control-color: #{$control-color};
-    --control-bg: #{$control-bg};
-    --control-border-width: #{$control-border-width};
-    --control-border-color: #{$control-border-color};
-    --control-border-radius: #{$control-border-radius};
-
-    // Adorn-specific variables
-    --form-adorn-gap: #{$form-adorn-gap};
-    --form-adorn-icon-size: #{$form-adorn-icon-size};
-    --form-adorn-icon-color: #{$form-adorn-icon-color};
+    @include tokens($form-adorn-tokens);
 
-    // Flexbox layout
-    display: flex;
     gap: var(--form-adorn-gap);
     align-items: center;
 
-    // Replicate .form-control styles on the wrapper
-    min-height: var(--control-min-height);
-    padding: var(--control-padding-y) var(--control-padding-x);
-    font-size: var(--control-font-size);
-    line-height: var(--control-line-height);
-    color: var(--control-color);
-    background-color: var(--control-bg);
-    background-clip: padding-box;
-    border: var(--control-border-width) solid var(--control-border-color);
-    @include border-radius(var(--control-border-radius), 0);
-    @include box-shadow($input-box-shadow);
-    @include transition($input-transition);
+    // Prevent default `.form-control` focus
+    &:focus-visible {
+      outline: 0;
+    }
 
-    // Focus state when ghost input is focused
     &:focus-within {
       --focus-ring-offset: -1px;
-      border-color: $input-focus-border-color;
+      border-color: var(--focus-ring-color);
       @include focus-ring(true);
     }
 
@@ -62,8 +47,6 @@ $form-adorn-icon-color:    var(--fg-2) !default;
       min-width: 0; // Prevent text overflow
     }
 
-
-    // Adornment at end (right in LTR) - input comes first visually
     &.form-adorn-end > .form-ghost {
       order: -1;
     }
@@ -89,23 +72,4 @@ $form-adorn-icon-color:    var(--fg-2) !default;
     pointer-events: none;
     user-select: none;
   }
-
-  // Sizing variants
-  .form-adorn-sm {
-    --control-min-height: #{$control-min-height-sm};
-    --control-padding-y: #{$control-padding-y-sm};
-    --control-padding-x: #{$control-padding-x-sm};
-    --control-font-size: #{$control-font-size-sm};
-    --control-line-height: #{$control-line-height-sm};
-    --control-border-radius: #{$control-border-radius-sm};
-  }
-
-  .form-adorn-lg {
-    --control-min-height: #{$control-min-height-lg};
-    --control-padding-y: #{$control-padding-y-lg};
-    --control-padding-x: #{$control-padding-x-lg};
-    --control-font-size: #{$control-font-size-lg};
-    --control-line-height: #{$control-line-height-lg};
-    --control-border-radius: #{$control-border-radius-lg};
-  }
 }
index d383b565357a8f59ccc4c4148c7ef0bdd32aacd0..74696c36094331974220956a61601034da40bde6 100644 (file)
@@ -1,3 +1,4 @@
+@use "sass:map";
 @use "sass:math";
 @use "../config" as *;
 @use "../variables" as *;
@@ -7,28 +8,61 @@
 @use "../mixins/color-mode" as *;
 @use "../mixins/focus-ring" as *;
 @use "../mixins/gradients" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
 @use "form-variables" as *;
-@use "../buttons/button-variables" as *; // mdo-do: remove?
+
+$form-control-tokens: () !default;
+
+// scss-docs-start form-control-tokens
+// stylelint-disable custom-property-no-missing-var-function
+// stylelint-disable-next-line scss/dollar-variable-default
+$form-control-tokens: defaults(
+  (
+    --control-min-height: var(--btn-input-min-height),
+    --control-padding-y: var(--btn-input-padding-y),
+    --control-padding-x: var(--btn-input-padding-x),
+    --control-font-size: var(--btn-input-font-size),
+    --control-line-height: var(--btn-input-line-height),
+    --control-color: var(--input-color),
+    --control-bg: var(--input-bg),
+    --control-border-width: var(--border-width),
+    --control-border-color: var(--border-color),
+    --control-border-radius: var(--border-radius),
+    --control-box-shadow: var(--box-shadow-inset),
+    --control-action-bg: var(--bg-1),
+    --control-action-hover-bg: var(--bg-2),
+    --control-transition-property: "border-color, box-shadow",
+    --control-transition-timing: .15s ease-in-out,
+    --control-transition: var(--control-transition-property) var(--control-transition-timing),
+    --control-placeholder-color: var(--fg-3),
+    --control-disabled-color: var(--control-color),
+    --control-disabled-bg: var(--bg-2),
+    --control-disabled-border-color: var(--control-border-color),
+    --control-select-bg: #{escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#00000080' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>"))},
+    --control-select-bg-position: right .75rem center,
+    --control-select-bg-size: 16px 12px,
+    --control-select-bg-dark: #{escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>"))},
+  ),
+  $form-control-tokens
+);
+// scss-docs-end form-control-tokens
+
+// scss-docs-start form-control-sizes
+$form-control-sizes: () !default;
+// stylelint-disable-next-line scss/dollar-variable-default
+$form-control-sizes: defaults(
+  ("sm", "lg"),
+  $form-control-sizes
+);
+// scss-docs-end form-control-sizes
+// stylelint-enable custom-property-no-missing-var-function
 
 @layer forms {
   .form-control {
-    --control-min-height: #{$control-min-height};
-    --control-padding-y: #{$control-padding-y};
-    --control-padding-x: #{$control-padding-x};
-    --control-font-size: #{$control-font-size};
-    --control-line-height: #{$control-line-height};
-    --control-color: #{$control-color};
-    --control-bg: #{$control-bg};
-    --control-border-width: #{$control-border-width};
-    --control-border-color: #{$control-border-color};
-    --control-border-radius: #{$control-border-radius};
-    --control-select-bg-color: #{$control-select-indicator-color};
-    --control-select-bg: #{escape-svg($control-select-indicator)};
-    --control-select-bg-position: #{$control-select-bg-position};
-    --control-select-bg-size: #{$control-select-bg-size};
+    @include tokens($form-control-tokens);
 
-    display: block;
+    display: flex;
     width: 100%;
     min-height: var(--control-min-height);
     padding: var(--control-padding-y) var(--control-padding-x);
     background-clip: padding-box;
     border: var(--control-border-width) solid var(--control-border-color);
     @include border-radius(var(--control-border-radius), 0);
-    @include box-shadow($input-box-shadow);
-    @include transition($input-transition);
-
-    &[type="file"] {
-      overflow: hidden; // prevent pseudo element button overlap
-
-      &:not(:disabled):not([readonly]) {
-        cursor: pointer;
-      }
-    }
+    @include box-shadow(var(--control-box-shadow));
+    @include transition(var(--control-transition));
 
     // Customize the `:focus` state to imitate native WebKit styles.
     &:focus-visible {
       --focus-ring-offset: -1px;
-      color: $input-focus-color;
-      background-color: $input-focus-bg;
-      border-color: $input-focus-border-color;
       @include focus-ring(true);
     }
 
-    &::-webkit-date-and-time-value {
-      // On Android Chrome, form-control's "width: 100%" makes the input width too small
-      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109
-      //
-      // On iOS Safari, form-control's "appearance: none" + "width: 100%" makes the input width too small
-      // Tested under iOS 16.2 / Safari 16.2
-      min-width: 85px; // Seems to be a good minimum safe width
-
-      // Add some height to date inputs on iOS
-      // https://github.com/twbs/bootstrap/issues/23307
-      // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
-      // Multiply line-height by 1em if it has no unit
-      // stylelint-disable-next-line scss/at-function-named-arguments
-      height: if(sass(math.unit($input-line-height) == ""): $input-line-height * 1em; else: $input-line-height);
-
-      // Android Chrome type="date" is taller than the other inputs
-      // because of "margin: 1px 24px 1px 4px" inside the shadow DOM
-      // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109
-      margin: 0;
-    }
-
-    // Prevent excessive date input height in Webkit
-    // https://github.com/twbs/bootstrap/issues/34433
-    &::-webkit-datetime-edit {
-      display: block;
-      padding: 0;
-    }
-
     // Placeholder
     &::placeholder {
-      color: $input-placeholder-color;
+      color: var(--control-placeholder-color);
       // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526.
       opacity: 1;
     }
     // disabled if the fieldset is disabled. Due to implementation difficulty, we
     // don't honor that edge case; we style them as disabled anyway.
     &:disabled {
-      color: $input-disabled-color;
-      background-color: $input-disabled-bg;
-      border-color: $input-disabled-border-color;
+      color: var(--control-disabled-color);
+      background-color: var(--control-disabled-bg);
+      border-color: var(--control-disabled-border-color);
       // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655.
       opacity: 1;
     }
 
-    // File input buttons theming
+    // Date and time inputs
+    // &::-webkit-date-and-time-value {
+    //   // On Android Chrome, form-control's "width: 100%" makes the input width too small
+    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109
+    //   //
+    //   // On iOS Safari, form-control's "appearance: none" + "width: 100%" makes the input width too small
+    //   // Tested under iOS 16.2 / Safari 16.2
+    //   min-width: 85px; // Seems to be a good minimum safe width
+
+    //   // Add some height to date inputs on iOS
+    //   // https://github.com/twbs/bootstrap/issues/23307
+    //   // TODO: we can remove this workaround once https://bugs.webkit.org/show_bug.cgi?id=198959 is resolved
+    //   // Multiply line-height by 1em if it has no unit
+    //   height: 1.5em;
+
+    //   // Android Chrome type="date" is taller than the other inputs
+    //   // because of "margin: 1px 24px 1px 4px" inside the shadow DOM
+    //   // Tested under Android 11 / Chrome 89, Android 12 / Chrome 100, Android 13 / Chrome 109
+    //   margin: 0;
+    //   background-color: var(--red-500);
+    // }
+
+    // Prevent excessive date input height in Webkit
+    // https://github.com/twbs/bootstrap/issues/34433
+
+    // mdo-do: need to check this stuff out across browsers
+    &::-webkit-datetime-edit {
+      display: block;
+      height: 1.5rem;
+      padding: 0;
+      margin-bottom: -.125rem;
+    }
+    &::-webkit-datetime-edit-fields-wrapper {
+      height: 1.5rem;
+    }
+
+    // File inputs
+    &[type="file"] {
+      overflow: hidden; // prevent pseudo element button overlap
+
+      &:not(:disabled):not([readonly]) {
+        cursor: pointer;
+      }
+    }
     &::file-selector-button {
       min-height: var(--control-min-height);
       padding: var(--control-padding-y) var(--control-padding-x);
       margin: calc(var(--control-padding-y) * -1) calc(var(--control-padding-x) * -1);
       margin-inline-end: var(--control-padding-x);
-      color: $form-file-button-color;
-      @include gradient-bg($form-file-button-bg);
+      color: var(--control-color);
+      @include gradient-bg(var(--control-action-bg));
       pointer-events: none;
       border-color: inherit;
       border-style: solid;
       border-width: 0;
       border-inline-end-width: var(--control-border-width);
       border-radius: 0; // stylelint-disable-line property-disallowed-list
-      @include transition($btn-transition);
+      @include transition(var(--control-transition));
     }
 
     &:hover:not(:disabled):not([readonly])::file-selector-button {
-      background-color: $form-file-button-hover-bg;
+      background-color: var(--control-action-hover-bg);
     }
   }
 
   .form-control-plaintext {
     display: block;
     width: 100%;
-    padding: $input-padding-y 0;
+    padding: var(--control-padding-y) 0;
     margin-bottom: 0; // match inputs if this class comes on inputs with default margins
-    line-height: $input-line-height;
-    color: $input-plaintext-color;
+    line-height: var(--control-line-height);
+    color: var(--control-color);
     background-color: transparent;
     border: solid transparent;
-    border-width: $input-border-width 0;
+    border-width: var(--control-border-width) 0;
 
     &:focus {
       outline: 0;
       padding-inline-end: var(--control-padding-x);
       background-image: none;
     }
+  }
 
-    @if $enable-dark-mode {
-      @include color-mode(dark) {
-        --control-select-indicator: #{escape-svg($control-select-indicator-dark)};
-      }
+  @media (prefers-color-scheme: dark) {
+    select.form-control {
+      background-image: var(--control-select-bg-dark);
     }
   }
   // stylelint-enable selector-no-qualifying-type
   // height and font-size of form controls.
   //
   // Repeated in `_input_group.scss` to avoid Sass extend issues.
-
-  .form-control-sm {
-    --control-min-height: #{$control-min-height-sm};
-    --control-padding-y: #{$control-padding-y-sm};
-    --control-padding-x: #{$control-padding-x-sm};
-    --control-font-size: #{$control-font-size-sm};
-    --control-line-height: #{$control-line-height-sm};
-    --control-border-radius: #{$control-border-radius-sm};
-  }
-
-  .form-control-lg {
-    --control-min-height: #{$control-min-height-lg};
-    --control-padding-y: #{$control-padding-y-lg};
-    --control-padding-x: #{$control-padding-x-lg};
-    --control-font-size: #{$control-font-size-lg};
-    --control-line-height: #{$control-line-height-lg};
-    --control-border-radius: #{$control-border-radius-lg};
+  @each $size, $_ in $form-control-sizes {
+    .form-control-#{$size} {
+      --control-min-height: var(--btn-input-#{$size}-min-height);
+      --control-padding-y: var(--btn-input-#{$size}-padding-y);
+      --control-padding-x: var(--btn-input-#{$size}-padding-x);
+      --control-font-size: var(--btn-input-#{$size}-font-size);
+      --control-line-height: var(--btn-input-#{$size}-line-height);
+      --control-border-radius: var(--btn-input-#{$size}-border-radius);
+    }
   }
 
-  // // Make sure textareas don't shrink too much when resized
-  // // https://github.com/twbs/bootstrap/pull/29124
-  // // stylelint-disable selector-no-qualifying-type
-  // textarea {
-  //   &.form-control {
-  //     min-height: $input-height;
-  //   }
-
-  //   &.form-control-sm {
-  //     min-height: $input-height-sm;
-  //   }
-
-  //   &.form-control-lg {
-  //     min-height: $input-height-lg;
-  //   }
-  // }
-  // // stylelint-enable selector-no-qualifying-type
-
   .form-control-color {
-    width: $form-color-width;
-    height: $input-height;
-    padding: $input-padding-y;
+    width: var(--control-min-height);
+    padding: var(--control-padding-y);
 
     &:not(:disabled):not([readonly]) {
       cursor: pointer;
 
     &::-moz-color-swatch {
       border: 0 !important; // stylelint-disable-line declaration-no-important
-      @include border-radius($input-border-radius);
+      @include border-radius(var(--border-radius-sm));
     }
 
     &::-webkit-color-swatch {
       border: 0 !important; // stylelint-disable-line declaration-no-important
-      @include border-radius($input-border-radius);
+      @include border-radius(var(--border-radius-sm));
     }
-
-    &.form-control-sm { height: $input-height-sm; }
-    &.form-control-lg { height: $input-height-lg; }
   }
 
   // Ghost input - removes all visual styling
index 0b3830302a81cb8d6cafebc887cf8724fc934048..b40fdfe01101f4367418c119c7a2591d907ea448 100644 (file)
@@ -1,36 +1,78 @@
 @use "../config" as *;
 @use "../colors" as *;
 @use "../variables" as *;
+@use "../functions" as *;
 @use "../mixins/border-radius" as *;
 @use "../mixins/box-shadow" as *;
 @use "../mixins/focus-ring" as *;
 @use "../mixins/transition" as *;
 @use "../mixins/gradients" as *;
+@use "../mixins/tokens" as *;
+@use "sass:map";
 @use "form-variables" as *;
 
-// scss-docs-start form-range-variables
-$form-range-track-width:          100% !default;
-$form-range-track-height:         .5rem !default;
-$form-range-track-cursor:         pointer !default;
-$form-range-track-bg:             var(--secondary-bg) !default;
-$form-range-track-border-radius:  1rem !default;
-$form-range-track-box-shadow:     var(--box-shadow-inset) !default;
-
-$form-range-thumb-width:                   1rem !default;
-$form-range-thumb-height:                  $form-range-thumb-width !default;
-$form-range-thumb-bg:                      $component-active-bg !default;
-$form-range-thumb-border:                  0 !default;
-$form-range-thumb-border-radius:           1rem !default;
-$form-range-thumb-box-shadow:              0 .1rem .25rem rgba($black, .1) !default;
-$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;
-$form-range-thumb-disabled-bg:             var(--secondary-color) !default;
-$form-range-thumb-transition:              background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
-// scss-docs-end form-range-variables
+$range-tokens: () !default;
+
+// scss-docs-start range-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$range-tokens: defaults(
+  (
+    --range-track-width: 100%,
+    --range-track-height: .5rem,
+    --range-track-cursor: pointer,
+    --range-track-bg: var(--bg-3),
+    --range-track-border-radius: 1rem,
+    --range-track-box-shadow: var(--box-shadow-inset),
+    --range-thumb-width: 1rem,
+    --range-thumb-height: var(--range-thumb-width),
+    --range-thumb-bg: var(--primary-base),
+    --range-thumb-border: 0,
+    --range-thumb-border-radius: 1rem,
+    --range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1),
+    --range-thumb-active-bg: color-mix(in oklch, var(--primary-base) 70%, var(--bg-body)),
+    --range-thumb-disabled-bg: var(--fg-3),
+    --range-thumb-transition-property: "background-color, border-color, box-shadow",
+    --range-thumb-transition-timing: .15s ease-in-out,
+    --range-thumb-transition: var(--range-thumb-transition-property) var(--range-thumb-transition-timing),
+  ),
+  $range-tokens
+);
+// scss-docs-end range-tokens
+
+// scss-docs-start range-mixins
+@mixin range-thumb() {
+  width: var(--range-thumb-width);
+  height: var(--range-thumb-height);
+  appearance: none;
+  @include gradient-bg(var(--range-thumb-bg));
+  border: var(--range-thumb-border);
+  @include border-radius(var(--range-thumb-border-radius));
+  @include box-shadow(var(--range-thumb-box-shadow));
+  @include transition(var(--range-thumb-transition));
+
+  &:active {
+    @include gradient-bg(var(--range-thumb-active-bg));
+  }
+}
+
+@mixin range-track() {
+  width: var(--range-track-width);
+  height: var(--range-track-height);
+  color: transparent; // Why?
+  cursor: var(--range-track-cursor);
+  background-color: var(--range-track-bg);
+  border-color: transparent; // Firefox specific?
+  @include border-radius(var(--range-track-border-radius));
+  @include box-shadow(var(--range-track-box-shadow));
+}
+// scss-docs-end range-mixins
 
 @layer forms {
   .form-range {
+    @include tokens($range-tokens);
+
     width: 100%;
-    height: calc(#{$form-range-thumb-height} + (var(--focus-ring-width) * 2));
+    height: calc(var(--range-thumb-height) + (var(--focus-ring-width) * 2));
     padding: 0; // Need to reset padding
     appearance: none;
     background-color: transparent;
@@ -55,67 +97,31 @@ $form-range-thumb-transition:              background-color .15s ease-in-out, bo
     }
 
     &::-webkit-slider-thumb {
-      width: $form-range-thumb-width;
-      height: $form-range-thumb-height;
-      margin-top: ($form-range-track-height - $form-range-thumb-height) * .5; // Webkit specific
-      appearance: none;
-      @include gradient-bg($form-range-thumb-bg);
-      border: $form-range-thumb-border;
-      @include border-radius($form-range-thumb-border-radius);
-      @include box-shadow($form-range-thumb-box-shadow);
-      @include transition($form-range-thumb-transition);
-
-      &:active {
-        @include gradient-bg($form-range-thumb-active-bg);
-      }
+      @include range-thumb();
+      margin-top: calc((var(--range-track-height) - var(--range-thumb-height)) * .5); // Webkit specific
     }
 
-    &::-webkit-slider-runnable-track {
-      width: $form-range-track-width;
-      height: $form-range-track-height;
-      color: transparent; // Why?
-      cursor: $form-range-track-cursor;
-      background-color: $form-range-track-bg;
-      border-color: transparent;
-      @include border-radius($form-range-track-border-radius);
-      @include box-shadow($form-range-track-box-shadow);
+    &::-moz-range-thumb {
+      @include range-thumb();
     }
 
-    &::-moz-range-thumb {
-      width: $form-range-thumb-width;
-      height: $form-range-thumb-height;
-      appearance: none;
-      @include gradient-bg($form-range-thumb-bg);
-      border: $form-range-thumb-border;
-      @include border-radius($form-range-thumb-border-radius);
-      @include box-shadow($form-range-thumb-box-shadow);
-      @include transition($form-range-thumb-transition);
-
-      &:active {
-        @include gradient-bg($form-range-thumb-active-bg);
-      }
+    &::-webkit-slider-runnable-track {
+      @include range-track();
     }
 
     &::-moz-range-track {
-      width: $form-range-track-width;
-      height: $form-range-track-height;
-      color: transparent;
-      cursor: $form-range-track-cursor;
-      background-color: $form-range-track-bg;
-      border-color: transparent; // Firefox specific?
-      @include border-radius($form-range-track-border-radius);
-      @include box-shadow($form-range-track-box-shadow);
+      @include range-track();
     }
 
     &:disabled {
       pointer-events: none;
 
       &::-webkit-slider-thumb {
-        background-color: $form-range-thumb-disabled-bg;
+        background-color: var(--range-thumb-disabled-bg);
       }
 
       &::-moz-range-thumb {
-        background-color: $form-range-thumb-disabled-bg;
+        background-color: var(--range-thumb-disabled-bg);
       }
     }
   }
index 42af082ebd8ed52d1123c4eb535ae9f8913d091a..79b5298f2f48dbdb4c27082b65e9393293d40472 100644 (file)
@@ -1,21 +1,32 @@
+@use "sass:map";
 @use "../config" as *;
-@use "../variables" as *;
-@use "form-variables" as *;
+@use "../functions" as *;
+@use "../mixins/tokens" as *;
 
-// scss-docs-start form-text-variables
-$form-text-margin-top:  .25rem !default;
-$form-text-font-size:   $small-font-size !default;
-$form-text-font-style:  null !default;
-$form-text-font-weight: null !default;
-$form-text-color:       var(--secondary-color) !default;
-// scss-docs-end form-text-variables
+$form-text-tokens: () !default;
+
+// scss-docs-start form-text-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$form-text-tokens: defaults(
+  (
+    --form-text-margin-top: .25rem,
+    --form-text-font-size: var(--font-size-sm),
+    --form-text-font-style: null,
+    --form-text-font-weight: null,
+    --form-text-color: var(--fg-3),
+  ),
+  $form-text-tokens
+);
+// scss-docs-end form-text-tokens
 
 @layer forms {
   .form-text {
-    margin-top: $form-text-margin-top;
-    font-size: $form-text-font-size;
-    font-style: $form-text-font-style;
-    font-weight: $form-text-font-weight;
-    color: $form-text-color;
+    @include tokens($form-text-tokens);
+
+    margin-top: var(--form-text-margin-top);
+    font-size: var(--form-text-font-size);
+    font-style: var(--form-text-font-style);
+    font-weight: var(--form-text-font-weight);
+    color: var(--form-text-color);
   }
 }
index b4927460fed1677403de8e3403383cf32c5c1dbd..6c970530fb59931a63223e8e5f5129cfe78f4dde 100644 (file)
 @use "../colors" as *;
 @use "../variables" as *;
 
-$control-min-height: 2.5rem !default;
-$control-min-height-sm: 2rem !default;
-$control-min-height-lg: 3rem !default;
-$control-padding-y: .375rem !default;
-$control-padding-x: .75rem !default;
-$control-font-size: $font-size-base !default;
-$control-line-height: $line-height-base !default;
-$control-color: var(--fg-body) !default;
-$control-bg: var(--bg-body) !default;
-$control-border-width: var(--border-width) !default;
-$control-border-color: var(--border-color) !default;
-$control-border-radius: var(--border-radius) !default;
-
-$control-padding-y-sm: .25rem !default;
-$control-padding-x-sm: .5rem !default;
-$control-font-size-sm: $font-size-sm !default;
-$control-line-height-sm: $line-height-sm !default;
-$control-border-radius-sm: var(--border-radius-sm) !default;
-
-$control-padding-y-lg: .5rem !default;
-$control-padding-x-lg: 1rem !default;
-$control-font-size-lg: $font-size-lg !default;
-$control-line-height-lg: $line-height-lg !default;
-$control-border-radius-lg: var(--border-radius-lg) !default;
-
-$control-select-indicator-color:       var(--gray-600) !default;
-$control-select-indicator:             url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>") !default;
-$control-select-bg-position:           right $control-padding-x center !default;
-$control-select-bg-size:               16px 12px !default;
-
-$control-select-indicator-color-dark:  #fff !default;
-$control-select-indicator-dark:        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$control-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>") !default;
-
-
-// scss-docs-start input-btn-variables
-$input-btn-padding-y:         .375rem !default;
-$input-btn-padding-x:         .75rem !default;
-// $input-btn-font-family:       null !default;
-$input-btn-font-size:         $font-size-base !default;
-$input-btn-line-height:       $line-height-base !default;
-
-// $input-btn-focus-width:         $focus-ring-width !default;
-// $input-btn-focus-color-opacity: $focus-ring-opacity !default;
-// $input-btn-focus-color:         $focus-ring-color !default;
-// $input-btn-focus-blur:          $focus-ring-blur !default;
-// $input-btn-focus-box-shadow:    $focus-ring-box-shadow !default;
-
-$input-btn-padding-y-sm:      .25rem !default;
-$input-btn-padding-x-sm:      .5rem !default;
-$input-btn-font-size-sm:      $font-size-sm !default;
-
-$input-btn-padding-y-lg:      .5rem !default;
-$input-btn-padding-x-lg:      1rem !default;
-$input-btn-font-size-lg:      $font-size-lg !default;
-
-// $input-btn-border-width:      var(--border-width) !default;
-// scss-docs-end input-btn-variables
-
-// scss-docs-start form-input-variables
-$input-padding-y:                       $input-btn-padding-y !default;
-$input-padding-x:                       $input-btn-padding-x !default;
-// $input-font-family:                     $input-btn-font-family !default;
-$input-font-size:                       $input-btn-font-size !default;
-// $input-font-weight:                     $font-weight-base !default;
-$input-line-height:                     $input-btn-line-height !default;
-
-$input-padding-y-sm:                    $input-btn-padding-y-sm !default;
-$input-padding-x-sm:                    $input-btn-padding-x-sm !default;
-$input-font-size-sm:                    $input-btn-font-size-sm !default;
-
-$input-padding-y-lg:                    $input-btn-padding-y-lg !default;
-$input-padding-x-lg:                    $input-btn-padding-x-lg !default;
-$input-font-size-lg:                    $input-btn-font-size-lg !default;
-
-$input-bg:                              var(--bg-body) !default;
-$input-disabled-color:                  null !default;
-$input-disabled-bg:                     var(--secondary-bg) !default;
-$input-disabled-border-color:           null !default;
-
-$input-color:                           var(--fg-body) !default;
-$input-border-color:                    var(--border-color) !default;
-$input-border-width:                    var(--border-width) !default;
-$input-box-shadow:                      var(--box-shadow-inset) !default;
-
-$input-border-radius:                   var(--border-radius) !default;
-$input-border-radius-sm:                var(--border-radius-sm) !default;
-$input-border-radius-lg:                var(--border-radius-lg) !default;
-
-$input-focus-bg:                        $input-bg !default;
-$input-focus-border-color:              var(--primary-border) !default;
-$input-focus-color:                     $input-color !default;
-
-$input-placeholder-color:               var(--secondary-color) !default;
-$input-plaintext-color:                 var(--fg-body) !default;
-
-$input-height-border:                   calc(#{$input-border-width} * 2) !default;
-
-$input-height-inner:                    add($input-line-height * 1em, $input-padding-y * 2) !default;
-$input-height-inner-half:               add($input-line-height * .5em, $input-padding-y) !default;
-$input-height-inner-quarter:            add($input-line-height * .25em, $input-padding-y * .5) !default;
-
-// $input-height:                          add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;
-// $input-height-sm:                       add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;
-// $input-height-lg:                       add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;
-$input-height:                          2.5rem !default;
-$input-height-sm:                       2rem !default;
-$input-height-lg:                       3rem !default;
-
-$input-transition:                      border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
-
-$form-color-width:                      3rem !default;
-// scss-docs-end form-input-variables
-
-// scss-docs-start form-file-variables
-$form-file-button-color:          $input-color !default;
-$form-file-button-bg:             var(--tertiary-bg) !default;
-$form-file-button-hover-bg:       var(--secondary-bg) !default;
-// scss-docs-end form-file-variables
-
 // scss-docs-start form-feedback-variables
 $form-feedback-margin-top:          .5rem !default;
-$form-feedback-font-size:           $font-size-sm !default;
+$form-feedback-font-size:           var(--font-size-xs) !default;
 $form-feedback-font-style:          null !default;
-$form-feedback-valid-color:         var(--success) !default;
-$form-feedback-invalid-color:       var(--danger) !default;
+$form-feedback-valid-color:         var(--success-text) !default;
+$form-feedback-invalid-color:       var(--danger-text) !default;
 
-$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;
+$form-feedback-icon-valid-color:    #00a748 !default;
 $form-feedback-icon-valid:          url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73.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.1'/></svg>") !default;
-$form-feedback-icon-invalid-color:  $form-feedback-invalid-color !default;
+$form-feedback-icon-invalid-color:  #dd0d37 !default;
 $form-feedback-icon-invalid:        url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}'><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;
 // scss-docs-end form-feedback-variables
 
@@ -146,18 +27,18 @@ $form-validation-states: (
   "valid": (
     "color": var(--form-valid-color),
     "icon": $form-feedback-icon-valid,
-    "tooltip-color": #fff,
-    "tooltip-bg-color": var(--success),
-    // "focus-box-shadow": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--success-rgb), $input-btn-focus-color-opacity),
-    "border-color": var(--form-valid-border-color),
+    "tooltip-color": var(--success-contrast),
+    "tooltip-bg-color": var(--success-bg),
+    "focus-ring-color": var(--success-focus-ring),
+    "border-color": var(--success-border),
   ),
   "invalid": (
     "color": var(--form-invalid-color),
     "icon": $form-feedback-icon-invalid,
-    "tooltip-color": #fff,
-    "tooltip-bg-color": var(--danger),
-    // "focus-box-shadow": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--danger-rgb), $input-btn-focus-color-opacity),
-    "border-color": var(--form-invalid-border-color),
+    "tooltip-color": var(--danger-contrast),
+    "tooltip-bg-color": var(--danger-bg),
+    "focus-ring-color": var(--danger-focus-ring),
+    "border-color": var(--danger-border),
   )
 ) !default;
 // scss-docs-end form-validation-states
index 3e0eef14757beca82387ba5cc58bf0dff99cf659..7f8a170e9e7e203b98df89e39ea7591b1230aa53 100644 (file)
@@ -3,20 +3,42 @@
 @use "../config" as *;
 @use "../colors" as *;
 @use "../variables" as *;
+@use "../functions" as *;
 @use "../mixins/border-radius" as *;
+@use "../mixins/tokens" as *;
 @use "form-variables" as *;
 
-// scss-docs-start input-group-variables
-$input-group-addon-padding-y:           $input-padding-y !default;
-$input-group-addon-padding-x:           $input-padding-x !default;
-// $input-group-addon-font-weight:         $input-font-weight !default;
-$input-group-addon-color:               $input-color !default;
-$input-group-addon-bg:                  var(--tertiary-bg) !default;
-$input-group-addon-border-color:        $input-border-color !default;
-// scss-docs-end input-group-variables
-
-@layer forms {
+$input-group-addon-tokens: () !default;
+
+// scss-docs-start input-group-addon-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$input-group-addon-tokens: defaults(
+  (
+    --input-group-addon-padding-y: var(--btn-input-padding-y),
+    --input-group-addon-padding-x: var(--btn-input-padding-x),
+    --input-group-addon-font-size: var(--btn-input-font-size),
+    --input-group-addon-line-height: var(--btn-input-line-height),
+    --input-group-addon-color: var(--fg-body),
+    --input-group-addon-bg: var(--bg-2),
+    --input-group-addon-border-color: var(--border-color),
+  ),
+  $input-group-addon-tokens
+);
+// scss-docs-end input-group-addon-tokens
+
+// scss-docs-start input-group-sizes
+$input-group-sizes: () !default;
+// stylelint-disable-next-line scss/dollar-variable-default
+$input-group-sizes: defaults(
+  ("sm", "lg"),
+  $input-group-sizes
+);
+// scss-docs-end input-group-sizes
+
+@layer components {
   .input-group {
+    @include tokens($input-group-addon-tokens);
+
     position: relative;
     display: flex;
     flex-wrap: wrap; // For form validation feedback
@@ -24,7 +46,6 @@ $input-group-addon-border-color:        $input-border-color !default;
     width: 100%;
 
     > .form-control,
-    > .form-select,
     > .form-floating {
       position: relative; // For focus state's z-index
       flex: 1 1 auto;
@@ -34,7 +55,6 @@ $input-group-addon-border-color:        $input-border-color !default;
 
     // Bring the "active" form control to the top of surrounding elements
     > .form-control:focus,
-    > .form-select:focus,
     > .form-floating:focus-within {
       z-index: 5;
     }
@@ -42,7 +62,7 @@ $input-group-addon-border-color:        $input-border-color !default;
     // Ensure buttons are always above inputs for more visually pleasing borders.
     // This isn't needed for `.input-group-text` since it shares the same border-color
     // as our inputs.
-    .btn {
+    > .input-group-btn {
       position: relative;
       z-index: 2;
 
@@ -61,16 +81,16 @@ $input-group-addon-border-color:        $input-border-color !default;
   .input-group-text {
     display: flex;
     align-items: center;
-    padding: $input-group-addon-padding-y $input-group-addon-padding-x;
-    font-size: $input-font-size; // Match inputs
+    padding: var(--input-group-addon-padding-y) var(--input-group-addon-padding-x);
+    font-size: var(--input-group-addon-font-size); // Match inputs
     // font-weight: $input-group-addon-font-weight;
-    line-height: $input-line-height;
-    color: $input-group-addon-color;
+    line-height: var(--input-group-addon-line-height);
+    color: var(--input-group-addon-color);
     text-align: center;
     white-space: nowrap;
-    background-color: $input-group-addon-bg;
-    border: $input-border-width solid $input-group-addon-border-color;
-    @include border-radius($input-border-radius);
+    background-color: var(--input-group-addon-bg);
+    border: var(--border-width) solid var(--input-group-addon-border-color);
+    @include border-radius(var(--btn-input-border-radius));
   }
 
 
@@ -79,31 +99,19 @@ $input-group-addon-border-color:        $input-border-color !default;
   // Remix the default form control sizing classes into new ones for easier
   // manipulation.
 
-  .input-group-lg > .form-control,
-  .input-group-lg > .form-select,
-  .input-group-lg > .input-group-text,
-  .input-group-lg > .btn {
-    padding: $input-padding-y-lg $input-padding-x-lg;
-    font-size: $input-font-size-lg;
-    @include border-radius($input-border-radius-lg);
-  }
-
-  .input-group-sm > .form-control,
-  .input-group-sm > .form-select,
-  .input-group-sm > .input-group-text,
-  .input-group-sm > .btn {
-    padding: $input-padding-y-sm $input-padding-x-sm;
-    font-size: $input-font-size-sm;
-    @include border-radius($input-border-radius-sm);
-  }
-
-  .input-group-lg > .form-select,
-  .input-group-sm > .form-select {
-    // mdo-do: need to revisit this
-    // padding-right: $form-select-padding-x + $form-select-indicator-padding;
+  @each $size, $_ in $input-group-sizes {
+    .input-group-#{$size} {
+      > .form-control,
+      > .input-group-text,
+      > .btn {
+        min-height: var(--btn-input-#{$size}-min-height);
+        padding: var(--btn-input-#{$size}-padding-y) var(--btn-input-#{$size}-padding-x);
+        font-size: var(--btn-input-#{$size}-font-size);
+        @include border-radius(var(--btn-input-#{$size}-border-radius));
+      }
+    }
   }
 
-
   // Rounded corners
   //
   // These rulesets must come after the sizing ones to properly override sm and lg
@@ -133,7 +141,7 @@ $input-group-addon-border-color:        $input-border-color !default;
     }
 
     > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {
-      margin-inline-start: calc(-1 * #{$input-border-width});
+      margin-inline-start: calc(-1 * var(--border-width));
       @include border-start-radius(0);
     }
 
index 72c2e9e12bbbe075865d720c308125c45427cf58..f573b5b7700c69be78d9dabec6aba42a0368967b 100644 (file)
@@ -1,46 +1,52 @@
+@use "sass:map";
 @use "../variables" as *;
+@use "../functions" as *;
 @use "form-variables" as *;
 
-// scss-docs-start form-label-variables
-$form-label-margin-bottom: .5rem !default;
-$form-label-font-size:     null !default;
-$form-label-font-style:    null !default;
-$form-label-font-weight:   null !default;
-$form-label-color:         null !default;
-// scss-docs-end form-label-variables
+$form-label-tokens: () !default;
 
+// scss-docs-start form-label-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$form-label-tokens: defaults(
+  (
+    --label-margin-bottom: calc(var(--spacer) / 2),
+    --label-font-size: null,
+    --label-font-style: null,
+    --label-font-weight: null,
+    --label-color: null,
+  ),
+  $form-label-tokens
+);
+// scss-docs-end form-label-tokens
 
 @layer forms {
+  .form-label,
+  .col-form-label {
+    font-size: var(--label-font-size, var(--font-size-sm));
+    font-style: var(--label-font-style, inherit);
+    font-weight: var(--label-font-weight, inherit);
+    color: var(--label-color, inherit);
+  }
+
   .form-label {
-    margin-bottom: $form-label-margin-bottom;
-    font-size: $form-label-font-size;
-    font-style: $form-label-font-style;
-    font-weight: $form-label-font-weight;
-    color: $form-label-color;
+    margin-bottom: var(--label-margin-bottom, calc(var(--spacer) / 2));
   }
 
   // For use with horizontal and inline forms, when you need the label (or legend)
   // text to align with the form controls.
   .col-form-label {
-    padding-top: add($input-padding-y, $input-border-width);
-    padding-bottom: add($input-padding-y, $input-border-width);
+    --label-padding-y: calc(var(--btn-input-padding-y) + var(--border-width));
+    padding-block: var(--label-padding-y);
     margin-bottom: 0; // Override the `<legend>` default
-    font-size: inherit; // Override the `<legend>` default
-    font-style: $form-label-font-style;
-    font-weight: $form-label-font-weight;
-    line-height: $input-line-height;
-    color: $form-label-color;
   }
 
   .col-form-label-lg {
-    padding-top: add($input-padding-y-lg, $input-border-width);
-    padding-bottom: add($input-padding-y-lg, $input-border-width);
-    font-size: $input-font-size-lg;
+    --label-padding-y: calc(var(--btn-input-lg-padding-y) + var(--border-width));
+    font-size: var(--btn-input-lg-font-size);
   }
 
   .col-form-label-sm {
-    padding-top: add($input-padding-y-sm, $input-border-width);
-    padding-bottom: add($input-padding-y-sm, $input-border-width);
-    font-size: $input-font-size-sm;
+    --label-padding-y: calc(var(--btn-input-sm-padding-y) + var(--border-width));
+    font-size: var(--btn-input-sm-font-size);
   }
 }
index e43706b054bd699c99bb90c5fdd103677d2c487b..aea7495e62f433a1900d8fd7f5df1d4d13c48e42 100644 (file)
@@ -1,22 +1,39 @@
 @use "../config" as *;
 @use "../variables" as *;
+@use "../functions" as *;
+@use "sass:map";
 @use "form-variables" as *;
-
-// scss-docs-start otp-input-variables
-$otp-input-size:              3rem !default;
-$otp-input-size-sm:           2.25rem !default;
-$otp-input-size-lg:           3.5rem !default;
-$otp-input-font-size:         $font-size-lg !default;
-$otp-input-font-size-sm:      $font-size-base !default;
-$otp-input-font-size-lg:      $font-size-lg * 1.25 !default;
-$otp-input-gap:               .5rem !default;
-// scss-docs-end otp-input-variables
-
-@layer forms {
+@use "../mixins/border-radius" as *;
+@use "../mixins/tokens" as *;
+
+// stylelint-disable custom-property-no-missing-var-function
+$otp-tokens: () !default;
+
+// scss-docs-start otp-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$otp-tokens: defaults(
+  (
+    --otp-size: var(--btn-input-lg-min-height),
+    --otp-font-size: var(--btn-input-font-size),
+    --otp-gap: .5rem,
+  ),
+  $otp-tokens
+);
+// scss-docs-end otp-tokens
+// stylelint-enable custom-property-no-missing-var-function
+
+// scss-docs-start otp-sizes
+$otp-sizes: () !default;
+// stylelint-disable-next-line scss/dollar-variable-default
+$otp-sizes: defaults(
+  ("sm", "lg"),
+  $otp-sizes
+);
+// scss-docs-end otp-sizes
+
+@layer components {
   .otp {
-    --otp-size: #{$otp-input-size};
-    --otp-font-size: #{$otp-input-font-size};
-    --otp-gap: #{$otp-input-gap};
+    @include tokens($otp-tokens);
 
     display: inline-flex;
     gap: var(--otp-gap);
@@ -29,6 +46,7 @@ $otp-input-gap:               .5rem !default;
       font-weight: 500;
       line-height: 1;
       text-align: center;
+      @include border-radius(var(--otp-border-radius, var(--btn-input-border-radius)));
 
       // Remove default number spinners
       &::-webkit-outer-spin-button,
@@ -87,13 +105,11 @@ $otp-input-gap:               .5rem !default;
     user-select: none;
   }
 
-  .otp-sm {
-    --otp-size: #{$otp-input-size-sm};
-    --otp-font-size: #{$otp-input-font-size-sm};
-  }
-
-  .otp-lg {
-    --otp-size: #{$otp-input-size-lg};
-    --otp-font-size: #{$otp-input-font-size-lg};
+  @each $size, $_ in $otp-sizes {
+    .otp-#{$size} {
+      --otp-size: var(--btn-input-#{$size}-min-height);
+      --otp-font-size: var(--btn-input-#{$size}-font-size);
+      --otp-border-radius: var(--btn-input-#{$size}-border-radius);
+    }
   }
 }
index b04df330b3ac482679f48ac3db69b7de95015d62..52cbc9325e922d7cca9c7cda1f2172eb3b1bc948 100644 (file)
@@ -2,19 +2,32 @@
 @use "../colors" as *;
 @use "../variables" as *;
 @use "../functions" as *;
+@use "sass:map";
 @use "../mixins/border-radius" as *;
 @use "../mixins/color-mode" as *;
 @use "../mixins/focus-ring" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
 @use "form-variables" as *;
 
-// scss-docs-start radio-variables
-$radio-border-color: var(--border-color) !default;
-$radio-checked-bg: var(--primary-base) !default;
-$radio-checked-border-color: $radio-checked-bg !default;
-$radio-disabled-bg: var(--bg-3) !default;
-$radio-disabled-opacity: .65 !default;
-// scss-docs-end radio-variables
+// stylelint-disable custom-property-no-missing-var-function
+$radio-tokens: () !default;
+
+// scss-docs-start radio-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$radio-tokens: defaults(
+  (
+    --radio-bg: transparent,
+    --radio-border-color: var(--border-color),
+    --radio-checked-bg: var(--primary-base),
+    --radio-checked-border-color: var(--primary-base),
+    --radio-disabled-bg: var(--bg-3),
+    --radio-disabled-opacity: .65,
+  ),
+  $radio-tokens
+);
+// scss-docs-end radio-tokens
+// stylelint-enable custom-property-no-missing-var-function
 
 @layer forms {
   b-radiogroup {
@@ -23,19 +36,12 @@ $radio-disabled-opacity: .65 !default;
     align-items: var(--align-items, start);
 
     .description {
-      color: var(--secondary-text);
+      color: var(--fg-3);
     }
   }
 
   .radio {
-    // scss-docs-start radio-css-variables
-    --radio-bg: transparent;
-    --radio-border-color: #{$radio-border-color};
-    --radio-checked-bg: #{$radio-checked-bg};
-    --radio-checked-border-color: #{$radio-checked-border-color};
-    --radio-disabled-bg: #{$radio-disabled-bg};
-    --radio-disabled-opacity: #{$radio-disabled-opacity};
-    // scss-docs-end radio-css-variables
+    @include tokens($radio-tokens);
 
     position: relative;
     flex-shrink: 0;
index a3c262fdf6582235754b1256e51845a34ab19204..72523424319dc1f983a1afa5e0ce9eeb65293530 100644 (file)
@@ -1,36 +1,51 @@
+@use "sass:list";
+@use "sass:map";
 @use "../config" as *;
 @use "../variables" as *;
+@use "../functions" as *;
 @use "../mixins/border-radius" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
 @use "form-variables" as *;
 
-// scss-docs-start strength-variables
-$strength-height:          .375rem !default;
-$strength-gap:             .25rem !default;
-$strength-margin-top:      .25rem !default;
-$strength-border-radius:   var(--border-radius-pill) !default;
-$strength-bg:              var(--bg-2) !default;
-$strength-transition:      background-color .2s ease-in-out, width .3s ease-in-out !default;
-
-$strength-weak-color:      var(--danger-bg) !default;
-$strength-fair-color:      var(--warning-bg) !default;
-$strength-good-color:      var(--info-bg) !default;
-$strength-strong-color:    var(--success-bg) !default;
-// scss-docs-end strength-variables
+// stylelint-disable custom-property-no-missing-var-function
+$strength-tokens: () !default;
+
+// scss-docs-start strength-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$strength-tokens: defaults(
+  (
+    --strength-height: .375rem,
+    --strength-gap: .25rem,
+    --strength-margin-top: .25rem,
+    --strength-border-radius: var(--border-radius-pill),
+    --strength-bg: var(--bg-2),
+    --strength-color: var(--bg-2),
+    --strength-weak-color: var(--danger-bg),
+    --strength-fair-color: var(--warning-bg),
+    --strength-good-color: var(--info-bg),
+    --strength-strong-color: var(--success-bg),
+  ),
+  $strength-tokens
+);
+// scss-docs-end strength-tokens
+// stylelint-enable custom-property-no-missing-var-function
+
+// scss-docs-start strength-levels
+$strength-levels: weak, fair, good, strong !default;
+// scss-docs-end strength-levels
+
+$strength-transition: background-color .2s ease-in-out, width .3s ease-in-out !default;
 
 @layer forms {
   // Strength meter container
   .strength {
-    --strength-height: #{$strength-height};
-    --strength-gap: #{$strength-gap};
-    --strength-bg: #{$strength-bg};
-    --strength-border-radius: #{$strength-border-radius};
-    --strength-color: #{$strength-bg};
+    @include tokens($strength-tokens);
 
     display: flex;
     gap: var(--strength-gap);
     width: 100%;
-    margin-top: $strength-margin-top;
+    margin-top: var(--strength-margin-top);
   }
 
   // Individual strength segments
@@ -47,29 +62,17 @@ $strength-strong-color:    var(--success-bg) !default;
     }
   }
 
-  // Strength levels - set the color variable
-  .strength[data-bs-strength="weak"] {
-    --strength-color: #{$strength-weak-color};
-  }
-
-  .strength[data-bs-strength="fair"] {
-    --strength-color: #{$strength-fair-color};
-  }
-
-  .strength[data-bs-strength="good"] {
-    --strength-color: #{$strength-good-color};
-  }
-
-  .strength[data-bs-strength="strong"] {
-    --strength-color: #{$strength-strong-color};
+  @each $level in $strength-levels {
+    .strength[data-bs-strength="#{$level}"] {
+      --strength-color: var(--strength-#{$level}-color);
+    }
   }
-
   // Optional text feedback
   .strength-text {
     display: block;
-    margin-top: $strength-margin-top;
-    font-size: $small-font-size;
-    color: var(--strength-color, var(--secondary-color));
+    margin-top: var(--strength-margin-top);
+    font-size: var(--font-size-xs);
+    color: var(--strength-color, var(--fg-3));
     @include transition(color .2s ease-in-out);
 
     // Hide when empty
@@ -80,15 +83,14 @@ $strength-strong-color:    var(--success-bg) !default;
 
   // Alternative: Single bar variant (like a progress bar)
   .strength-bar {
-    --strength-height: #{$strength-height};
-    --strength-bg: #{$strength-bg};
-    --strength-border-radius: #{$strength-border-radius};
+    @include tokens($strength-tokens);
+
     --strength-color: transparent;
     --strength-width: 0%;
 
     width: 100%;
     height: var(--strength-height);
-    margin-top: $strength-margin-top;
+    margin-top: var(--strength-margin-top);
     overflow: hidden;
     background-color: var(--strength-bg);
     @include border-radius(var(--strength-border-radius));
@@ -103,24 +105,11 @@ $strength-strong-color:    var(--success-bg) !default;
       @include transition($strength-transition);
     }
 
-    &[data-bs-strength="weak"] {
-      --strength-color: #{$strength-weak-color};
-      --strength-width: 25%;
-    }
-
-    &[data-bs-strength="fair"] {
-      --strength-color: #{$strength-fair-color};
-      --strength-width: 50%;
-    }
-
-    &[data-bs-strength="good"] {
-      --strength-color: #{$strength-good-color};
-      --strength-width: 75%;
-    }
-
-    &[data-bs-strength="strong"] {
-      --strength-color: #{$strength-strong-color};
-      --strength-width: 100%;
+    @each $level in $strength-levels {
+      &[data-bs-strength="#{$level}"] {
+        --strength-color: var(--strength-#{$level}-color);
+        --strength-width: #{list.index($strength-levels, $level) * 25%};
+      }
     }
   }
 }
index 9e81780f5fe8ee0d09673ac69c3369241bc6ba13..683195012fd6c1313159faf284634b0903304065 100644 (file)
@@ -2,29 +2,43 @@
 @use "../colors" as *;
 @use "../variables" as *;
 @use "../functions" as *;
+@use "sass:map";
 @use "../mixins/border-radius" as *;
 @use "../mixins/box-shadow" as *;
 @use "../mixins/color-mode" as *;
 @use "../mixins/focus-ring" as *;
+@use "../mixins/tokens" as *;
 @use "../mixins/transition" as *;
 @use "form-variables" as *;
 
+// stylelint-disable custom-property-no-missing-var-function
+$switch-tokens: () !default;
+
+// scss-docs-start switch-tokens
+// stylelint-disable-next-line scss/dollar-variable-default
+$switch-tokens: defaults(
+  (
+    --switch-height: 1.25rem,
+    --switch-width: calc(var(--switch-height) * 1.5),
+    --switch-padding: .0625rem,
+    --switch-bg: var(--bg-3),
+    --switch-border-width: var(--border-width),
+    --switch-border-color: var(--border-color),
+    --switch-indicator-bg: var(--white),
+    --switch-checked-bg: var(--primary-base),
+    --switch-checked-border-color: var(--switch-checked-bg),
+    --switch-checked-indicator-bg: var(--white),
+    --switch-disabled-bg: var(--bg-3),
+    --switch-disabled-indicator-bg: var(--fg-3),
+  ),
+  $switch-tokens
+);
+// scss-docs-end switch-tokens
+// stylelint-enable custom-property-no-missing-var-function
+
 @layer forms {
   .switch {
-    // scss-docs-start switch-css-variables
-    --switch-height: 1.25rem;
-    --switch-width: calc(var(--switch-height) * 1.5);
-    --switch-padding: .0625rem;
-    --switch-bg: var(--secondary-bg);
-    --switch-border-width: var(--border-width);
-    --switch-border-color: var(--border-color);
-    --switch-indicator-bg: var(--white);
-    --switch-checked-bg: var(--primary-base);
-    --switch-checked-border-color: var(--switch-checked-bg);
-    --switch-checked-indicator-bg: var(--white);
-    --switch-disabled-bg: var(--secondary-bg);
-    --switch-disabled-indicator-bg: var(--secondary-text);
-    // scss-docs-end switch-css-variables
+    @include tokens($switch-tokens);
 
     position: relative;
     display: flex;
index cdd6d2e058c78a71b90f43a6dcbd2e15bd5ea5ea..87f0a1473bf03a06fcb8711506f46186dfaf7481 100644 (file)
@@ -3,6 +3,7 @@
 @use "../functions" as *;
 @use "../mixins/border-radius" as *;
 @use "../mixins/box-shadow" as *;
+@use "../mixins/focus-ring" as *;
 @use "form-variables" as *;
 @use "../tooltip" as *; // bring in tooltip variables
 
@@ -36,7 +37,7 @@
   $icon,
   $tooltip-color: color-contrast($color),
   $tooltip-bg-color: rgba($color, $form-feedback-tooltip-opacity),
-  $focus-box-shadow: null, // mdo-do: fix
+  $focus-ring-color: null, // mdo-do: fix
   $border-color: $color
 ) {
   .#{$state}-feedback {
       border-color: $border-color;
 
       @if $enable-validation-icons {
-        padding-inline-end: $input-height-inner;
+        padding-inline-end: calc(var(--control-padding-x) * 3.5);
         background-image: escape-svg($icon);
         background-repeat: no-repeat;
-        background-position: right $input-height-inner-quarter center;
-        background-size: $input-height-inner-half $input-height-inner-half;
+        background-position: right var(--control-padding-x) center;
+        background-size: 1rem;
       }
 
-      &:focus {
+      &:focus-visible {
+        @include focus-ring(true, $color: $focus-ring-color);
         border-color: $border-color;
-        @if $enable-shadows {
-          @include box-shadow($input-box-shadow, $focus-box-shadow);
-        } @else {
-          // Avoid using mixin so we can pass custom focus shadow properly
-          box-shadow: $focus-box-shadow;
-        }
+      }
+    }
+
+    &::-webkit-contacts-auto-fill-button {
+      @if $enable-validation-icons {
+        // margin-inline-end: calc(var(--control-padding-x) * 3);
       }
     }
   }
   textarea.form-control {
     @include form-validation-state-selector($state) {
       @if $enable-validation-icons {
-        padding-inline-end: $input-height-inner;
-        background-position: top $input-height-inner-quarter right $input-height-inner-quarter;
+        // padding-inline-end: $input-height-inner;
+        background-position: right var(--control-padding-x) top var(--control-padding-x);
+        // background-position: top $input-height-inner-quarter right $input-height-inner-quarter;
       }
     }
   }
 
-  // .form-select {
-  //   @include form-validation-state-selector($state) {
-  //     border-color: $border-color;
-
-  //     @if $enable-validation-icons {
-  //       &:not([multiple]):not([size]),
-  //       &:not([multiple])[size="1"] {
-  //         --form-select-bg-icon: #{escape-svg($icon)};
-  //         padding-right: $form-select-feedback-icon-padding-end;
-  //         background-position: $form-select-bg-position, $form-select-feedback-icon-position;
-  //         background-size: $form-select-bg-size, $form-select-feedback-icon-size;
-  //       }
-  //     }
-
-  //     &:focus {
-  //       border-color: $border-color;
-  //       @if $enable-shadows {
-  //         @include box-shadow($form-select-box-shadow, $focus-box-shadow);
-  //       } @else {
-  //         // Avoid using mixin so we can pass custom focus shadow properly
-  //         box-shadow: $focus-box-shadow;
-  //       }
-  //     }
-  //   }
-  // }
-
   .form-control-color {
     @include form-validation-state-selector($state) {
       @if $enable-validation-icons {
-        width: add($form-color-width, $input-height-inner);
+        // width: add($form-color-width, $input-height-inner);
       }
     }
   }
       }
 
       &:focus {
-        box-shadow: $focus-box-shadow;
+        // box-shadow: $focus-box-shadow;
       }
 
       ~ .form-check-label {
 }
 // scss-docs-end form-validation-mixins
 
-@layer forms {
+@layer components {
   // scss-docs-start form-validation-states-loop
   @each $state, $data in $form-validation-states {
     @include form-validation-state($state, $data...);
diff --git a/scss/helpers/_theme-colors.scss b/scss/helpers/_theme-colors.scss
new file mode 100644 (file)
index 0000000..b40fa19
--- /dev/null
@@ -0,0 +1,6 @@
+@use "../theme" as *;
+
+// Generate theme modifier classes (e.g., .theme-primary, .theme-accent, etc.)
+@layer helpers {
+  @include generate-theme-classes();
+}
index 6ffa4a0f337c241b7659d103f49406a1bcaf1e8d..f59cbaec25a02417970055b241da5fc5e40de602 100644 (file)
@@ -4,7 +4,7 @@
   .vr {
     display: inline-block;
     align-self: stretch;
-    width: $vr-border-width;
+    width: var(--vr-border-width, var(--border-width));
     min-height: 1em;
     background-color: var(--border-color);
   }
index 90e88eaa73976f385e694c6d62e6e2e72bf737f6..07f3c267a085d814b52bd1bbbe9585ec9d6059f6 100644 (file)
@@ -2,6 +2,7 @@
 @forward "icon-link";
 @forward "position";
 @forward "stacks";
+@forward "theme-colors";
 @forward "visually-hidden";
 @forward "stretched-link";
 @forward "text-truncation";
index 7b238c2d83009ce4de9e1636689972a566269e91..8b305cc6df49677fd388ecb1af25931080666876 100644 (file)
@@ -21,7 +21,7 @@
 }
 
 // scss-docs-start border-radius-mixins
-@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
+@mixin border-radius($radius: var(--border-radius), $fallback-border-radius: false) {
   @if $enable-rounded {
     border-radius: valid-radius($radius);
   }
   }
 }
 
-@mixin border-top-radius($radius: $border-radius) {
+@mixin border-top-radius($radius: var(--border-radius)) {
   @if $enable-rounded {
     border-start-start-radius: valid-radius($radius);
     border-start-end-radius: valid-radius($radius);
   }
 }
 
-@mixin border-end-radius($radius: $border-radius) {
+@mixin border-end-radius($radius: var(--border-radius)) {
   @if $enable-rounded {
     border-start-end-radius: valid-radius($radius);
     border-end-end-radius: valid-radius($radius);
   }
 }
 
-@mixin border-bottom-radius($radius: $border-radius) {
+@mixin border-bottom-radius($radius: var(--border-radius)) {
   @if $enable-rounded {
     border-end-start-radius: valid-radius($radius);
     border-end-end-radius: valid-radius($radius);
   }
 }
 
-@mixin border-start-radius($radius: $border-radius) {
+@mixin border-start-radius($radius: var(--border-radius)) {
   @if $enable-rounded {
     border-start-start-radius: valid-radius($radius);
     border-end-start-radius: valid-radius($radius);
   }
 }
 
-@mixin border-top-start-radius($radius: $border-radius) {
+@mixin border-top-start-radius($radius: var(--border-radius)) {
   @if $enable-rounded {
     border-start-start-radius: valid-radius($radius);
   }
 }
 
-@mixin border-top-end-radius($radius: $border-radius) {
+@mixin border-top-end-radius($radius: var(--border-radius)) {
   @if $enable-rounded {
     border-start-end-radius: valid-radius($radius);
   }
 }
 
-@mixin border-bottom-end-radius($radius: $border-radius) {
+@mixin border-bottom-end-radius($radius: var(--border-radius)) {
   @if $enable-rounded {
     border-end-end-radius: valid-radius($radius);
   }
 }
 
-@mixin border-bottom-start-radius($radius: $border-radius) {
+@mixin border-bottom-start-radius($radius: var(--border-radius)) {
   @if $enable-rounded {
     border-end-start-radius: valid-radius($radius);
   }
diff --git a/scss/mixins/_tokens.scss b/scss/mixins/_tokens.scss
new file mode 100644 (file)
index 0000000..d4132ad
--- /dev/null
@@ -0,0 +1,9 @@
+// Mixin to output tokens as CSS custom properties
+
+// scss-docs-start mixin-tokens
+@mixin tokens($map) {
+  @each $prop, $value in $map {
+    #{$prop}: #{$value};
+  }
+}
+// scss-docs-end mixin-tokens
index 1686d65c9c145f3600e960f3a6e8ab97be73750c..8443cad121bd4a71e677656c67a73cee92e808f4 100644 (file)
@@ -2,6 +2,8 @@
 //
 // Used in conjunction with global variables to enable certain theme features.
 
+@forward "tokens";
+
 // Deprecate
 @forward "deprecate";
 
index d4ad8ea8ba40aee47e3c33687877edee70f0adf8..98f57cb8d3f52e109c0381aef23297a2e6a9c9ac 100644 (file)
@@ -8,7 +8,7 @@ module.exports = {
   spec_dir: 'scss',
   // Make Jasmine look for `.test.scss` files
   // spec_files: ['**/*.{test,spec}.scss'],
-  spec_files: ['**/_utilities.test.scss', '**/modules/_configuration.test.scss'],
+  spec_files: ['**/_utilities.test.scss', '**/modules/_configuration.test.scss', '**/modules/_root-tokens.test.scss'],
   // Compile them into JS scripts running `sass-true`
   requires: [path.join(__dirname, 'sass-true/register')],
   // Ensure we use `require` so that the require.extensions works
index b8a4492e2c056aaad1e0781411b92c4e94a5ffdc..0c4830a3b57cf2f3fddebb209b4d3bedf857fccf 100644 (file)
@@ -1,37 +1,49 @@
-// Test @use with configuration syntax using a single module instance
+@use "sass:map";
+
+// Test @use with token map configuration syntax using a single module instance
 @use "../../alert" as * with (
-  $alert-link-font-weight: 800
+  $alert-tokens: (
+    --alert-gap: .75rem,
+    --alert-bg: var(--theme-bg-subtle, var(--bg-1)),
+    --alert-padding-x: 1rem,
+    --alert-padding-y: 1rem,
+    --alert-color: var(--theme-text, inherit),
+    --alert-border-color: var(--theme-border, var(--border-color)),
+    --alert-border: var(--border-width) solid var(--alert-border-color),
+    --alert-border-radius: var(--border-radius),
+    --alert-link-color: #0a58ca,
+    --hr-border-color: var(--theme-border, var(--border-color)),
+  )
 );
-@use "../../variables" as *;
 
 $true-terminal-output: false;
 
 @include describe("Bootstrap module configuration") {
   @include describe("@use with configuration syntax") {
-    @include it("should allow configuring alert variables with @use ... with") {
+    @include it("should allow configuring alert tokens with @use ... with") {
       @include assert() {
         @include output() {
           .test {
-            font-weight: $alert-link-font-weight;
+            color: map.get($alert-tokens, --alert-link-color);
           }
         }
 
         @include expect() {
           .test {
-            font-weight: 800;
+            color: #0a58ca;
           }
         }
       }
     }
 
-    @include it("should maintain other alert variables with default values") {
+    @include it("should maintain other alert tokens with configured values") {
       @include assert() {
         @include output() {
           .test {
-            padding-y: $alert-padding-y;
-            padding-x: $alert-padding-x;
+            padding-y: map.get($alert-tokens, --alert-padding-y);
+            padding-x: map.get($alert-tokens, --alert-padding-x);
             // stylelint-disable-next-line property-disallowed-list
-            border-radius: $alert-border-radius;
+            border-radius: map.get($alert-tokens, --alert-border-radius);
           }
         }
 
diff --git a/scss/tests/modules/_root-tokens-bootstrap.test.scss b/scss/tests/modules/_root-tokens-bootstrap.test.scss
new file mode 100644 (file)
index 0000000..40f1bb8
--- /dev/null
@@ -0,0 +1,30 @@
+// Test customizing root tokens when importing full Bootstrap
+//
+// =============================================================================
+// Customize via @use "bootstrap" with ($root-tokens: (...))
+// This imports all of Bootstrap while customizing root tokens
+// =============================================================================
+
+@use "../../bootstrap" as * with (
+  // Customize root tokens
+  $root-tokens: (
+    // Override existing tokens
+    --black: #0a0a0a,
+    --white: #fafafa,
+    // Add custom tokens
+    --brand-primary: #e91e63,
+    --brand-secondary: #9c27b0,
+    --site-max-width: 1400px,
+  ),
+  // Customize dropdown tokens
+  $dropdown-tokens: (
+    --dropdown-bg: var(--bg-2),
+    --dropdown-border-radius: var(--border-radius-xl),
+    --dropdown-padding-x: 1rem,
+    --dropdown-padding-y: 1rem,
+  )
+);
+
+// The full Bootstrap CSS will be output with your customizations merged in.
+// You can verify by compiling this file:
+//   npx sass scss/tests/modules/_root-tokens-bootstrap.test.scss
diff --git a/scss/tests/modules/_root-tokens.test.scss b/scss/tests/modules/_root-tokens.test.scss
new file mode 100644 (file)
index 0000000..2398883
--- /dev/null
@@ -0,0 +1,73 @@
+@use "sass:map";
+
+// Test customizing root tokens via @use "root" with ($root-tokens: (...))
+@use "../../root" as * with (
+  $root-tokens: (
+    --black: #111,
+    --white: #fefefe,
+    --brand-color: #f60,
+    --custom-spacing: 1.5rem,
+  )
+);
+
+$true-terminal-output: false;
+
+@include describe("Root token customization") {
+  @include describe("@use with $root-tokens overrides") {
+    @include it("should override existing token values") {
+      @include assert() {
+        @include output() {
+          .test {
+            color: map.get($root-tokens, --black);
+            background: map.get($root-tokens, --white);
+          }
+        }
+
+        @include expect() {
+          .test {
+            color: #111;
+            background: #fefefe;
+          }
+        }
+      }
+    }
+
+    @include it("should include custom tokens added via configuration") {
+      @include assert() {
+        @include output() {
+          .test {
+            padding: map.get($root-tokens, --custom-spacing);
+            color: map.get($root-tokens, --brand-color);
+          }
+        }
+
+        @include expect() {
+          .test {
+            padding: 1.5rem;
+            color: #f60;
+          }
+        }
+      }
+    }
+
+    @include it("should still include dynamically generated theme tokens") {
+      @include assert() {
+        @include output() {
+          .test {
+            has-bg-body: #{map.has-key($root-tokens, --bg-body)};
+            has-fg-body: #{map.has-key($root-tokens, --fg-body)};
+            has-primary-base: #{map.has-key($root-tokens, --primary-base)};
+          }
+        }
+
+        @include expect() {
+          .test {
+            has-bg-body: true;
+            has-fg-body: true;
+            has-primary-base: true;
+          }
+        }
+      }
+    }
+  }
+}
index d5f3cbdc91f5122e96571a550613d8af31821754..b4199fe7edd2aad21813c581c1a2ab2810045612 100644 (file)
@@ -1,7 +1,7 @@
 import { defineConfig } from 'astro/config'
 import bootstrapLight from 'bootstrap-vscode-theme/themes/bootstrap-light.json'
 import bootstrapDark from 'bootstrap-vscode-theme/themes/bootstrap-dark.json'
-import { transformerNotationDiff } from '@shikijs/transformers'
+import { transformerNotationDiff, transformerNotationHighlight } from '@shikijs/transformers'
 
 import { bootstrap } from './src/libs/astro'
 import { getConfig } from './src/libs/config'
@@ -35,6 +35,7 @@ export default defineConfig({
       },
       transformers: [
         transformerNotationDiff(),
+        transformerNotationHighlight(),
         {
           name: 'add-language-attribute',
           pre(node) {
index 1adbb4c977ede454e6a613848d70b2e0e292bf3d..6d9baa77ccd9a1fbacc5ec7ef81f4d02eaf63e50 100644 (file)
@@ -58,7 +58,6 @@
     - title: Typography
     - title: Images
     - title: Tables
-    - title: Figures
     - title: Prose
 
 - title: Forms
index 29d09de118d8525d2fe00597035051e25f71fb27..c158be0b08848d36950e07be592ef339bed367d5 100644 (file)
@@ -25,39 +25,32 @@ import Code from '@shortcodes/Code.astro'
     <h3>Include all of Bootstrap’s Sass</h3>
     <p>Import one stylesheet and you're off to the races with every feature of our CSS.</p>
     <Code
-      code={`// Variable overrides first
-$primary: #900;
-$enable-shadows: true;
+      code={`// Import all of Bootstrap
+@use "bootstrap/scss/bootstrap";
 
-// Then import Bootstrap
-@import "../node_modules/bootstrap/scss/bootstrap";`}
+// Add your custom styles below`}
       lang="scss"
     />
-    <p>Learn more about our <a href={getVersionedDocsPath('customize/options')}>global Sass options</a>.</p>
+    <p>Learn more about our <a href={getVersionedDocsPath('customize/sass')}>Sass customization options</a>.</p>
   </div>
   <div class="col-lg-6">
     <h3>Include what you need</h3>
     <p>The easiest way to customize Bootstrap—include only the CSS you need.</p>
     <Code
-      code={`// Functions first
-@import "../node_modules/bootstrap/scss/functions";
+      code={`// Include root (configuration, colors, tokens)
+@use "bootstrap/scss/root";
 
-// Variable overrides second
-$primary: #900;
-$enable-shadows: true;
+// Include only what you need
+@use "bootstrap/scss/content";
+@use "bootstrap/scss/layout";
+@use "bootstrap/scss/forms";
+@use "bootstrap/scss/buttons";
+@use "bootstrap/scss/alert";
+@use "bootstrap/scss/card";
 
-// Required Bootstrap imports
-@import "../node_modules/bootstrap/scss/variables";
-@import "../node_modules/bootstrap/scss/mixins";
-@import "../node_modules/bootstrap/scss/root";
-
-// Optional components
-@import "../node_modules/bootstrap/scss/utilities";
-@import "../node_modules/bootstrap/scss/reboot";
-@import "../node_modules/bootstrap/scss/containers";
-@import "../node_modules/bootstrap/scss/grid";
-@import "../node_modules/bootstrap/scss/helpers";
-@import "../node_modules/bootstrap/scss/utilities/api";`}
+// Helpers and utilities
+@use "bootstrap/scss/helpers";
+@use "bootstrap/scss/utilities/api";`}
       lang="scss"
     />
     <p>Learn more about <a href={getVersionedDocsPath('customize/sass')}>using Bootstrap with Sass</a>.</p>
index d316a797c234bc2f947c5b8a6f6999b5d04edeef..43d1ecf0c7a9e1b3904e4c9483a38733db0743fa 100644 (file)
@@ -9,5 +9,5 @@ const { component, className } = Astro.props
 
 <p>
   {component} use local CSS variables on <code>.{className}</code> for real-time customization.
-  Values for the CSS variables are set via Sass, so Sass customization is still supported, too.
+  Values for the CSS variables are generated from Sass maps unique to each component and applied to the aforementioned class.
 </p>
index 1125a78c2924ddb229283af29894d2db316c00ab..7f8b3c77f3f4ae5ade7f3bf95e735e023b2b3748 100644 (file)
@@ -2,7 +2,7 @@
 import fs from 'node:fs'
 import path from 'node:path'
 import { codeToHtml } from 'shiki'
-import { transformerNotationDiff } from '@shikijs/transformers'
+import { transformerNotationDiff, transformerNotationHighlight } from '@shikijs/transformers'
 import bootstrapLight from 'bootstrap-vscode-theme/themes/bootstrap-light.json'
 import bootstrapDark from 'bootstrap-vscode-theme/themes/bootstrap-dark.json'
 import { replaceConfigInText } from '@libs/remark'
@@ -161,7 +161,8 @@ const lineWrapperTransformer = {
 }
 
 const transformers: any[] = [
-  transformerNotationDiff(), // Run diff transformer first, supports // [!code ++] and // [!code --] notation
+  transformerNotationDiff(), // Supports // [!code ++] and // [!code --] notation
+  transformerNotationHighlight(), // Supports line highlight notation
   classTransformer
 ]
 if (shouldWrapLines) {
@@ -181,6 +182,7 @@ if (tabs && tabs.length > 0) {
 
       const tabTransformers: any[] = [
         transformerNotationDiff(),
+        transformerNotationHighlight(),
         classTransformer
       ]
       if (shouldWrapTabLines) {
index d453770f020107f50f76ed2ffe666faf5d4fd8d1..a29853848bb42128d4f782ccd0a7d5212442e9df 100644 (file)
@@ -158,11 +158,7 @@ The native `<details>` and `<summary>` elements provide built-in accessibility:
 
 <CSSVariables component="Accordions" className="accordion" />
 
-<ScssDocs name="accordion-css-vars" file="scss/_accordion.scss" />
-
-### Sass variables
-
-<ScssDocs name="accordion-variables" file="scss/_accordion.scss" />
+<ScssDocs name="accordion-tokens" file="scss/_accordion.scss" />
 
 ## Customize
 
index 89b60b4ca3206fc2b7be069ab02773f3c34b54f5..f4fec221f84acab4c5809a0572a5ee4de2e09fa5 100644 (file)
@@ -97,11 +97,7 @@ When an alert is dismissed, the element is completely removed from the page stru
 
 <CSSVariables component="Alerts" className="alert" />
 
-<ScssDocs name="alert-css-vars" file="scss/_alert.scss" />
-
-### Sass variables
-
-<ScssDocs name="alert-variables" file="scss/_alert.scss" />
+<ScssDocs name="alert-tokens" file="scss/_alert.scss" />
 
 ### Sass loops
 
index b5324104f33db6b94e92de794bf87ff67321e03e..84d384dd5e0524ca35b2af9eff3933db6442814c 100644 (file)
@@ -222,8 +222,10 @@ Combine with initials to show a count of additional users.
 
 <CSSVariables component="Avatar" className="avatar" />
 
-<ScssDocs name="avatar-css-vars" file="scss/_avatar.scss" />
+<ScssDocs name="avatar-tokens" file="scss/_avatar.scss" />
 
-### Sass variables
+### Sass maps
 
-<ScssDocs name="avatar-variables" file="scss/_avatar.scss" />
+Avatar sizes are defined in the `$avatar-sizes` Sass map. Each size specifies the avatar size and status size.
+
+<ScssDocs name="avatar-sizes" file="scss/_avatar.scss" />
index 3d1dab19efbdfc9f189f64b254fcdfc0cbbfeadb..9426dfa5300702032171b33a5e6664b8175faf87 100644 (file)
@@ -74,8 +74,4 @@ Use the contextual `.theme-{color}` classes to apply a semantic theme color to b
 
 <CSSVariables component="Badges" className="badge" />
 
-<ScssDocs name="badge-css-vars" file="scss/_badge.scss" />
-
-### Sass variables
-
-<ScssDocs name="badge-variables" file="scss/_badge.scss" />
+<ScssDocs name="badge-tokens" file="scss/_badge.scss" />
index c30bcf82f108cd566766ad1921330fa09b5ca3d8..616403f93a856767edf59c8e4ff254789bff16ac 100644 (file)
@@ -134,8 +134,4 @@ For more information, see the [ARIA Authoring Practices Guide breadcrumb pattern
 
 <CSSVariables component="Breadcrumbs" className="breadcrumb" />
 
-<ScssDocs name="breadcrumb-css-vars" file="scss/_breadcrumb.scss" />
-
-### Sass variables
-
-<ScssDocs name="breadcrumb-variables" file="scss/_breadcrumb.scss" />
+<ScssDocs name="breadcrumb-tokens" file="scss/_breadcrumb.scss" />
index f580b298797e4108adfe0929b9af99dea27a1173..fe5744f77e2ff30a3964f2cc0255947a6441dcbe 100644 (file)
@@ -277,19 +277,27 @@ document.querySelectorAll('.btn').forEach(buttonElement => {
 
 Buttons use CSS variables for real-time customization. These are set on the base `.btn` class and inherited by all button variants.
 
-<ScssDocs name="btn-css-vars" file="scss/buttons/_button.scss" />
+<ScssDocs name="btn-tokens" file="scss/buttons/_button.scss" />
 
 Each variant class (`.btn-solid`, `.btn-outline`, etc.) updates these variables based on the current theme color, allowing buttons to adapt automatically when used with `.theme-*` classes.
 
-### Sass variables
+Styled buttons use the `$button-styled-tokens` Sass map.
 
-Base button styling uses these Sass variables for padding, typography, and sizing across all button variants.
+<ScssDocs name="button-styled-tokens" file="scss/buttons/_button.scss" />
 
-<ScssDocs name="btn-variables" file="scss/buttons/_button-variables.scss" />
+Link buttons use the `$button-link-tokens` Sass map.
+
+<ScssDocs name="button-link-tokens" file="scss/buttons/_button.scss" />
 
 ### Sass maps
 
-#### Variants map
+#### Sizes
+
+Button sizes are defined in the `$button-sizes` Sass map. Each size specifies several variables through a Sass loop. These mostly line up with textual form controls.
+
+<ScssDocs name="button-sizes" file="scss/buttons/_button.scss" />
+
+#### Variants
 
 Button variants are defined in the `$button-variants` Sass map. Each variant specifies which theme color tokens to use for its base, hover, and active states. The map uses token names (like `"bg"`, `"contrast"`, `"border"`) that reference the current theme's color palette.
 
@@ -333,32 +341,6 @@ To remove a variant you don't need, use Sass's `map.remove()`:
 );
 ```
 
-#### Sizes map
-
-Button sizes are defined in the `$button-sizes` map. Each size specifies padding, font size, line height, border radius, and minimum height. The loop generates `.btn-xs`, `.btn-sm`, and `.btn-lg` classes.
-
-<ScssDocs name="btn-sizes" file="scss/buttons/_button.scss" />
-
-To add or modify sizes, extend the map:
-
-```scss
-@use "bootstrap/scss/buttons/button" with (
-  $button-sizes: (
-    "xs": ( /* ... */ ),
-    "sm": ( /* ... */ ),
-    "lg": ( /* ... */ ),
-    "xl": (
-      "padding-y": .75rem,
-      "padding-x": 1.25rem,
-      "font-size": var(--bs-font-size-lg),
-      "line-height": 1.5rem,
-      "border-radius": var(--bs-border-radius-lg),
-      "min-height": 3.25rem
-    )
-  )
-);
-```
-
 ### Sass loops
 
 #### Variant loop
@@ -369,17 +351,6 @@ The variant loop iterates over `$button-variants` to generate each variant class
 
 #### Size loop
 
-The size loop iterates over `$button-sizes` to generate size modifier classes, setting the appropriate CSS variables for each size.
+The size loop iterates over `$button-sizes` to generate size modifier classes, setting the appropriate CSS variables for each size, including for button groups.
 
-```scss
-@each $size, $properties in $button-sizes {
-  .btn-#{$size} {
-    --bs-btn-min-height: #{map.get($properties, "min-height")};
-    --bs-btn-padding-y: #{map.get($properties, "padding-y")};
-    --bs-btn-padding-x: #{map.get($properties, "padding-x")};
-    --bs-btn-font-size: #{map.get($properties, "font-size")};
-    --bs-btn-line-height: #{map.get($properties, "line-height")};
-    --bs-btn-border-radius: #{map.get($properties, "border-radius")};
-  }
-}
-```
+<ScssDocs name="btn-sizes-loop" file="scss/buttons/_button.scss" />
index 73869f17af54c3b1ba964eac53ddfe861a5ee465..c4e8a661374cdf49072157fb70bde12224e1105b 100644 (file)
@@ -633,8 +633,4 @@ In `v4` we used a CSS-only technique to mimic the behavior of [Masonry](https://
 
 <CSSVariables component="Cards" className="card" />
 
-<ScssDocs name="card-css-vars" file="scss/_card.scss" />
-
-### Sass variables
-
-<ScssDocs name="card-variables" file="scss/_card.scss" />
+<ScssDocs name="card-tokens" file="scss/_card.scss" />
index 77a9fa1d611e674b43319ad3e6654f909411bc54..b183875ec65dba576aed2400d1aab7d7b48356cd 100644 (file)
@@ -321,15 +321,15 @@ The transition duration of `.carousel-item` can be changed with the `$carousel-t
 
 ## CSS
 
-### Sass variables
+### Variables
 
-Variables for all carousels:
+Tokens for all carousels:
 
-<ScssDocs name="carousel-variables" file="scss/_carousel.scss" />
+<ScssDocs name="carousel-tokens" file="scss/_carousel.scss" />
 
-Variables for the [dark carousel](#dark-carousel):
+Tokens for the [dark carousel](#dark-carousel):
 
-<ScssDocs name="carousel-dark-variables" file="scss/_carousel.scss" />
+<ScssDocs name="carousel-dark-tokens" file="scss/_carousel.scss" />
 
 ## Usage
 
index adf5d9a2590ec562f0735aede4d9f5369dd7fb91..08e60300b163ad1edd25a567b6a36ad30d92bd2a 100644 (file)
@@ -47,8 +47,4 @@ Add `data-bs-theme="dark"` to the `.btn-close`, or to its parent element, to inv
 
 <CSSVariables component="Close button" className="btn-close" />
 
-<ScssDocs name="close-css-vars" file="scss/buttons/_close.scss" />
-
-### Sass variables
-
-<ScssDocs name="close-variables" file="scss/buttons/_close.scss" />
+<ScssDocs name="btn-close-tokens" file="scss/buttons/_close.scss" />
index a7e26d2c5b33b924e679bb93f8b2ef9fbacecbf7..4bc89801e0c62450eec0f1498ef9008bd6cec35d 100644 (file)
@@ -419,6 +419,18 @@ Responsive fullscreen variants are also available. These make the dialog fullscr
 <dialog class="dialog dialog-fullscreen-lg-down">...</dialog>
 ```
 
+## CSS
+
+### Variables
+
+<ScssDocs name="dialog-tokens" file="scss/_dialog.scss" />
+
+### Sass maps
+
+Dialog sizes are defined in the `$dialog-sizes` Sass map. Each size specifies the dialog `width`.
+
+<ScssDocs name="dialog-sizes" file="scss/_dialog.scss" />
+
 ## JavaScript behavior
 
 ### Via data attributes
index 4a6ad8e55b129f7490c49470e6f3f81b7f718e60..af8ad428c9a799d28eac03b5bdef0a592c065cd7 100644 (file)
@@ -488,7 +488,7 @@ Dropdowns include built-in keyboard support for navigating menu items.
 
 <CSSVariables component="Dropdowns" className="dropdown-menu" />
 
-<ScssDocs name="dropdown-css-vars" file="scss/_dropdown.scss" />
+<ScssDocs name="dropdown-tokens" file="scss/_dropdown.scss" />
 
 <Callout>
 Dropdown items include at least one variable that is not set on `.dropdown`. This allows you to provide a new value while Bootstrap defaults to a fallback value.
@@ -496,20 +496,8 @@ Dropdown items include at least one variable that is not set on `.dropdown`. Thi
 - `--bs-dropdown-item-border-radius`
 </Callout>
 
-Customization through CSS variables can be seen on the `.dropdown-menu-dark` class where we override specific values without adding duplicate CSS selectors.
-
-<ScssDocs name="dropdown-dark-css-vars" file="scss/_dropdown.scss" />
-
 ### Sass variables
 
-Variables for all dropdowns:
-
-<ScssDocs name="dropdown-variables" file="scss/_dropdown.scss" />
-
-Variables for the [dark dropdown](#dark-dropdowns):
-
-<ScssDocs name="dropdown-dark-variables" file="scss/_dropdown.scss" />
-
 Variables for the CSS-based carets that indicate a dropdown’s interactivity:
 
 <ScssDocs name="caret-variables" file="scss/mixins/_caret.scss" />
index cfdf9fd97b73a459b385114e39571ea8e1d33d47..f5b41bedd3ec6a9da3e8c1279df67537c15d76eb 100644 (file)
@@ -255,11 +255,7 @@ You can use `.stretched-link` on `<label>`s to make the whole list group item cl
 
 <CSSVariables component="List groups" className="list-group" />
 
-<ScssDocs name="list-group-css-vars" file="scss/_list-group.scss" />
-
-### Sass variables
-
-<ScssDocs name="list-group-variables" file="scss/_list-group.scss" />
+<ScssDocs name="list-group-tokens" file="scss/_list-group.scss" />
 
 ## JavaScript behavior
 
index 3d4b01f82a9aec07dc700cd8420599a1847905e9..c3778fb161298464e6f3c2bde175af4bf87a178b 100644 (file)
@@ -723,25 +723,9 @@ When using offcanvas in a dark navbar, be aware that you may need to have a dark
 
 <CSSVariables component="Navbars" className="navbar" />
 
-<ScssDocs name="navbar-css-vars" file="scss/_navbar.scss" />
+<ScssDocs name="navbar-tokens" file="scss/_navbar.scss" />
 
-Some additional CSS variables are also present on `.navbar-nav`:
-
-<ScssDocs name="navbar-nav-css-vars" file="scss/_navbar.scss" />
-
-Customization through CSS variables can be seen on the `.navbar-dark` class where we override specific values without adding duplicate CSS selectors.
-
-<ScssDocs name="navbar-dark-css-vars" file="scss/_navbar.scss" />
-
-### Sass variables
-
-Variables for all navbars:
-
-<ScssDocs name="navbar-variables" file="scss/_navbar.scss" />
-
-Variables for the [dark navbar](#color-schemes):
-
-<ScssDocs name="navbar-dark-variables" file="scss/_navbar.scss" />
+<ScssDocs name="navbar-dark-tokens" file="scss/_navbar.scss" />
 
 ### Sass loops
 
index 3755ca9cac2ad42cfb4bde260dea15795985057f..be4a312a45260a1d66de0682817f4511e3bb550c 100644 (file)
@@ -299,23 +299,19 @@ Add dropdown menus with a little extra HTML and the [dropdowns JavaScript plugin
 
 On the `.nav` base class:
 
-<ScssDocs name="nav-css-vars" file="scss/_nav.scss" />
+<ScssDocs name="nav-tokens" file="scss/_nav.scss" />
 
 On the `.nav-tabs` modifier class:
 
-<ScssDocs name="nav-tabs-css-vars" file="scss/_nav.scss" />
+<ScssDocs name="nav-tabs-tokens" file="scss/_nav.scss" />
 
 On the `.nav-pills` modifier class:
 
-<ScssDocs name="nav-pills-css-vars" file="scss/_nav.scss" />
+<ScssDocs name="nav-pills-tokens" file="scss/_nav.scss" />
 
 On the `.nav-underline` modifier class:
 
-<ScssDocs name="nav-underline-css-vars" file="scss/_nav.scss" />
-
-### Sass variables
-
-<ScssDocs name="nav-variables" file="scss/_nav.scss" />
+<ScssDocs name="nav-underline-tokens" file="scss/_nav.scss" />
 
 ## JavaScript behavior
 
index 92e8b1f609dc927ce79161b620d488965588ef05..35d0b5f498f1d218a5227c7618177591680cd8b3 100644 (file)
@@ -9,7 +9,6 @@ toc: true
 Offcanvas is a sidebar component that can be toggled via JavaScript to appear from the left, right, top, or bottom edge of the viewport. Buttons or anchors are used as triggers that are attached to specific elements you toggle, and `data` attributes are used to invoke our JavaScript.
 
 - Offcanvas shares some of the same JavaScript code as dialogs. Conceptually, they are quite similar, but they are separate plugins.
-- Similarly, some [source Sass](#sass-variables) variables for offcanvas’s styles and dimensions are inherited from the modal’s variables.
 - When shown, offcanvas includes a default backdrop that can be clicked to hide the offcanvas.
 - Similar to dialogs, only one offcanvas can be shown at a time.
 
@@ -221,11 +220,11 @@ Since the offcanvas panel is conceptually a modal dialog, be sure to add `aria-l
 
 <CSSVariables component="Offcanvas" className="offcanvas" />
 
-<ScssDocs name="offcanvas-css-vars" file="scss/_offcanvas.scss" />
+<ScssDocs name="offcanvas-tokens" file="scss/_offcanvas.scss" />
 
-### Sass variables
+Tokens for the offcanvas backdrop are available in a separate map as they apply to `.offcanvas-backdrop`, a sibling to `.offcanvas`.
 
-<ScssDocs name="offcanvas-variables" file="scss/_variables.scss" />
+<ScssDocs name="offcanvas-backdrop-tokens" file="scss/_offcanvas.scss" />
 
 ## Usage
 
index 6d140840eca200b37129c8c5a67178715c32c304..0ab622369334af44f9d9f408b615eae61e6b4449 100644 (file)
@@ -158,11 +158,7 @@ Or with `.justify-content-end`:
 
 <CSSVariables component="Pagination" className="pagination" />
 
-<ScssDocs name="pagination-css-vars" file="scss/_pagination.scss" />
-
-### Sass variables
-
-<ScssDocs name="pagination-variables" file="scss/_pagination.scss" />
+<ScssDocs name="pagination-tokens" file="scss/_pagination.scss" />
 
 ### Sass mixins
 
index 99984200c751e4a7b62baf3ea49c74a7394f75ea..988b6dc8e8eca481888e8fc668a0811e446e376d 100644 (file)
@@ -128,6 +128,6 @@ Animate placeholders with `.placeholder-glow` or `.placeholder-wave` to better c
 
 ## CSS
 
-### Sass variables
+### Variables
 
-<ScssDocs name="placeholders" file="scss/_placeholder.scss" />
+<ScssDocs name="placeholder-tokens" file="scss/_placeholder.scss" />
index 29ecda5614cd637c2ffbf4e1633a4141a6e31021..c66c53726efe6f7a101e611601e12c837e74be51 100644 (file)
@@ -179,11 +179,7 @@ For disabled popover triggers, you may also prefer `data-bs-trigger="hover focus
 
 <CSSVariables component="Popovers" className="popover" />
 
-<ScssDocs name="popover-css-vars" file="scss/_popover.scss" />
-
-### Sass variables
-
-<ScssDocs name="popover-variables" file="scss/_popover.scss" />
+<ScssDocs name="popover-tokens" file="scss/_popover.scss" />
 
 ## Usage
 
index 5f52ede00a70374a77b4d1999de5f2083937bab3..fcbdf520f282869a9846f19374699eb9096d3be3 100644 (file)
@@ -155,11 +155,7 @@ The striped gradient can also be animated. Add `.progress-bar-animated` to `.pro
 
 <CSSVariables component="Progress" className="progress" />
 
-<ScssDocs name="progress-css-vars" file="scss/_progress.scss" />
-
-### Sass variables
-
-<ScssDocs name="progress-variables" file="scss/_progress.scss" />
+<ScssDocs name="progress-tokens" file="scss/_progress.scss" />
 
 ### Keyframes
 
index d0d300ec5e095fbca3276ce75cf914711d1abef3..bfeaa3035b1eb4b06ae835a5c23f3a6bc52302c4 100644 (file)
@@ -143,21 +143,19 @@ Use spinners within buttons to indicate an action is currently processing or tak
 
 <CSSVariables component="Spinners" className="spinner-{border|grow}" />
 
-Border spinner variables:
+Border spinner tokens:
 
-<ScssDocs name="spinner-border-css-vars" file="scss/_spinner.scss" />
+<ScssDocs name="spinner-border-tokens" file="scss/_spinner.scss" />
 
-Growing spinner variables:
+Growing spinner tokens:
 
-<ScssDocs name="spinner-grow-css-vars" file="scss/_spinner.scss" />
+<ScssDocs name="spinner-grow-tokens" file="scss/_spinner.scss" />
 
-For both spinners, small spinner modifier classes are used to update the values of these CSS variables as needed. For example, the `.spinner-border-sm` class does the following:
+Small spinner modifier tokens:
 
 <ScssDocs name="spinner-border-sm-css-vars" file="scss/_spinner.scss" />
 
-### Sass variables
-
-<ScssDocs name="spinner-variables" file="scss/_spinner.scss" />
+<ScssDocs name="spinner-grow-sm-css-vars" file="scss/_spinner.scss" />
 
 ### Keyframes
 
index 184092451587663e01480a04e9b4a181fee722d8..464ac721bd8b2479b057df78636e1e40346701a4 100644 (file)
@@ -122,13 +122,9 @@ Consider using our [link utilities]([[docsref:/utilities/link]]) for quick color
 
 ### Variables
 
-Steppers use [CSS variables]([[docsref:/customize/css-variables]]) for easier customization.
+<CSSVariables component="Steppers" className="stepper" />
 
-<ScssDocs name="stepper-css-vars" file="scss/_stepper.scss" />
-
-### Sass variables
-
-<ScssDocs name="stepper-variables" file="scss/_stepper.scss" />
+<ScssDocs name="stepper-tokens" file="scss/_stepper.scss" />
 
 ### Sass mixin
 
index 0330eb2073c494284aab68c2679df4a7a12140d3..6d9f70e9203038f033302d46e3ec2db8de8c2035 100644 (file)
@@ -296,11 +296,7 @@ While technically it’s possible to add focusable/actionable controls (such as
 
 <CSSVariables component="Toasts" className="toast" />
 
-<ScssDocs name="toast-css-vars" file="scss/_toasts.scss" />
-
-### Sass variables
-
-<ScssDocs name="toast-variables" file="scss/_toasts.scss" />
+<ScssDocs name="toast-tokens" file="scss/_toasts.scss" />
 
 ## Usage
 
index 5b90c468b270dccf4da8952569bb334535371f44..1f916f7834c5fee1eae84a242c5d58a77372f200 100644 (file)
@@ -144,11 +144,7 @@ Elements with the `disabled` attribute aren’t interactive, meaning users canno
 
 <CSSVariables component="Tooltips" className="tooltip" />
 
-<ScssDocs name="tooltip-css-vars" file="scss/_tooltip.scss" />
-
-### Sass variables
-
-<ScssDocs name="tooltip-variables" file="scss/_tooltip.scss" />
+<ScssDocs name="tooltip-tokens" file="scss/_tooltip.scss" />
 
 ## Usage
 
diff --git a/site/src/content/docs/content/figures.mdx b/site/src/content/docs/content/figures.mdx
deleted file mode 100644 (file)
index fc8fcee..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
----
-title: Figures
-description: Documentation and examples for displaying related images and text with the figure component in Bootstrap.
-toc: true
----
-
-Anytime you need to display a piece of content—like an image with an optional caption, consider using a `<figure>`.
-
-Use the included `.figure`, `.figure-img` and `.figure-caption` classes to provide some baseline styles for the HTML5 `<figure>` and `<figcaption>` elements. Images in figures have no explicit size, so be sure to add the `.img-fluid` class to your `<img>` to make it responsive.
-
-<Example code={`<figure class="figure">
-    <Placeholder width="400" height="300" class="figure-img img-fluid rounded" />
-    <figcaption class="figure-caption">A caption for the above image.</figcaption>
-  </figure>`} />
-
-Aligning the figure’s caption is easy with our [text utilities]([[docsref:/utilities/text-alignment]]).
-
-<Example code={`<figure class="figure">
-    <Placeholder width="400" height="300" class="figure-img img-fluid rounded" />
-    <figcaption class="figure-caption text-end">A caption for the above image.</figcaption>
-  </figure>`} />
-
-## CSS
-
-### Sass variables
-
-<ScssDocs name="figure-variables" file="scss/content/_images.scss" />
index 6038744622d6ba9b2b270b307b58945421a7d006..558e62617c818d5ffe2ad53f9534c6af05e3c377 100644 (file)
@@ -29,6 +29,24 @@ Align images with the [helper float classes]([[docsref:/utilities/float]]) or [t
     <Placeholder width="200" height="200" class="rounded" />
   </div>`} />
 
+## Figures
+
+Anytime you need to display a piece of content—like an image with an optional caption, consider using a `<figure>` Figures are flex containers in Bootstrap, so you can easily modify the layout and alignment with our [flex utilities]([[docsref:/utilities/flex]]).
+
+Use the included `.figure`, `.figure-img` and `.figure-caption` classes to provide some baseline styles for the HTML5 `<figure>` and `<figcaption>` elements. Images in figures have no explicit size, so be sure to add the `.img-fluid` class to your `<img>` to make it responsive.
+
+<Example code={`<figure class="figure">
+    <Placeholder width="400" height="300" class="figure-img img-fluid rounded-3" />
+    <figcaption class="figure-caption">A caption for the above image.</figcaption>
+  </figure>`} />
+
+And with a reverse alignment:
+
+<Example code={`<figure class="figure align-items-end"><!-- [!code highlight] -->
+    <Placeholder width="400" height="300" class="figure-img img-fluid rounded-3" />
+    <figcaption class="figure-caption">A caption for the above image.</figcaption>
+  </figure>`} />
+
 ## Picture
 
 If you are using the `<picture>` element to specify multiple `<source>` elements for a specific `<img>`, make sure to add the `.img-*` classes to the `<img>` and not to the `<picture>` tag.
@@ -42,8 +60,12 @@ If you are using the `<picture>` element to specify multiple `<source>` elements
 
 ## CSS
 
-### Sass variables
+### Variables
+
+<CSSVariables component="Images" className="img-thumbnail" />
+
+<ScssDocs name="thumbnail-tokens" file="scss/content/_images.scss" />
 
-Variables are available for image thumbnails.
+And for figures as well:
 
-<ScssDocs name="thumbnail-variables" file="scss/content/_images.scss" />
+<ScssDocs name="figure-tokens" file="scss/content/_images.scss" />
index 66b53517d07b8f74bc08e29801f82c83fceaf1fe..821800f41357747ce98ca0a32dce0497394df62b 100644 (file)
@@ -20,11 +20,9 @@ Wrap your content in the `.prose` class to get modified font-size, line-height,
 
 ## Example
 
-This is an example of source Markdown that shows several types of HTML content supported in this `.prose` wrapper class.
+Below is an example of Markdown demonstrating several types of HTML content supported in the `.prose` class.
 
-<hr class="my-5" />
-
-<div class="prose">
+<div class="prose border rounded-3 p-3 p-lg-5 max-w-100">
 # Getting started with documentation
 Writing clear and effective documentation is essential for any project. When you create content that others will read and use, [proper formatting](#) makes all the difference. *Good documentation* helps users understand complex concepts quickly and efficiently.
 
@@ -54,7 +52,7 @@ Effective documentation requires careful attention to structure and flow. When o
 
 Inline code is available with the `<code>` element. Snippets of multiple lines of code are supported through Rouge. Longer lines will automatically scroll horizontally when needed. You may also use code fencing (triple backticks) for rendering code.
 
-```js
+<pre>
 // Example can be run directly in your JavaScript console
 
 // Create a function that takes two arguments and returns the sum of those arguments
@@ -63,7 +61,7 @@ var adder = new Function("a", "b", "return a + b");
 // Call the function
 adder(2, 6);
 // > 8
-```
+</pre>
 
 Code examples should be practical and directly related to the concepts being explained. Always test your code snippets to ensure they work as expected before including them in documentation.
 
index c0fecb7323d4516c64a9881d300344f9f626151a..36a5846002bd2c2d0245caadb8bef22796241163 100644 (file)
@@ -18,46 +18,42 @@ Using the most basic table markup, here’s how `.table`-based tables look in Bo
 
 Use theme-specific color classes to style tables, table rows, or individual cells. These adapt to color modes as well.
 
-<div class="bd-example">
-  <table class="table">
-    <thead>
-      <tr>
-        <th scope="col">Class</th>
-        <th scope="col">Heading</th>
-        <th scope="col">Heading</th>
-      </tr>
-    </thead>
-    <tbody>
-      <tr>
-        <th scope="row">Default</th>
-        <td>Cell</td>
-        <td>Cell</td>
-      </tr>
-      {getData('theme-colors').map((themeColor) => {
-        return (
-          <tr class={`theme-${themeColor.name}`}>
-            <th scope="row">{themeColor.title}</th>
-            <td>Cell</td>
-            <td>Cell</td>
-          </tr>
-        )
-      })}
-    </tbody>
-  </table>
-</div>
-
-<Code code={[
+<Example code={[
+  `<table class="table">
+  <thead>
+    <tr>
+      <th scope="col">Class</th>
+      <th scope="col">Heading</th>
+      <th scope="col">Heading</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <th scope="row">Default</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>`,
+  ...getData('theme-colors').map((themeColor) => `    <tr class="theme-${themeColor.name}">
+      <th scope="row">${themeColor.title}</th>
+      <td>Cell</td>
+      <td>Cell</td>
+    </tr>`),
+  `  </tbody>
+</table>`
+]} customMarkup={[
   `<!-- On tables -->`,
   ...getData('theme-colors').map((themeColor) => `<table class="table theme-${themeColor.name}">...</table>`),
   `
+
 <!-- On rows -->`,
   ...getData('theme-colors').map((themeColor) => `<tr class="theme-${themeColor.name}">...</tr>`),
   `
+\n\n
 <!-- On cells (\`td\` or \`th\`) -->
 <tr>`,
   ...getData('theme-colors').map((themeColor) => `  <td class="theme-${themeColor.name}">...</td>`),
   `</tr>`
-]} lang="html" />
+]} />
 
 <Details name="warning-color-assistive-technologies" />
 
@@ -702,15 +698,13 @@ Use `.table-responsive{-sm|-md|-lg|-xl|-2xl}` as needed to create responsive tab
 
 ## CSS
 
-### Sass variables
-
-<ScssDocs name="table-variables" file="scss/content/_tables.scss" />
+### Variables
 
-### Sass loops
+<CSSVariables component="Tables" className="table" />
 
-{/* <ScssDocs name="table-loop" file="scss/content/_tables.scss" /> */}
+<ScssDocs name="table-tokens" file="scss/content/_tables.scss" />
 
 ### Customizing
 
-- The factor variables (`$table-striped-bg-factor`, `$table-active-bg-factor` & `$table-hover-bg-factor`) are used to determine the contrast in table variants.
-- Apart from the light & dark table variants, theme colors are lightened by the `$table-bg-scale` variable.
+- The factor variables (`--table-striped-bg-factor`, `--table-active-bg-factor` & `--table-hover-bg-factor`) are used to determine the contrast in table variants.
+- Apart from the light & dark table variants, theme colors are lightened by the `--table-bg-scale` variable.
index 33565ff6dc6c71f010cc205532074cbed9563eb7..6640a5770c9db27614da1d742a6f36fd6bb027b3 100644 (file)
@@ -117,18 +117,25 @@ Add `.initialism` to an abbreviation for a slightly smaller font-size.
 
 ## Blockquotes
 
-For quoting blocks of content from another source within your document. Wrap `<blockquote class="blockquote">` around any HTML as the quote.
+Wrap `<blockquote class="blockquote">` around any HTML to quote blocks of content from another source within your document. We make `.blockquote` a flex container for easier spacing, which means you can use [flex utilities]([[docsref:/utilities/flex]]) for alignment, spacing, and more.
 
 <Example code={`<blockquote class="blockquote">
     <p>A well-known quote, contained in a blockquote element.</p>
   </blockquote>`} />
 
-### Naming a source
+<Example code={`<blockquote class="blockquote">
+    <p>A well-known quote, contained in a blockquote element.</p>
+    <p>And the second part of the original quote—like another paragraph—would be placed here as well. This paragraph is a little longer to show how text would wrap within the blockquote styling.</p>
+  </blockquote>`} />
+
+### Sources
+
+The HTML spec requires that blockquote attribution be placed **outside** the `<blockquote>`. In this case, use a `<figure>` element and place the `.blockquote` class on it instead of the `<blockquote>` element. This ensures access to CSS variables across blockquote and attribution element.
 
-The HTML spec requires that blockquote attribution be placed outside the `<blockquote>`. When providing attribution, wrap your `<blockquote>` in a `<figure>` and use a `<figcaption>` or a block level element (e.g., `<p>`) with the `.blockquote-footer` class. Be sure to wrap the name of the source work in `<cite>` as well.
+For source attribution, use a `<figcaption>` or a block level element (e.g., `<p>`) with the `.blockquote-footer` class. Wrap the name of any source work in `<cite>` as well.
 
-<Example code={`<figure>
-    <blockquote class="blockquote">
+<Example code={`<figure class="blockquote">
+    <blockquote>
       <p>A well-known quote, contained in a blockquote element.</p>
     </blockquote>
     <figcaption class="blockquote-footer">
@@ -138,10 +145,10 @@ The HTML spec requires that blockquote attribution be placed outside the `<block
 
 ### Alignment
 
-Use text utilities as needed to change the alignment of your blockquote.
+Use text or flex utilities as needed to change the alignment of your blockquote.
 
-<Example code={`<figure class="text-center">
-    <blockquote class="blockquote">
+<Example code={`<figure class="blockquote text-center">
+    <blockquote>
       <p>A well-known quote, contained in a blockquote element.</p>
     </blockquote>
     <figcaption class="blockquote-footer">
@@ -149,8 +156,8 @@ Use text utilities as needed to change the alignment of your blockquote.
     </figcaption>
   </figure>`} />
 
-<Example code={`<figure class="text-end">
-    <blockquote class="blockquote">
+<Example code={`<figure class="blockquote align-items-end">
+    <blockquote>
       <p>A well-known quote, contained in a blockquote element.</p>
     </blockquote>
     <figcaption class="blockquote-footer">
index 77b4a60d0afabdaefd0534e993e0d8e9b2ed17e2..f84ccaa4fce9f2b9e9d8a9a74208490565e5ee6f 100644 (file)
@@ -236,13 +236,13 @@ $theme-colors-border-subtle-dark: map-merge($theme-colors-border-subtle-dark, $c
 
 Dozens of root level CSS variables are repeated as overrides for dark mode. These are scoped to the color mode selector, which defaults to `data-bs-theme` but [can be configured](#building-with-sass) to use a `prefers-color-scheme` media query. Use these variables as a guideline for generating your own new color modes.
 
-<ScssDocs name="root-dark-mode-vars" file="scss/_root.scss" />
+{/* <ScssDocs name="root-dark-mode-vars" file="scss/_root.scss" /> */}
 
 ### Sass variables
 
 CSS variables for our dark color mode are partially generated from dark mode specific Sass variables in `_variables-dark.scss`. This also includes some custom overrides for changing the colors of embedded SVGs used throughout our components.
 
-<ScssDocs name="sass-dark-mode-vars" file="scss/_variables.scss" />
+{/* <ScssDocs name="sass-dark-mode-vars" file="scss/_variables.scss" /> */}
 
 ### Sass mixins
 
index b2f7d4f65df45a7e12e8da7788fe80b3114686b8..d241f3606b8b5e8e2835a57420594fd406141d47 100644 (file)
@@ -79,7 +79,7 @@ We use a subset of all colors to create a smaller color palette for generating c
 
 All these colors are available as a Sass map, `$theme-colors`.
 
-<ScssDocs name="theme-colors-map" file="scss/_variables.scss" />
+{/* <ScssDocs name="theme-colors-map" file="scss/_variables.scss" /> */}
 
 Check out [our Sass maps and loops docs]([[docsref:/customize/sass#maps-and-loops]]) for how to modify these colors.
 
index 299da50c84eb416fbde201135d2c8bbcf115d7db..115cd9375b7b0b01ce01c8c31ff8cdf8a39a73e6 100644 (file)
@@ -70,7 +70,7 @@ Bootstrap provides custom `:focus` styles using a combination of Sass and CSS va
 
 In our Sass, we set default values that can be customized before compiling.
 
-<ScssDocs name="focus-ring-variables" file="scss/_variables.scss" />
+{/* <ScssDocs name="focus-ring-variables" file="scss/_variables.scss" /> */}
 
 Those variables are then reassigned to `:root` level CSS variables that can be customized in real-time, including with options for `x` and `y` offsets (which default to their fallback value of `0`).
 
index 6a9bbf45a956696d9c40b44b46732a9444092ba6..e271260f593d7e20edc135fe3cd41803a4526b52 100644 (file)
@@ -4,11 +4,19 @@ description: Utilize our source Sass files to take advantage of variables, maps,
 toc: true
 ---
 
-Utilize our source Sass files to take advantage of variables, maps, mixins, and more.
+## About Sass
+
+[Sass](https://sass-lang.com/) is a CSS preprocessor that adds features like variables, nesting, mixins, and functions to standard CSS. You write `.scss` files, compile them, and the output is plain CSS that browsers understand. If you're new to Sass, check out the [Sass documentation](https://sass-lang.com/guide/) to learn the basics.
+
+Bootstrap is written in Sass. Our source `.scss` files use Sass maps to define design tokens, mixins to generate repetitive CSS patterns, and the `@use`/`@forward` module system to organize everything. When compiled, these Sass files produce the CSS that powers every Bootstrap component and utility. This lets you override token values, remove unused components, or extend the system with your own additions. If you don't need that level of control, you can skip Sass entirely and [customize via CSS custom properties]([[docsref:/customize/css-variables]]) at runtime instead.
+
+<Callout type="info">
+**New to working with Sass and Bootstrap?** Start with [our npm guide]([[docsref:/guides/npm]]) for a step-by-step setup, or check out our [examples repository](https://github.com/twbs/examples) for ready-to-use starter projects.
+</Callout>
 
 ## File structure
 
-Whenever possible, avoid modifying Bootstrap’s core files. For Sass, that means creating your own stylesheet that imports Bootstrap so you can modify and extend it. Assuming you’re using a package manager like npm, you’ll have a file structure that looks like this:
+Whenever possible, avoid modifying Bootstrap's core files. For Sass, that means creating your own stylesheet that imports Bootstrap so you can modify and extend it. Assuming you're using a package manager like [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/), you'll have a file structure that looks like this:
 
 ```text
 your-project/
@@ -21,7 +29,7 @@ your-project/
 └── index.html
 ```
 
-If you’ve downloaded our source files and aren’t using a package manager, you’ll want to manually create something similar to that structure, keeping Bootstrap’s source files separate from your own.
+If you've downloaded our source files and aren't using a package manager, you'll want to manually create something similar to that structure, keeping Bootstrap's source files separate from your own.
 
 ```text
 your-project/
@@ -35,15 +43,13 @@ your-project/
 
 ## Importing
 
-In your `custom.scss`, you’ll import Bootstrap’s source Sass files. You have two options: include all of Bootstrap, or pick the parts you need. We encourage the latter, though be aware there are some requirements and dependencies across our components. You also will need to include some JavaScript for our plugins.
+In your `custom.scss`, you'll import Bootstrap's source Sass files. You have two options: include all of Bootstrap, or pick the parts you need. We encourage the latter, though be aware there are some requirements and dependencies across our components. You also will need to include some JavaScript for our plugins.
 
 ```scss
 // Custom.scss
 // Option A: Include all of Bootstrap
 
-// Include any default variable overrides here (though functions won’t be available)
-
-@import "../node_modules/bootstrap/scss/bootstrap";
+@use "../node_modules/bootstrap/scss/bootstrap";
 
 // Then add additional custom code here
 ```
@@ -52,39 +58,30 @@ In your `custom.scss`, you’ll import Bootstrap’s source Sass files. You have
 // Custom.scss
 // Option B: Include parts of Bootstrap
 
-// 1. Include functions first (so you can manipulate colors, SVGs, calc, etc)
-@import "../node_modules/bootstrap/scss/functions";
-
-// 2. Include any default variable overrides here
-
-// 3. Include remainder of required Bootstrap stylesheets (including any separate color mode stylesheets)
-@import "../node_modules/bootstrap/scss/variables";
-@import "../node_modules/bootstrap/scss/variables-dark";
+// 1. Include root first (configuration, colors, tokens, and CSS layers)
+@use "../node_modules/bootstrap/scss/root";
 
-// 4. Include any default map overrides here
+// 2. Include any other partials as needed
+@use "../node_modules/bootstrap/scss/content";
+@use "../node_modules/bootstrap/scss/layout";
+@use "../node_modules/bootstrap/scss/forms";
+@use "../node_modules/bootstrap/scss/buttons";
 
-// 5. Include remainder of required parts
-@import "../node_modules/bootstrap/scss/maps";
-@import "../node_modules/bootstrap/scss/mixins";
-@import "../node_modules/bootstrap/scss/root";
-
-// 6. Include any other optional stylesheet partials as desired; list below is not inclusive of all available stylesheets
-@import "../node_modules/bootstrap/scss/utilities";
-@import "../node_modules/bootstrap/scss/reboot";
-@import "../node_modules/bootstrap/scss/type";
-@import "../node_modules/bootstrap/scss/images";
-@import "../node_modules/bootstrap/scss/containers";
-@import "../node_modules/bootstrap/scss/grid";
-@import "../node_modules/bootstrap/scss/helpers";
+// 3. Components
+@use "../node_modules/bootstrap/scss/alert";
+@use "../node_modules/bootstrap/scss/card";
 // ...
 
-// 7. Optionally include utilities API last to generate classes based on the Sass map in `_utilities.scss`
-@import "../node_modules/bootstrap/scss/utilities/api";
+// 4. Helpers and utilities
+@use "../node_modules/bootstrap/scss/helpers";
+@use "../node_modules/bootstrap/scss/utilities/api";
 
-// 8. Add additional custom code here
+// 5. Add additional custom code here
 ```
 
-With that setup in place, you can begin to modify any of the Sass variables and maps in your `custom.scss`. You can also start to add parts of Bootstrap under the `// Optional` section as needed. We suggest using the full import stack from our `bootstrap.scss` file as your starting point.
+With that setup in place, you can begin to modify any of the Sass token maps in your `custom.scss`. We suggest using the full import stack from our `bootstrap.scss` file as your starting point.
+
+<ScssDocs name="import-stack" file="scss/bootstrap.scss" />
 
 ## Compiling
 
@@ -108,7 +105,7 @@ Learn more about your options at [sass-lang.com/install](https://sass-lang.com/i
 
 ## Including
 
-Once your CSS is compiled, you can include it in your HTML files. Inside your `index.html` you’ll want to include your compiled CSS file. Be sure to update the path to your compiled CSS file if you’ve changed it.
+Once your CSS is compiled, you can include it in your HTML files. Inside your `index.html` you'll want to include your compiled CSS file. Be sure to update the path to your compiled CSS file if you've changed it.
 
 ```html
 <!doctype html>
@@ -117,7 +114,7 @@ Once your CSS is compiled, you can include it in your HTML files. Inside your `i
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1">
     <title>Custom Bootstrap</title>
-    <link href="/css/custom.css" rel="stylesheet">
+    <link href="/css/custom.css" rel="stylesheet"><!-- [!code highlight] -->
   </head>
   <body>
     <h1>Hello, world!</h1>
@@ -125,172 +122,287 @@ Once your CSS is compiled, you can include it in your HTML files. Inside your `i
 </html>
 ```
 
-## Variable defaults
+## Token architecture
+
+Bootstrap v6 uses a layered token system built on CSS custom properties. Sass maps define the tokens at compile time, and CSS custom properties are generated from those maps for runtime use.
+
+The layers, from lowest to highest level:
+
+1. **Color scales** (`_colors.scss`) — Base hue variables defined in `oklch()` generate a full scale of color steps (025–975) as CSS custom properties using `color-mix()`. For example, `--blue-500`, `--red-200`, `--gray-900`.
+
+2. **Theme colors** (`_theme.scss`) — The `$new-theme-colors` map defines semantic color roles like `primary`, `success`, and `danger`. Each theme color is a nested map with sub-keys: `base`, `text`, `text-emphasis`, `bg`, `bg-subtle`, `bg-muted`, `border`, `focus-ring`, and `contrast`.
 
-Every Sass variable in Bootstrap includes the `!default` flag allowing you to override the variable’s default value in your own Sass without modifying Bootstrap’s source code. Copy and paste variables as needed, modify their values, and remove the `!default` flag. If a variable has already been assigned, then it won’t be re-assigned by the default values in Bootstrap.
+3. **Global tokens** (`_theme.scss` and `_root.scss`) — Semantic tokens for backgrounds (`$theme-bgs`), foregrounds (`$theme-fgs`), and borders (`$theme-borders`) are defined alongside the `$root-tokens` map, which aggregates everything into `:root` CSS custom properties.
 
-You will find the complete list of Bootstrap’s variables in `scss/_variables.scss`. Some variables are set to `null`, these variables don’t output the property unless they are overridden in your configuration.
+4. **Component tokens** (e.g., `_alert.scss`) — Each component defines its own `$*-tokens` map (e.g., `$alert-tokens`) that gets output as CSS custom properties scoped to the component's class.
 
-Variable overrides must come after our functions are imported, but before the rest of the imports.
+## Token defaults
 
-Here’s an example that changes the `background-color` and `color` for the `<body>` when importing and compiling Bootstrap via npm:
+Every token map in Bootstrap includes the `!default` flag, allowing you to override values before Bootstrap's files are loaded. Since Bootstrap uses Sass modules (`@use`/`@forward`), you can override `!default` variables using the `with ()` syntax. For CSS custom property tokens, you have two customization paths:
+
+1. **At compile time** — Override the Sass maps that generate the CSS custom properties.
+2. **At runtime** — Override the CSS custom properties directly in your stylesheet, no Sass required.
+
+### Compile-time overrides
+
+To override token values at compile time, use `@use ... with ()` when importing Bootstrap. You only need to include the keys you want to change — Bootstrap merges your overrides with its defaults using the `defaults()` function, so all other tokens remain intact.
 
 ```scss
-// Required
-@import "../node_modules/bootstrap/scss/functions";
-
-// Default variable overrides
-$body-bg: #000;
-$body-color: #111;
-
-// Required
-@import "../node_modules/bootstrap/scss/variables";
-@import "../node_modules/bootstrap/scss/variables-dark";
-@import "../node_modules/bootstrap/scss/maps";
-@import "../node_modules/bootstrap/scss/mixins";
-@import "../node_modules/bootstrap/scss/root";
-
-// Optional Bootstrap components here
-@import "../node_modules/bootstrap/scss/reboot";
-@import "../node_modules/bootstrap/scss/type";
-// etc
+@use "../node_modules/bootstrap/scss/bootstrap" with (
+  $root-tokens: (
+    --border-radius: .25rem,
+    --spacer: 1.5rem,
+  ),
+  $alert-tokens: (
+    --alert-padding-x: 2rem,
+    --alert-border-radius: 1rem,
+  )
+);
+```
+
+Under the hood, every token map uses a two-step pattern:
+
+```scss
+$alert-tokens: () !default;
+$alert-tokens: defaults(
+  (
+    // Default tokens here
+  ),
+  $alert-tokens
+);
+```
+
+The `() !default` declaration receives your `with()` overrides. Then `defaults()` merges your entries on top of the built-in defaults, so unspecified keys keep their original values. Any keys set to `null` are removed from the map entirely, letting you drop tokens you don't need.
+
+### Runtime overrides
+
+Because tokens are output as CSS custom properties, you can override them directly in CSS without any Sass compilation:
+
+```css
+:root {
+  --border-radius: .25rem;
+  --primary-base: oklch(55% 0.25 260);
+  --bg-body: #f8f9fa;
+}
 ```
 
-Repeat as necessary for any variable in Bootstrap, including the global options below.
+You can also scope overrides to specific components:
+
+```css
+.alert {
+  --alert-padding-x: 2rem;
+  --alert-padding-y: 1.5rem;
+  --alert-border-radius: 1rem;
+}
+```
 
 <Callout name="info-npm-starter" />
 
 ## Maps and loops
 
-Bootstrap includes a handful of Sass maps, key value pairs that make it easier to generate families of related CSS. We use Sass maps for our colors, grid breakpoints, and more. Just like Sass variables, all Sass maps include the `!default` flag and can be overridden and extended.
+Bootstrap includes several Sass maps that generate families of related CSS custom properties. These maps all include the `!default` flag and can be overridden.
 
-Some of our Sass maps are merged into empty ones by default. This is done to allow easy expansion of a given Sass map, but comes at the cost of making _removing_ items from a map slightly more difficult.
+### Theme color map
 
-### Modify map
+The `$new-theme-colors` map defines the semantic color palette. Each entry is a nested map with sub-keys like `base`, `text`, `bg`, `border`, and more. See the [Theme documentation]([[docsref:/customize/theme]]) for the full map, sub-key reference, and usage examples.
 
-All variables in the `$theme-colors` map are defined as standalone variables. To modify an existing color in our `$theme-colors` map, add the following to your custom Sass file:
+To modify, add, or remove theme colors at compile time:
 
 ```scss
-$primary: #0074d9;
-$danger: #ff4136;
+@use "sass:map";
+@use "../node_modules/bootstrap/scss/theme" with (
+  $new-theme-colors: (
+    "primary": (
+      "base": var(--indigo-500),
+      "text": light-dark(var(--indigo-600), var(--indigo-400)),
+      "bg": var(--indigo-500),
+      "bg-subtle": light-dark(var(--indigo-100), var(--indigo-900)),
+      "border": light-dark(var(--indigo-300), var(--indigo-600)),
+      "focus-ring": light-dark(color-mix(in oklch, var(--indigo-500) 50%, var(--bg-body)), color-mix(in oklch, var(--indigo-500) 75%, var(--bg-body))),
+      "contrast": var(--white)
+    )
+  )
+);
 ```
 
-Later on, these variables are set in Bootstrap’s `$theme-colors` map:
+### Global token maps
+
+Background (`$theme-bgs`), foreground (`$theme-fgs`), and border (`$theme-borders`) token maps define semantic layer colors. These are also covered in the [Theme documentation]([[docsref:/customize/theme#layer-colors]]).
+
+### Root tokens (`$root-tokens`)
+
+The `$root-tokens` map aggregates global design tokens like fonts, spacing, borders, and form variables. Theme colors, backgrounds, foregrounds, and border tokens are merged into it before output.
+
+<ScssDocs name="root-tokens" file="scss/_root.scss" />
+
+All root tokens are output to `:root` as CSS custom properties:
+
+<ScssDocs name="root-theme-tokens" file="scss/_root.scss" />
+
+## Component tokens
+
+Each component defines its own token map that gets output as CSS custom properties scoped to the component's class. This makes components self-contained and easy to customize.
+
+Here's the alert component as an example:
+
+<ScssDocs name="alert-tokens" file="scss/_alert.scss" />
+
+The tokens are output on the `.alert` class using the `tokens()` mixin:
 
 ```scss
-$theme-colors: (
-  "primary": $primary,
-  "danger": $danger
-);
+.alert {
+  @include tokens($alert-tokens);
+
+  padding: var(--alert-padding-y) var(--alert-padding-x);
+  color: var(--alert-color);
+  background-color: var(--alert-bg);
+  border: var(--alert-border);
+  // ...
+}
 ```
 
-### Add to map
+### Override Sass tokens
 
-Add new colors to `$theme-colors`, or any other map, by creating a new Sass map with your custom values and merging it with the original map. In this case, we'll create a new `$custom-colors` map and merge it with `$theme-colors`.
+Use `with ()` to override specific component token values at compile time with Sass. Your overrides are merged with the defaults, so you only need to specify the keys you want to change:
 
 ```scss
-// Create your own map
-$custom-colors: (
-  "custom-color": #900
+@use "../node_modules/bootstrap/scss/bootstrap" with (
+  $alert-tokens: (
+    --alert-padding-x: 2rem,
+    --alert-bg: var(--bg-2),
+    --alert-border-radius: 0,
+  )
 );
-
-// Merge the maps
-$theme-colors: map-merge($theme-colors, $custom-colors);
 ```
 
-### Remove from map
+This works for every component: `$card-tokens`, `$button-tokens`, `$dropdown-tokens`, `$nav-tokens`, and so on — any `$*-tokens` map supports partial overrides through the same merge pattern.
 
-To remove colors from `$theme-colors`, or any other map, use `map-remove`. Be aware you must insert `$theme-colors` between our requirements just after its definition in `variables` and before its usage in `maps`:
+### Remove tokens with `null`
+
+Set any map key to `null` to remove it entirely. The `defaults()` function strips null entries before the map is used, so no CSS is generated for those keys:
 
 ```scss
-// Required
-@import "../node_modules/bootstrap/scss/functions";
-@import "../node_modules/bootstrap/scss/variables";
-@import "../node_modules/bootstrap/scss/variables-dark";
+@use "../node_modules/bootstrap/scss/bootstrap" with (
+  $alert-tokens: (
+    --alert-margin-bottom: null,
+  )
+);
+```
 
-$theme-colors: map-remove($theme-colors, "info", "light", "dark");
+### Override CSS tokens
 
-@import "../node_modules/bootstrap/scss/maps";
-@import "../node_modules/bootstrap/scss/mixins";
-@import "../node_modules/bootstrap/scss/root";
+You can also override the CSS custom properties directly without Sass:
 
-// Optional
-@import "../node_modules/bootstrap/scss/reboot";
-@import "../node_modules/bootstrap/scss/type";
-// etc
+```css
+.alert {
+  --alert-padding-x: 2rem;
+  --alert-bg: var(--bg-2);
+  --alert-border-radius: 0;
+}
 ```
 
-## Required keys
-
-Bootstrap assumes the presence of some specific keys within Sass maps as we used and extend these ourselves. As you customize the included maps, you may encounter errors where a specific Sass map’s key is being used.
+## Size maps
 
-For example, we use the `primary`, `success`, and `danger` keys from `$theme-colors` for links, buttons, and form states. Replacing the values of these keys should present no issues, but removing them may cause Sass compilation issues. In these instances, you’ll need to modify the Sass code that makes use of those values.
+In addition to token maps, Bootstrap uses size maps to generate size variant classes like `.btn-sm`, `.btn-lg`, `.form-control-sm`, etc. These use the same `defaults()` function and support the same override and removal patterns.
 
-## Functions
+Size maps accept a simple list of size names:
 
-### Colors
+```scss
+$button-sizes: () !default;
+$button-sizes: defaults(
+  ("xs", "sm", "lg"),
+  $button-sizes
+);
+```
 
-Next to the [Sass maps]([[docsref:/customize/color#color-sass-maps]]) we have, theme colors can also be used as standalone variables, like `$primary`.
+The loop then derives CSS custom property values from each size name:
 
 ```scss
-.custom-element {
-  color: $gray-100;
-  background-color: $dark;
+@each $size, $_ in $button-sizes {
+  .btn-#{$size} {
+    --btn-min-height: var(--btn-input-#{$size}-min-height);
+    --btn-padding-y: var(--btn-input-#{$size}-padding-y);
+    // ...
+  }
 }
 ```
 
-You can lighten or darken colors with Bootstrap’s `tint-color()` and `shade-color()` functions. These functions will mix colors with black or white, unlike Sass’ native `lighten()` and `darken()` functions which will change the lightness by a fixed amount, which often doesn’t lead to the desired effect.
+To remove a size, set its key to `null` via `with()`:
 
-`shift-color()` combines these two functions by shading the color if the weight is positive and tinting the color if the weight is negative.
+```scss
+@use "../node_modules/bootstrap/scss/bootstrap" with (
+  $button-sizes: ("xs": null),
+);
+```
 
-<ScssDocs name="color-functions" file="scss/_functions.scss" />
+## Variant maps
 
-In practice, you’d call the function and pass in the color and weight parameters.
+Some components use variant maps to generate style variants. For example, `$button-variants` defines `solid`, `outline`, `subtle`, and `text` button styles. These are also processed by `defaults()` and support `null` removal:
 
 ```scss
-.custom-element {
-  color: tint-color($primary, 10%);
-}
+@use "../node_modules/bootstrap/scss/bootstrap" with (
+  $button-variants: (
+    "text": null,
+    "subtle": null,
+  ),
+);
+```
 
-.custom-element-2 {
-  color: shade-color($danger, 30%);
-}
+This removes the `.btn-text` and `.btn-subtle` classes from the compiled CSS while keeping `.btn-solid` and `.btn-outline` intact.
 
-.custom-element-3 {
-  color: shift-color($success, 40%);
-  background-color: shift-color($success, -60%);
-}
-```
+## Required keys
 
-### Color contrast
+Bootstrap assumes the presence of some specific keys within Sass maps as we use and extend these ourselves. As you customize the included maps, you may encounter errors where a specific Sass map's key is being used.
 
-In order to meet the [Web Content Accessibility Guidelines (WCAG)](https://www.w3.org/TR/WCAG/) contrast requirements, authors **must** provide a minimum [text color contrast of 4.5:1](https://www.w3.org/TR/WCAG/#contrast-minimum) and a minimum [non-text color contrast of 3:1](https://www.w3.org/TR/WCAG/#non-text-contrast), with very few exceptions.
+For `$new-theme-colors`, the `primary`, `success`, and `danger` keys are required for links, buttons, and form states. Replacing the values of these keys should present no issues, but removing them may cause Sass compilation issues.
+
+## Functions
 
-To help with this, we included the `color-contrast` function in Bootstrap. It uses the [WCAG contrast ratio algorithm](https://www.w3.org/TR/WCAG/#dfn-contrast-ratio) for calculating contrast thresholds based on [relative luminance](https://www.w3.org/TR/WCAG/#dfn-relative-luminance) in an `sRGB` color space to automatically return a light (`#fff`), dark (`#212529`) or black (`#000`) contrast color based on the specified base color. This function is especially useful for mixins or loops where you’re generating multiple classes.
+### Defaults
 
-For example, to generate color swatches from our `$theme-colors` map:
+The `defaults()` function is the backbone of Bootstrap's customization system. It merges user overrides on top of built-in defaults and strips any `null` entries from the result. Every token map, size map, and variant map uses it:
 
 ```scss
-@each $color, $value in $theme-colors {
-  .swatch-#{$color} {
-    color: color-contrast($value);
-  }
-}
+@function defaults($defaults, $overrides) { ... }
 ```
 
-It can also be used for one-off contrast needs:
+It accepts either a map or a list as the first argument. Lists are automatically converted to maps with `true` values, which is how size maps like `$button-sizes` work with a clean `("xs", "sm", "lg")` syntax.
+
+### Colors
+
+Base colors are defined as `oklch()` values and expanded into full scales via `color-mix()`. Each hue generates steps from `025` to `975`:
 
 ```scss
-.custom-element {
-  color: color-contrast(#000); // returns `color: #fff`
-}
+// Example generated custom properties from _colors.scss
+--blue-025: color-mix(in lab, #fff 94%, oklch(60% 0.24 240));
+--blue-050: color-mix(in lab, #fff 90%, oklch(60% 0.24 240));
+--blue-100: color-mix(in lab, #fff 80%, oklch(60% 0.24 240));
+// ...
+--blue-500: oklch(60% 0.24 240);
+// ...
+--blue-900: color-mix(in lab, #000 64%, oklch(60% 0.24 240));
+--blue-975: color-mix(in lab, #000 88%, oklch(60% 0.24 240));
 ```
 
-You can also specify a base color with our color map functions:
+You can reference any color scale step as a CSS custom property: `var(--blue-500)`, `var(--red-200)`, `var(--gray-900)`, etc.
+
+Bootstrap also includes `tint-color()`, `shade-color()`, and `shift-color()` Sass functions for mixing colors with white or black:
+
+<ScssDocs name="color-functions" file="scss/_functions.scss" />
+
+### Color contrast
+
+In order to meet the [Web Content Accessibility Guidelines (WCAG)](https://www.w3.org/TR/WCAG/) contrast requirements, authors **must** provide a minimum [text color contrast of 4.5:1](https://www.w3.org/TR/WCAG/#contrast-minimum) and a minimum [non-text color contrast of 3:1](https://www.w3.org/TR/WCAG/#non-text-contrast), with very few exceptions.
+
+To help with this, we included the `color-contrast` function in Bootstrap. It uses the [WCAG contrast ratio algorithm](https://www.w3.org/TR/WCAG/#dfn-contrast-ratio) for calculating contrast thresholds based on [relative luminance](https://www.w3.org/TR/WCAG/#dfn-relative-luminance) in an `sRGB` color space to automatically return a light (`#fff`), dark (`#212529`) or black (`#000`) contrast color based on the specified base color. This function is especially useful for mixins or loops where you're generating multiple classes.
+
+For example, to generate color swatches from our `$new-theme-colors` map:
 
 ```scss
-.custom-element {
-  color: color-contrast($dark); // returns `color: #fff`
+@each $color, $value in $new-theme-colors {
+  .swatch-#{$color} {
+    color: color-contrast(map.get($value, "base"));
+  }
 }
 ```
 
@@ -300,7 +412,7 @@ We use the `escape-svg` function to escape the `<`, `>` and `#` characters for S
 
 ### Add and Subtract functions
 
-We use the `add` and `subtract` functions to wrap the CSS `calc` function. The primary purpose of these functions is to avoid errors when a “unitless” `0` value is passed into a `calc` expression. Expressions like `calc(10px - 0)` will return an error in all browsers, despite being mathematically correct.
+We use the `add` and `subtract` functions to wrap the CSS `calc` function. The primary purpose of these functions is to avoid errors when a "unitless" `0` value is passed into a `calc` expression. Expressions like `calc(10px - 0)` will return an error in all browsers, despite being mathematically correct.
 
 Example where the calc is valid:
 
@@ -340,6 +452,19 @@ $border-width: 0;
 
 Our `scss/mixins/` directory has a ton of mixins that power parts of Bootstrap and can also be used across your own project.
 
+### Tokens
+
+The `tokens()` mixin outputs a Sass map as CSS custom properties. Every component uses it to render its token map:
+
+<ScssDocs name="mixin-tokens" file="scss/mixins/_tokens.scss" />
+
+```scss
+.alert {
+  @include tokens($alert-tokens);
+  // Outputs: --alert-padding-x: ...; --alert-padding-y: ...; etc.
+}
+```
+
 ### Color schemes
 
 A shorthand mixin for the `prefers-color-scheme` media query is available with support for `light` and `dark` color schemes. See [the color modes documentation]([[docsref:/customize/color-modes]]) for information on our color mode mixin.
index 9400b8f9aab30d8dc9cec217a20cbaf43eb51227..24678ef0d5ed50a5a21d36ceb487a1d41b624b16 100644 (file)
@@ -254,4 +254,4 @@ We use a large, nested Sass map to generate our theme color values.
 
 CSS variables are generated from the `$new-theme-colors` Sass map at the `:root` level inside `_root.scss` using a Sass loop.
 
-<ScssDocs name="root-theme-variables" file="scss/_root.scss" />
+<ScssDocs name="root-theme-tokens" file="scss/_root.scss" />
index ac04a4a279c43adcc76aef291df1dce217403197..af1f9c7c5f37cde69fa664a90d6411ae2cbb3590 100644 (file)
@@ -127,8 +127,4 @@ Add the `disabled` attribute and the associated `<label>`s are automatically sty
 
 CSS variables for the checkbox component are built on the Sass variables.
 
-<ScssDocs name="check-css-variables" file="scss/forms/_check.scss" />
-
-### Sass variables
-
-<ScssDocs name="check-variables" file="scss/forms/_check.scss" />
+<ScssDocs name="check-tokens" file="scss/forms/_check.scss" />
index 1e6dbbf5cd7a205d037e321d1a2cfb8668c7a7fb..0dab11a65585d1e0361438d091bb130fa85a2561 100644 (file)
@@ -205,6 +205,7 @@ const chipInput = new bootstrap.ChipInput(chipInputElement, {
 
 Options can be passed via data attributes or JavaScript:
 
+<BsTable>
 | Name | Type | Default | Description |
 | --- | --- | --- | --- |
 | `separator` | string \| null | `','` | Character that triggers chip creation when typed. Set to `null` to disable. |
@@ -214,9 +215,11 @@ Options can be passed via data attributes or JavaScript:
 | `dismissible` | boolean | `true` | Add dismiss buttons to created chips. |
 | `dismissIcon` | string | `'<svg>...</svg>'` | HTML string for the dismiss button icon. |
 | `createOnBlur` | boolean | `true` | Create chip from input value when the input loses focus. |
+</BsTable>
 
 ### Methods
 
+<BsTable>
 | Method | Description |
 | --- | --- |
 | `add(value)` | Adds a chip with the given value. Returns the chip element or `null` if rejected. |
@@ -229,6 +232,7 @@ Options can be passed via data attributes or JavaScript:
 | `selectChip(chip, options)` | Selects a chip. Options: `addToSelection`, `rangeSelect`. |
 | `focus()` | Focuses the ghost input. |
 | `dispose()` | Destroys the component instance. |
+</BsTable>
 
 ```js
 const chipInputElement = document.querySelector('.chip-input')
@@ -250,12 +254,14 @@ chipInput.clear()
 
 ### Events
 
+<BsTable>
 | Event | Description |
 | --- | --- |
 | `add.bs.chip-input` | Fired before a chip is added. Call `event.preventDefault()` to cancel. |
 | `remove.bs.chip-input` | Fired before a chip is removed. Call `event.preventDefault()` to cancel. |
 | `change.bs.chip-input` | Fired after any chip is added or removed. Contains `values` array. |
 | `select.bs.chip-input` | Fired when chip selection changes. Contains `selected` array of values. |
+</BsTable>
 
 ```js
 const chipInputElement = document.querySelector('.chip-input')
@@ -289,6 +295,7 @@ Chip inputs support Mail.app-style keyboard navigation with chip selection.
 
 ### When input is focused
 
+<BsTable>
 | Key | Action |
 | --- | --- |
 | `Enter` | Create chip from current input value |
@@ -297,9 +304,11 @@ Chip inputs support Mail.app-style keyboard navigation with chip selection.
 | `←` | When cursor is at start, move focus to last chip |
 | `Shift+←` | Select last chip and extend selection |
 | `Escape` | Clear selection, clear input, and blur |
+</BsTable>
 
 ### When a chip is focused
 
+<BsTable>
 | Key | Action |
 | --- | --- |
 | `Backspace` / `Delete` | Remove selected chips, then select and focus the next closest chip |
@@ -310,14 +319,17 @@ Chip inputs support Mail.app-style keyboard navigation with chip selection.
 | `End` | Move to input |
 | `Cmd/Ctrl+A` | Select all chips |
 | `Escape` | Clear selection and focus input |
+</BsTable>
 
 ### Mouse selection
 
+<BsTable>
 | Action | Effect |
 | --- | --- |
 | Click chip | Select chip (deselects others) |
 | `Cmd/Ctrl+Click` | Toggle chip in selection |
 | `Shift+Click` | Range select from anchor to clicked chip |
+</BsTable>
 
 ## Accessibility
 
@@ -331,8 +343,12 @@ Chip inputs support Mail.app-style keyboard navigation with chip selection.
 
 ### Chip variables
 
-<ScssDocs name="chip-variables" file="scss/_chip.scss" />
+<CSSVariables component="Chip" className="chip" />
+
+<ScssDocs name="chip-tokens" file="scss/_chip.scss" />
 
 ### Chip input variables
 
-<ScssDocs name="chip-input-variables" file="scss/forms/_chip-input.scss" />
+These variables are scoped to the `.chip-input` container.
+
+<ScssDocs name="chip-input-tokens" file="scss/forms/_chip-input.scss" />
index 00e6b77b8a08e738ff260fc01b6345a3bcf8bee7..54d12a29810c9d217dca4cef8e41fb80afddb7fd 100644 (file)
@@ -187,6 +187,12 @@ Use `data-bs-datepicker-theme` to set the datepicker popup's theme independently
 <Example code={`<label for="datepickerTheme" class="form-label">Light input, dark datepicker</label>
 <input type="text" class="form-control w-12" id="datepickerTheme" data-bs-toggle="datepicker" data-bs-datepicker-theme="dark" placeholder="Select a date">`} />
 
+## CSS
+
+### Variables
+
+<ScssDocs name="datepicker-tokens" file="scss/_datepicker.scss" />
+
 ## Usage
 
 ### Via data attributes
index bc60d079f0335c725307defc3f0cbabca6b3fc73..597a9e65dd1650b67bfacb633bec232e75939cbe 100644 (file)
@@ -12,7 +12,7 @@ A non-empty `placeholder` attribute is required on each `<input>` as our CSS-onl
 
 Also note that the `<input>` must come first so we can utilize a sibling selector (i.e., `~`).
 
-<Example code={`<div class="form-floating mb-3">
+<Example class="vstack gap-3" code={`<div class="form-floating">
     <input type="email" class="form-control" id="floatingInput" placeholder="name@example.com">
     <label for="floatingInput">Email address</label>
   </div>
@@ -53,10 +53,10 @@ To set a custom height on your `<textarea>`, do not use the `rows` attribute. In
 
 ## Selects
 
-Other than `.form-control`, floating labels are only available on `.form-select`s. They work in the same way, but unlike `<input>`s, they’ll always show the `<label>` in its floated state. **Selects with `size` and `multiple` are not supported.**
+Select elements work in the same way, but unlike `<input>`s, they’ll always show the `<label>` in its floated state. **Selects with `size` and `multiple` are not supported.**
 
 <Example code={`<div class="form-floating">
-    <select class="form-select" id="floatingSelect" aria-label="Floating label select example">
+    <select class="form-control" id="floatingSelect" aria-label="Floating label select example">
       <option selected>Open this select menu</option>
       <option value="1">One</option>
       <option value="2">Two</option>
@@ -69,20 +69,20 @@ Other than `.form-control`, floating labels are only available on `.form-select`
 
 Add the `disabled` boolean attribute on an input, a textarea or a select to give it a grayed out appearance, remove pointer events, and prevent focusing.
 
-<Example code={`<div class="form-floating mb-3">
+<Example class="vstack gap-3" code={`<div class="form-floating">
     <input type="email" class="form-control" id="floatingInputDisabled" placeholder="name@example.com" disabled>
     <label for="floatingInputDisabled">Email address</label>
   </div>
-  <div class="form-floating mb-3">
+  <div class="form-floating">
     <textarea class="form-control" placeholder="Leave a comment here" id="floatingTextareaDisabled" disabled></textarea>
     <label for="floatingTextareaDisabled">Comments</label>
   </div>
-  <div class="form-floating mb-3">
+  <div class="form-floating">
     <textarea class="form-control" placeholder="Leave a comment here" id="floatingTextarea2Disabled" style="height: 100px" disabled>Disabled textarea with some text inside</textarea>
     <label for="floatingTextarea2Disabled">Comments</label>
   </div>
   <div class="form-floating">
-    <select class="form-select" id="floatingSelectDisabled" aria-label="Floating label disabled select example" disabled>
+    <select class="form-control" id="floatingSelectDisabled" aria-label="Floating label disabled select example" disabled>
       <option selected>Open this select menu</option>
       <option value="1">One</option>
       <option value="2">Two</option>
@@ -95,11 +95,11 @@ Add the `disabled` boolean attribute on an input, a textarea or a select to give
 
 Floating labels also support `.form-control-plaintext`, which can be helpful for toggling from an editable `<input>` to a plaintext value without affecting the page layout.
 
-<Example code={`<div class="form-floating mb-3">
+<Example class="vstack gap-3" code={`<div class="form-floating">
     <input type="email" readonly class="form-control-plaintext" id="floatingEmptyPlaintextInput" placeholder="name@example.com">
     <label for="floatingEmptyPlaintextInput">Empty input</label>
   </div>
-  <div class="form-floating mb-3">
+  <div class="form-floating">
     <input type="email" readonly class="form-control-plaintext" id="floatingPlaintextInput" placeholder="name@example.com" value="name@example.com">
     <label for="floatingPlaintextInput">Input with value</label>
   </div>`} />
@@ -108,7 +108,7 @@ Floating labels also support `.form-control-plaintext`, which can be helpful for
 
 Floating labels also support `.input-group`.
 
-<Example code={`<div class="input-group mb-3">
+<Example code={`<div class="input-group">
     <span class="input-group-text">@</span>
     <div class="form-floating">
       <input type="text" class="form-control" id="floatingInputGroup1" placeholder="Username">
@@ -142,7 +142,7 @@ When working with the Bootstrap grid system, be sure to place form elements with
     </div>
     <div class="col-md">
       <div class="form-floating">
-        <select class="form-select" id="floatingSelectGrid">
+        <select class="form-control" id="floatingSelectGrid">
           <option selected>Open this select menu</option>
           <option value="1">One</option>
           <option value="2">Two</option>
@@ -155,6 +155,8 @@ When working with the Bootstrap grid system, be sure to place form elements with
 
 ## CSS
 
-### Sass variables
+### Variables
+
+<CSSVariables component="Floating labels" className="form-floating" />
 
-<ScssDocs name="form-floating-variables" file="scss/forms/_floating-labels.scss" />
+<ScssDocs name="form-floating-tokens" file="scss/forms/_floating-labels.scss" />
index cca9664e3b775bec7257e8b6d53ef952de4f132c..4e3bc98249f2eae3d658200a447964c255cc1e1c 100644 (file)
@@ -6,13 +6,15 @@ toc: true
 
 ## How it works
 
-The `.form-adorn` wrapper replicates `.form-control` styling (border, background, focus states) while using flexbox to position adornments alongside a ghost input. The `.form-ghost` input inside has no visual styling—it's transparent and inherits from the wrapper.
+The `.form-adorn` wrapper replicates `.form-control` styling (border, background, focus states) while using flexbox to position adornments alongside a "ghost input," a form control that has virtually no visual styling. The `.form-ghost` input inside is transparent and inherits styles from the wrapper.
+
+See the [form control](/docs/forms/form-control) documentation for more information on the `.form-control` and `.form-ghost` classes.
 
 ## Example
 
 Wrap an icon and a `.form-ghost` input inside `.form-adorn`. Place the adornment before the input in the DOM for start position (left in LTR).
 
-<Example code={`<div class="form-adorn">
+<Example code={`<div class="form-control form-adorn">
     <div class="form-adorn-icon">
       <svg class="bi" width="16" height="16"><use href="#search" /></svg>
     </div>
@@ -21,7 +23,7 @@ Wrap an icon and a `.form-ghost` input inside `.form-adorn`. Place the adornment
 
 Use `.form-adorn-end` to position the adornment on the trailing side (keeps DOM order, uses CSS to flip visually):
 
-<Example code={`<div class="form-adorn form-adorn-end">
+<Example code={`<div class="form-control form-adorn form-adorn-end">
     <div class="form-adorn-icon">
       <svg class="bi" width="16" height="16"><use href="#envelope" /></svg>
     </div>
@@ -34,7 +36,7 @@ Add a label outside the `.form-adorn` wrapper for proper form semantics:
 
 <Example class="vstack gap-3" code={`<div>
     <label for="searchInput" class="form-label">Search</label>
-    <div class="form-adorn">
+    <div class="form-control form-adorn">
       <div class="form-adorn-icon">
         <svg class="bi" width="16" height="16"><use href="#search" /></svg>
       </div>
@@ -43,7 +45,7 @@ Add a label outside the `.form-adorn` wrapper for proper form semantics:
   </div>
   <div>
     <label for="emailInput" class="form-label">Email address</label>
-    <div class="form-adorn form-adorn-end">
+    <div class="form-control form-adorn form-adorn-end">
       <div class="form-adorn-icon">
         <svg class="bi" width="16" height="16"><use href="#envelope" /></svg>
       </div>
@@ -55,19 +57,19 @@ Add a label outside the `.form-adorn` wrapper for proper form semantics:
 
 Use `.form-adorn-text` for currency symbols, units, domain suffixes, and other text-based adornments. Text adornments auto-size to their content.
 
-<Example class="vstack gap-3" code={`<div class="form-adorn">
+<Example class="vstack gap-3" code={`<div class="form-control form-adorn">
     <span class="form-adorn-text">$</span>
     <input type="text" class="form-ghost" placeholder="0.00">
   </div>
-  <div class="form-adorn form-adorn-end">
+  <div class="form-control form-adorn form-adorn-end">
     <span class="form-adorn-text">USD</span>
     <input type="text" class="form-ghost" placeholder="Amount">
   </div>
-  <div class="form-adorn">
+  <div class="form-control form-adorn">
     <span class="form-adorn-text">https://</span>
     <input type="text" class="form-ghost" placeholder="example.com">
   </div>
-  <div class="form-adorn form-adorn-end">
+  <div class="form-control form-adorn form-adorn-end">
     <span class="form-adorn-text">@example.com</span>
     <input type="text" class="form-ghost" placeholder="username">
   </div>`} />
@@ -76,33 +78,27 @@ Use `.form-adorn-text` for currency symbols, units, domain suffixes, and other t
 
 Use `.form-adorn-sm` or `.form-adorn-lg` on the wrapper to adjust sizing.
 
-<Example class="vstack gap-3" code={`<div class="form-adorn form-adorn-sm">
+<Example class="vstack gap-3" code={`<div class="form-control form-control-sm form-adorn">
     <div class="form-adorn-icon">
       <svg class="bi" width="16" height="16"><use href="#search" /></svg>
     </div>
     <input type="text" class="form-ghost" placeholder="Small input">
   </div>
-  <div class="form-adorn">
+  <div class="form-control form-adorn">
     <div class="form-adorn-icon">
       <svg class="bi" width="16" height="16"><use href="#search" /></svg>
     </div>
     <input type="text" class="form-ghost" placeholder="Default input">
   </div>
-  <div class="form-adorn form-adorn-lg">
+  <div class="form-control form-control-lg form-adorn">
     <div class="form-adorn-icon">
       <svg class="bi" width="16" height="16"><use href="#search" /></svg>
     </div>
     <input type="text" class="form-ghost" placeholder="Large input">
   </div>`} />
 
-## Ghost input
-
-The `.form-ghost` class strips all visual styling from an input, making it transparent. It's designed for use inside custom wrappers like `.form-adorn` that handle their own border, background, and focus states.
-
-<Example code={`<input type="text" class="form-ghost" placeholder="Ghost input (no styling)">`} />
-
 ## CSS
 
-### Sass variables
+### Variables
 
-<ScssDocs name="form-adorn-variables" file="scss/forms/_form-adorn.scss" />
+<ScssDocs name="form-adorn-tokens" file="scss/forms/_form-adorn.scss" />
index 11ff8fab2799fc1b252f5a29a3b5f75a85ef826d..03f4d4aca72fc2fe57c23282eebf123e2d70c4ca 100644 (file)
@@ -2,21 +2,22 @@
 title: Form controls
 description: Give textual `<input>`, `<textarea>`, and `<select>` elements an upgrade with custom styles, sizing, focus states, and more.
 toc: true
+mdn: https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input
 ---
 
 <Callout type="info">
-  **Heads up!** As of v6, `<select>` elements are now styled with the `.form-control` class. This reduces a ton of duplication and abstraction while making it easier to consistently customize the appearance of form controls.
+  **Heads up!** In v6, `<select>` elements are styled with `.form-control`. This reduces duplication and abstraction while making it easier to consistently customize the appearance of form elements.
 </Callout>
 
 ## Example
 
 Form controls are styled with a mix of Sass and CSS variables, allowing them to adapt to color modes and support any customization method.
 
-<Example code={`<div class="mb-3">
+<Example class="vstack gap-3" code={`<div>
     <label for="exampleFormControlInput1" class="form-label">Email address</label>
     <input type="email" class="form-control" id="exampleFormControlInput1" placeholder="name@example.com">
   </div>
-  <div class="mb-3">
+  <div>
     <label for="exampleFormControlSelect1" class="form-label">Example select</label>
     <select class="form-control" id="exampleFormControlSelect1">
       <option>Open this select menu</option>
@@ -30,15 +31,15 @@ Form controls are styled with a mix of Sass and CSS variables, allowing them to
     <textarea class="form-control" id="exampleFormControlTextarea1" rows="3"></textarea>
   </div>`} />
 
-## Sizing
+## Sizes
 
 Change the size of a form control by using classes like `.form-control-lg` and `.form-control-sm`. This adjusts `height`, `padding`, `font-size`, `line-height`, and `border-radius`.
 
-<Example code={`<div class="mb-3">
+<Example class="vstack gap-3" code={`<div>
     <label for="largeInput" class="form-label">Large input</label>
     <input class="form-control form-control-lg" type="text" id="largeInput" placeholder="Large input" aria-label="Large input example">
   </div>
-  <div class="mb-3">
+  <div>
     <label for="largeSelect" class="form-label">Large select</label>
     <select class="form-control form-control-lg" id="largeSelect">
       <option>Open this select menu</option>
@@ -52,11 +53,11 @@ Change the size of a form control by using classes like `.form-control-lg` and `
     <textarea class="form-control form-control-lg" id="largeTextarea" rows="3" placeholder="Large textarea" aria-label="Large textarea example"></textarea>
   </div>`} />
 
-<Example code={`<div class="mb-3">
+<Example class="vstack gap-3" code={`<div>
     <label for="smallInput" class="form-label">Small input</label>
     <input class="form-control form-control-sm" type="text" id="smallInput" placeholder="Small input" aria-label="Small input example">
   </div>
-  <div class="mb-3">
+  <div>
     <label for="smallSelect" class="form-label">Small select</label>
     <select class="form-control form-control-sm" id="smallSelect">
       <option>Open this select menu</option>
@@ -72,6 +73,15 @@ Change the size of a form control by using classes like `.form-control-lg` and `
 
 ## Select
 
+Basic select element styles are provided by the `.form-control` class. Styles are limited by the browser—options and popovers cannot be styled.
+
+<Example code={`<select class="form-control" id="exampleFormControlSelect2">
+    <option>Choose one…</option>
+    <option value="1">One</option>
+    <option value="2">Two</option>
+    <option value="3">Three</option>
+  </select>`} />
+
 The `multiple` attribute is supported on select elements:
 
 <Example code={`<select class="form-select" multiple aria-label="Multiple select example">
@@ -122,26 +132,29 @@ Inline text can use any typical inline HTML element (be it a `<span>`, `<small>`
     </div>
   </div>`} />
 
-## Disabled
+## States
+
+### Disabled
 
 Add the `disabled` boolean attribute on an input to give it a grayed out appearance, remove pointer events, and prevent focusing.
 
-<Example code={`<input class="form-control" type="text" placeholder="Disabled input" aria-label="Disabled input example" disabled>
-<input class="form-control" type="text" value="Disabled readonly input" aria-label="Disabled input example" disabled readonly>
-<select class="form-select" aria-label="Disabled select example" disabled>
+<Example class="vstack gap-3" code={`<input class="form-control" type="text" placeholder="Disabled input" aria-label="Disabled input example" disabled>
+  <input class="form-control" type="text" value="Disabled readonly input" aria-label="Disabled input example" disabled readonly>
+  <select class="form-control" aria-label="Disabled select example" disabled>
     <option selected>Open this select menu</option>
     <option value="1">One</option>
     <option value="2">Two</option>
     <option value="3">Three</option>
-  </select>`} />
+  </select>
+  <textarea class="form-control" rows="3" placeholder="Disabled textarea" aria-label="Disabled textarea example" disabled></textarea>`} />
 
-## Readonly
+### Readonly
 
 Add the `readonly` boolean attribute on an input to prevent modification of the input’s value. `readonly` inputs can still be focused and selected, while `disabled` inputs cannot.
 
 <Example code={`<input class="form-control" type="text" value="Readonly input here..." aria-label="readonly input example" readonly>`} />
 
-## Readonly plain text
+### Readonly plain text
 
 If you want to have `<input readonly>` elements in your form styled as plain text, replace `.form-control` with `.form-control-plaintext` to remove the default form field styling and preserve the correct `margin` and `padding`.
 
@@ -172,7 +185,60 @@ If you want to have `<input readonly>` elements in your form styled as plain tex
     </div>
   </form>`} />
 
-## File input
+## Types
+
+Nearly all input types are supported, but not all are documented here. Input types requiring additional classes or changes are shown below.
+
+### Color
+
+Set the `type="color"` and add `.form-control-color` to the `<input>` alongside `.form-control`. We use the modifier class to set fixed `height`s and override some inconsistencies between browsers.
+
+<Example code={`<label for="exampleColorInput" class="form-label">Color picker</label>
+<input type="color" class="form-control form-control-color" id="exampleColorInput" value="#631aff" title="Choose your color">`} />
+
+Sizes are also supported:
+
+<Example class="vstack gap-3" code={`<div>
+    <label for="exampleColorInputLg" class="form-label">Large color picker</label>
+    <input type="color" class="form-control form-control-lg form-control-color" id="exampleColorInputLg" value="#631aff" title="Choose your color">
+  </div>
+  <div>
+    <label for="exampleColorInputSm" class="form-label">Small color picker</label>
+    <input type="color" class="form-control form-control-sm form-control-color" id="exampleColorInputSm" value="#631aff" title="Choose your color">
+  </div>`} />
+
+### Datalists
+
+Datalists allow you to create a group of `<option>`s that can be accessed (and autocompleted) from within an `<input>`. These are similar to `<select>` elements, but come with more menu styling limitations and differences. While most browsers and operating systems include some support for `<datalist>` elements, their styling is inconsistent at best.
+
+Learn more about [support for datalist elements](https://caniuse.com/datalist).
+
+<Example code={`<label for="exampleDataList" class="form-label">Datalist example</label>
+  <input class="form-control" list="datalistOptions" id="exampleDataList" placeholder="Type to search...">
+  <datalist id="datalistOptions">
+    <option value="San Francisco">
+    <option value="New York">
+    <option value="Seattle">
+    <option value="Los Angeles">
+    <option value="Chicago">
+  </datalist>`} />
+
+### Date & time
+
+No additional classes are needed for date and time inputs.
+
+<Example code={`<label for="exampleDateTimeInput" class="form-label">Date and time picker</label>
+<input type="datetime-local" class="form-control" id="exampleDateTimeInput" value="2026-02-24T13:00">`} />
+
+<Example code={`<label for="exampleDateInput" class="form-label">Date picker</label>
+<input type="date" class="form-control" id="exampleDateInput" value="2026-02-24">`} />
+
+<Example code={`<label for="exampleTimeInput" class="form-label">Time picker</label>
+<input type="time" class="form-control" id="exampleTimeInput" value="13:00">`} />
+
+### File
+
+`input[type="file"]` elements are styled with the `::file-selector-button` pseudo element to add a button to the input. You only need to add the `.form-control` class, plus any size modifiers you need.
 
 <Example code={`<div class="mb-3">
     <label for="formFile" class="form-label">Default file input example</label>
@@ -195,34 +261,53 @@ If you want to have `<input readonly>` elements in your form styled as plain tex
     <input class="form-control form-control-lg" id="formFileLg" type="file">
   </div>`} />
 
-## Color
+### Ghost
 
-Set the `type="color"` and add `.form-control-color` to the `<input>`. We use the modifier class to set fixed `height`s and override some inconsistencies between browsers.
+Ghost inputs are a special type of input, not native to the browser, that removes all default input styling when your wrapper handles spacing, border, and focus styles. This is useful for custom composites like search bars and command inputs. Swap the `.form-control` class for `.form-ghost` to remove the default styling.
 
-<Example code={`<label for="exampleColorInput" class="form-label">Color picker</label>
-<input type="color" class="form-control form-control-color" id="exampleColorInput" value="#563d7c" title="Choose your color">`} />
+<Callout type="warning">
+  `.form-ghost` removes the input's own focus outline. Use `:focus-within` on a parent element to provide a visible focus indicator.
+</Callout>
 
-## Datalists
+<Example code={`<label for="exampleGhostInput" class="form-label">Search</label>
+  <div class="d-flex align-items-center gap-2 p-2 border rounded">
+    <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" aria-hidden="true" viewBox="0 0 16 16">
+      <path d="M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001q.044.06.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1 1 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0"/>
+    </svg>
+    <input type="search" class="form-ghost" id="exampleGhostInput" placeholder="Search docs" aria-label="Search docs"><!-- [!code highlight] -->
+  </div>`} />
 
-Datalists allow you to create a group of `<option>`s that can be accessed (and autocompleted) from within an `<input>`. These are similar to `<select>` elements, but come with more menu styling limitations and differences. While most browsers and operating systems include some support for `<datalist>` elements, their styling is inconsistent at best.
+## CSS
 
-Learn more about [support for datalist elements](https://caniuse.com/datalist).
+### Variables
 
-<Example code={`<label for="exampleDataList" class="form-label">Datalist example</label>
-  <input class="form-control" list="datalistOptions" id="exampleDataList" placeholder="Type to search...">
-  <datalist id="datalistOptions">
-    <option value="San Francisco">
-    <option value="New York">
-    <option value="Seattle">
-    <option value="Los Angeles">
-    <option value="Chicago">
-  </datalist>`} />
+<CSSVariables component="Form controls" className="form-control" />
 
-## CSS
+<ScssDocs name="form-control-tokens" file="scss/forms/_form-control.scss" />
+
+And for `.form-label`:
+
+<ScssDocs name="form-label-tokens" file="scss/forms/_labels.scss" />
+
+And for `.form-text`:
+
+<ScssDocs name="form-text-tokens" file="scss/forms/_form-text.scss" />
+
+### Root variables
+
+Some inputs and buttons share some root variables for consistency across all form elements, primarily for sizing.
+
+<ScssDocs name="root-form-variables" file="scss/_root.scss" />
+
+### Sass maps
+
+We use a Sass map to define the sizes of the form controls, so you can easily add or modify sizes.
+
+<ScssDocs name="form-control-sizes" file="scss/forms/_form-control.scss" />
 
-### Sass variables
+{/* mdo-do: clean these up, possibly find new homes */}
 
-`$input-*` are shared across most of our form controls (and not buttons).
+{/* `$input-*` are shared across most of our form controls (and not buttons).
 
 <ScssDocs name="form-input-variables" file="scss/forms/_form-variables.scss" />
 
@@ -234,4 +319,4 @@ Learn more about [support for datalist elements](https://caniuse.com/datalist).
 
 `$form-file-*` are for file input.
 
-<ScssDocs name="form-file-variables" file="scss/forms/_form-variables.scss" />
+<ScssDocs name="form-file-variables" file="scss/forms/_form-variables.scss" /> */}
index d7fc5f663d35844c757d9c6bd71dfa1b0151179a..43a8d40389102bc937ac21dff6cf3b9b98a010a5 100644 (file)
@@ -4,21 +4,21 @@ description: Easily extend form controls by adding text, buttons, or button grou
 toc: true
 ---
 
-## Basic example
+## Examples
 
 Place one add-on or button on either side of an input. You may also place one on both sides of an input. Remember to place `<label>`s outside the input group.
 
-<Example code={`<div class="input-group mb-3">
+<Example class="vstack gap-3" code={`<div class="input-group">
     <span class="input-group-text" id="basic-addon1">@</span>
     <input type="text" class="form-control" placeholder="Username" aria-label="Username" aria-describedby="basic-addon1">
   </div>
 
-  <div class="input-group mb-3">
+  <div class="input-group">
     <input type="text" class="form-control" placeholder="Recipient’s username" aria-label="Recipient’s username" aria-describedby="basic-addon2">
     <span class="input-group-text" id="basic-addon2">@example.com</span>
   </div>
 
-  <div class="mb-3">
+  <div>
     <label for="basic-url" class="form-label">Your vanity URL</label>
     <div class="input-group">
       <span class="input-group-text" id="basic-addon3">https://example.com/users/</span>
@@ -27,14 +27,14 @@ Place one add-on or button on either side of an input. You may also place one on
     <div class="form-text" id="basic-addon4">Example help text goes outside the input group.</div>
   </div>
 
-  <div class="input-group mb-3">
+  <div class="input-group">
     <span class="input-group-text">$</span>
     <input type="text" class="form-control" aria-label="Amount (to the nearest dollar)">
     <span class="input-group-text">.00</span>
   </div>
 
   <div class="input-group mb-3">
-    <input type="text" class="form-control" placeholder="Username" aria-label="Username">
+      <input type="text" class="form-control" placeholder="Username" aria-label="Username">
     <span class="input-group-text">@</span>
     <input type="text" class="form-control" placeholder="Server" aria-label="Server">
   </div>
@@ -42,6 +42,11 @@ Place one add-on or button on either side of an input. You may also place one on
   <div class="input-group">
     <span class="input-group-text">With textarea</span>
     <textarea class="form-control" aria-label="With textarea"></textarea>
+  </div>
+
+  <div class="input-group">
+    <button class="btn-outline theme-secondary input-group-btn" type="button" id="button-addon">Button</button>
+    <input type="text" class="form-control" placeholder="" aria-label="Example text with button addon" aria-describedby="button-addon">
   </div>`} />
 
 ## Wrapping
@@ -130,32 +135,32 @@ Multiple add-ons are supported and can be mixed with checkbox and radio input ve
 
 ## Button addons
 
-<Example code={`<div class="input-group mb-3">
-    <button class="btn btn-outline-secondary" type="button" id="button-addon1">Button</button>
+<Example class="vstack gap-3" code={`<div class="input-group">
+    <button class="btn-outline theme-secondary input-group-btn" type="button" id="button-addon1">Button</button>
     <input type="text" class="form-control" placeholder="" aria-label="Example text with button addon" aria-describedby="button-addon1">
   </div>
 
   <div class="input-group mb-3">
     <input type="text" class="form-control" placeholder="Recipient’s username" aria-label="Recipient’s username" aria-describedby="button-addon2">
-    <button class="btn btn-outline-secondary" type="button" id="button-addon2">Button</button>
+    <button class="btn-outline theme-secondary input-group-btn" type="button" id="button-addon2">Button</button>
   </div>
 
   <div class="input-group mb-3">
-    <button class="btn btn-outline-secondary" type="button">Button</button>
-    <button class="btn btn-outline-secondary" type="button">Button</button>
+    <button class="btn-outline theme-secondary input-group-btn" type="button">Button</button>
+    <button class="btn-outline theme-secondary input-group-btn" type="button">Button</button>
     <input type="text" class="form-control" placeholder="" aria-label="Example text with two button addons">
   </div>
 
   <div class="input-group">
     <input type="text" class="form-control" placeholder="Recipient’s username" aria-label="Recipient’s username with two button addons">
-    <button class="btn btn-outline-secondary" type="button">Button</button>
-    <button class="btn btn-outline-secondary" type="button">Button</button>
+    <button class="btn-outline theme-secondary input-group-btn" type="button">Button</button>
+    <button class="btn-outline theme-secondary input-group-btn" type="button">Button</button>
   </div>`} />
 
 ## Buttons with dropdowns
 
-<Example code={`<div class="input-group mb-3">
-    <button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>
+<Example class="vstack gap-3" code={`<div class="input-group">
+    <button class="btn-outline theme-secondary input-group-btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>
     <ul class="dropdown-menu">
       <li><a class="dropdown-item" href="#">Action</a></li>
       <li><a class="dropdown-item" href="#">Another action</a></li>
@@ -166,9 +171,9 @@ Multiple add-ons are supported and can be mixed with checkbox and radio input ve
     <input type="text" class="form-control" aria-label="Text input with dropdown button">
   </div>
 
-  <div class="input-group mb-3">
+  <div class="input-group">
     <input type="text" class="form-control" aria-label="Text input with dropdown button">
-    <button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>
+    <button class="btn-outline theme-secondary input-group-btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>
     <ul class="dropdown-menu dropdown-menu-end">
       <li><a class="dropdown-item" href="#">Action</a></li>
       <li><a class="dropdown-item" href="#">Another action</a></li>
@@ -179,7 +184,7 @@ Multiple add-ons are supported and can be mixed with checkbox and radio input ve
   </div>
 
   <div class="input-group">
-    <button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>
+    <button class="btn-outline theme-secondary input-group-btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>
     <ul class="dropdown-menu">
       <li><a class="dropdown-item" href="#">Action before</a></li>
       <li><a class="dropdown-item" href="#">Another action before</a></li>
@@ -188,7 +193,7 @@ Multiple add-ons are supported and can be mixed with checkbox and radio input ve
       <li><a class="dropdown-item" href="#">Separated link</a></li>
     </ul>
     <input type="text" class="form-control" aria-label="Text input with 2 dropdown buttons">
-    <button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>
+    <button class="btn-outline theme-secondary input-group-btn dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false">Dropdown</button>
     <ul class="dropdown-menu dropdown-menu-end">
       <li><a class="dropdown-item" href="#">Action</a></li>
       <li><a class="dropdown-item" href="#">Another action</a></li>
@@ -201,8 +206,8 @@ Multiple add-ons are supported and can be mixed with checkbox and radio input ve
 ## Segmented buttons
 
 <Example code={`<div class="input-group mb-3">
-    <button type="button" class="btn btn-outline-secondary">Action</button>
-    <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
+    <button type="button" class="btn-outline theme-secondary input-group-btn">Action</button>
+    <button type="button" class="btn-outline theme-secondary input-group-btn dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
       <span class="visually-hidden">Toggle Dropdown</span>
     </button>
     <ul class="dropdown-menu">
@@ -217,8 +222,8 @@ Multiple add-ons are supported and can be mixed with checkbox and radio input ve
 
   <div class="input-group">
     <input type="text" class="form-control" aria-label="Text input with segmented dropdown button">
-    <button type="button" class="btn btn-outline-secondary">Action</button>
-    <button type="button" class="btn btn-outline-secondary dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
+    <button type="button" class="btn-outline theme-secondary input-group-btn">Action</button>
+    <button type="button" class="btn-outline theme-secondary input-group-btn dropdown-toggle dropdown-toggle-split" data-bs-toggle="dropdown" aria-expanded="false">
       <span class="visually-hidden">Toggle Dropdown</span>
     </button>
     <ul class="dropdown-menu dropdown-menu-end">
@@ -238,7 +243,7 @@ Input groups include support for custom selects and custom file inputs. Browser
 
 <Example code={`<div class="input-group mb-3">
     <label class="input-group-text" for="inputGroupSelect01">Options</label>
-    <select class="form-select" id="inputGroupSelect01">
+    <select class="form-control" id="inputGroupSelect01">
       <option selected>Choose...</option>
       <option value="1">One</option>
       <option value="2">Two</option>
@@ -247,7 +252,7 @@ Input groups include support for custom selects and custom file inputs. Browser
   </div>
 
   <div class="input-group mb-3">
-    <select class="form-select" id="inputGroupSelect02">
+    <select class="form-control" id="inputGroupSelect02">
       <option selected>Choose...</option>
       <option value="1">One</option>
       <option value="2">Two</option>
@@ -257,8 +262,8 @@ Input groups include support for custom selects and custom file inputs. Browser
   </div>
 
   <div class="input-group mb-3">
-    <button class="btn btn-outline-secondary" type="button">Button</button>
-    <select class="form-select" id="inputGroupSelect03" aria-label="Example select with button addon">
+    <button class="btn-outline theme-secondary input-group-btn" type="button">Button</button>
+    <select class="form-control" id="inputGroupSelect03" aria-label="Example select with button addon">
       <option selected>Choose...</option>
       <option value="1">One</option>
       <option value="2">Two</option>
@@ -267,13 +272,13 @@ Input groups include support for custom selects and custom file inputs. Browser
   </div>
 
   <div class="input-group">
-    <select class="form-select" id="inputGroupSelect04" aria-label="Example select with button addon">
+    <select class="form-control" id="inputGroupSelect04" aria-label="Example select with button addon">
       <option selected>Choose...</option>
       <option value="1">One</option>
       <option value="2">Two</option>
       <option value="3">Three</option>
     </select>
-    <button class="btn btn-outline-secondary" type="button">Button</button>
+    <button class="btn-outline theme-secondary input-group-btn" type="button">Button</button>
   </div>`} />
 
 ### Custom file input
@@ -289,17 +294,25 @@ Input groups include support for custom selects and custom file inputs. Browser
   </div>
 
   <div class="input-group mb-3">
-    <button class="btn btn-outline-secondary" type="button" id="inputGroupFileAddon03">Button</button>
+    <button class="btn-outline theme-secondary input-group-btn" type="button" id="inputGroupFileAddon03">Button</button>
     <input type="file" class="form-control" id="inputGroupFile03" aria-describedby="inputGroupFileAddon03" aria-label="Upload">
   </div>
 
   <div class="input-group">
     <input type="file" class="form-control" id="inputGroupFile04" aria-describedby="inputGroupFileAddon04" aria-label="Upload">
-    <button class="btn btn-outline-secondary" type="button" id="inputGroupFileAddon04">Button</button>
+    <button class="btn-outline theme-secondary input-group-btn" type="button" id="inputGroupFileAddon04">Button</button>
   </div>`} />
 
 ## CSS
 
-### Sass variables
+### Variables
+
+<CSSVariables component="Input group addons" className="input-group-text" />
+
+<ScssDocs name="input-group-addon-tokens" file="scss/forms/_input-group.scss" />
+
+### Sass list
+
+We use a Sass list to define the sizes of the input group, so you can easily add or modify sizes by fetching the associated root variables for each size. This list should generally match the sizes defined in the `$form-control-sizes` Sass map in `_form-control.scss`.
 
-<ScssDocs name="input-group-variables" file="scss/forms/_input-group.scss" />
+<ScssDocs name="input-group-sizes" file="scss/forms/_input-group.scss" />
index 74db701504e8a817a6250143440a447987568159..60f90a9fd42f60e5c4d047041d9d0e20735a32d5 100644 (file)
@@ -31,7 +31,7 @@ Wrap your inputs in a container with `.otp` and add `data-bs-otp` to enable the
 
 ## Connected inputs
 
-Add `.input-group` to visually connect the inputs into a single cohesive field, leveraging Bootstrap's [input group](/docs/forms/input-group/) styles.
+Add `.input-group` to visually connect the inputs into a single cohesive field, leveraging Bootstrap's [input group](/docs/forms/input-group/) styles. We override the `width` to prevent stretching the inputs.
 
 <Example code={`<div class="otp input-group" data-bs-otp>
     <input type="text" class="form-control" aria-label="Digit 1">
@@ -152,9 +152,9 @@ Add `.is-valid` or `.is-invalid` to the container to show validation states.
 
 Use a form label and help text for better accessibility.
 
-<Example code={`<div class="mb-3">
+<Example code={`<div class="vstack gap-2">
     <label class="form-label" id="otpLabel">Verification code</label>
-    <div class="otp input-group" data-bs-otp aria-labelledby="otpLabel" aria-describedby="otpHelp">
+    <div class="otp" data-bs-otp aria-labelledby="otpLabel" aria-describedby="otpHelp">
       <input type="text" class="form-control" aria-label="Digit 1">
       <input type="text" class="form-control" aria-label="Digit 2">
       <input type="text" class="form-control" aria-label="Digit 3">
@@ -193,12 +193,15 @@ const otpInput = new bootstrap.OtpInput(otpElement)
 
 Options can be passed via data attributes or JavaScript:
 
+<BsTable>
 | Name | Type | Default | Description |
 | --- | --- | --- | --- |
 | `mask` | boolean | `false` | If `true`, inputs will use `type="password"` to hide the entered values. |
+</BsTable>
 
 ### Methods
 
+<BsTable>
 | Method | Description |
 | --- | --- |
 | `getValue()` | Returns the complete OTP value as a string. |
@@ -206,6 +209,7 @@ Options can be passed via data attributes or JavaScript:
 | `clear()` | Clears all inputs and focuses the first one. |
 | `focus()` | Focuses the first empty input, or the last input if all are filled. |
 | `dispose()` | Destroys the component instance. |
+</BsTable>
 
 ```js
 const otpElement = document.querySelector('.otp')
@@ -223,10 +227,12 @@ otpInput.clear()
 
 ### Events
 
+<BsTable>
 | Event | Description |
 | --- | --- |
 | `complete.bs.otp` | Fired when all inputs are filled. The event's `value` property contains the complete code. |
 | `input.bs.otp` | Fired on each input change. Includes `value` (current combined value) and `index` (changed input index). |
+</BsTable>
 
 ```js
 const otpElement = document.querySelector('.otp')
@@ -251,6 +257,14 @@ otpElement.addEventListener('input.bs.otp', event => {
 
 ## CSS
 
-### Sass variables
+### Variables
 
-<ScssDocs name="otp-input-variables" file="scss/forms/_otp-input.scss" />
+<CSSVariables component="OTP input" className="otp" />
+
+<ScssDocs name="otp-tokens" file="scss/forms/_otp-input.scss" />
+
+### Sass list
+
+We use a Sass list to define the sizes of the OTP input, so you can easily add or modify sizes by fetching the associated root variables for each size. This list should generally match the sizes defined in the `$form-control-sizes` Sass map in `_form-control.scss`.
+
+<ScssDocs name="otp-sizes" file="scss/forms/_otp-input.scss" />
index 7e8e52e29f879737963b7bee1c1e0a9a51fdfbb3..34a9a1fe7b57f6dee8106a287bdb4416f75045c0 100644 (file)
@@ -101,10 +101,8 @@ While using visually hidden content (`.visually-hidden`, `aria-label`, and even
 
 ## CSS
 
-Many form variables are set at a general level to be re-used and extended by individual form components. You’ll see these most often as `$input-btn-*` and `$input-*` variables.
+### Variables
 
-### Sass variables
+Some form variables are set at the root level to be re-used and extended by individual form components, but you’ll most often see variables set at the form control level. Root variables are often `--btn-input-*`, which are shared with [buttons]([[docsref:/components/buttons]]), and `--input-*` variables.
 
-`$input-btn-*` variables are shared global variables between our [buttons]([[docsref:/components/buttons]]) and our form components. You’ll find these frequently reassigned as values to other component-specific variables.
-
-<ScssDocs name="input-btn-variables" file="scss/forms/_form-variables.scss" />
+<ScssDocs name="root-form-variables" file="scss/_root.scss" />
index 7f562435b8017b9928d6ecb504966878bce14e5e..b38bf99538440ac6a920a098ee7d69d385245161 100644 (file)
@@ -235,11 +235,13 @@ new bootstrap.Strength(element, {
 
 ### Methods
 
+<BsTable>
 | Method | Description |
 | --- | --- |
 | `getStrength()` | Returns the current strength level (`'weak'`, `'fair'`, `'good'`, `'strong'`, or `null`). |
 | `evaluate()` | Manually trigger a password evaluation. |
 | `dispose()` | Destroys the component instance. |
+</BsTable>
 
 ```js
 const element = document.querySelector('.strength')
@@ -251,9 +253,11 @@ console.log(strength.getStrength()) // 'fair'
 
 ### Events
 
+<BsTable>
 | Event | Description |
 | --- | --- |
 | `strengthChange.bs.strength` | Fired when the strength level changes. Includes `strength` and `score` properties. |
+</BsTable>
 
 ```js
 const element = document.querySelector('.strength')
@@ -286,6 +290,14 @@ For simple cases or server-rendered content, you can use the component without J
 
 ## CSS
 
-### Sass variables
+### Variables
+
+<CSSVariables component="Password strength" className="strength" />
+
+<ScssDocs name="strength-tokens" file="scss/forms/_strength.scss" />
+
+### Sass list
+
+We use a Sass list to define the strength levels, allowing you to easily add or modify levels by overriding the default list. **The order of the levels matters**, as it will be used to determine the width of the strength meter.
 
-<ScssDocs name="strength-variables" file="scss/forms/_strength.scss" />
+<ScssDocs name="strength-levels" file="scss/forms/_strength.scss" />
index 8a47748d928d905656993871c228c48c2a7c4ee0..623800563a3ad060c37a45720ebc1fdadfd87a8a 100644 (file)
@@ -59,8 +59,4 @@ Add the `disabled` attribute and the associated `<label>`s are automatically sty
 
 CSS variables for the radio component are built on the Sass variables.
 
-<ScssDocs name="radio-css-variables" file="scss/forms/_radio.scss" />
-
-### Sass variables
-
-<ScssDocs name="radio-variables" file="scss/forms/_radio.scss" />
+<ScssDocs name="radio-tokens" file="scss/forms/_radio.scss" />
index e62acf1c91d2c85b5dbf6adfcaa63ab5ffddac71..dee018c24ea5c77ca2456a0579a98ddb0cd1ddc4 100644 (file)
@@ -55,6 +55,14 @@ The value of the range input can be shown using the `output` element and a bit o
 
 ## CSS
 
-### Sass variables
+### Variables
 
-<ScssDocs name="form-range-variables" file="scss/forms/_form-range.scss" />
+<CSSVariables component="Range" className="form-range" />
+
+<ScssDocs name="range-tokens" file="scss/forms/_form-range.scss" />
+
+### Sass mixins
+
+Two mixins are used to style the range input to generate vendor-specific styles for the range’s track and thumb elements. Please be aware that selectors for pseudo-elements in WebKit and Firefox browsers cannot be combined—each must be used in a separate CSS rule otherwise the styles will not apply.
+
+<ScssDocs name="range-mixins" file="scss/forms/_form-range.scss" />
index 1f8a9a42f86b235946bf751554b9a495cf371c65..ffd8f5671fb7d92ccfa255aef3389bfd3ea5c255 100644 (file)
@@ -78,4 +78,4 @@ Add a size modifier class to make your switch appear smaller or larger.
 
 ### Variables
 
-<ScssDocs name="switch-css-variables" file="scss/forms/_switch.scss" />
+<ScssDocs name="switch-tokens" file="scss/forms/_switch.scss" />
index 90738e7d88260740ef2f4fc3567b6140b4284f09..6b4dbf5836780ba4033f76f8ad2630e3adfb24ed 100644 (file)
@@ -32,7 +32,7 @@ With that in mind, consider the following demos for our custom form validation s
 
 For custom Bootstrap form validation messages, you’ll need to add the `novalidate` boolean attribute to your `<form>`. This disables the browser default feedback tooltips, but still provides access to the form validation APIs in JavaScript. Try to submit the form below; our JavaScript will intercept the submit button and relay feedback to you. When attempting to submit, you’ll see the `:invalid` and `:valid` styles applied to your form controls.
 
-Custom feedback styles apply custom colors, borders, focus styles, and background icons to better communicate feedback. Background icons for `<select>`s are only available with `.form-select`, and not `.form-control`.
+Custom feedback styles apply custom colors, borders, focus styles, and background icons to better communicate feedback. Background icons for `<select>`s are only available with `.form-control`, and not `.form-control`.
 
 <Example code={`<form class="row g-3 needs-validation" novalidate>
     <div class="col-md-4">
@@ -68,7 +68,7 @@ Custom feedback styles apply custom colors, borders, focus styles, and backgroun
     </div>
     <div class="col-md-3">
       <label for="validationCustom04" class="form-label">State</label>
-      <select class="form-select" id="validationCustom04" required>
+      <select class="form-control" id="validationCustom04" required>
         <option selected disabled value="">Choose...</option>
         <option>...</option>
       </select>
@@ -83,6 +83,10 @@ Custom feedback styles apply custom colors, borders, focus styles, and backgroun
         Please provide a valid zip.
       </div>
     </div>
+    <div class="col-md-6">
+      <label for="validationCustom06" class="form-label">Notes</label>
+      <textarea class="form-control" id="validationCustom06" required></textarea>
+    </div>
     <div class="col-12">
       <div class="form-check">
         <input class="form-check-input" type="checkbox" value="" id="invalidCheck" required>
@@ -129,7 +133,7 @@ While these feedback styles cannot be styled with CSS, you can still customize t
     </div>
     <div class="col-md-3">
       <label for="validationDefault04" class="form-label">State</label>
-      <select class="form-select" id="validationDefault04" required>
+      <select class="form-control" id="validationDefault04" required>
         <option selected disabled value="">Choose...</option>
         <option>...</option>
       </select>
@@ -193,7 +197,7 @@ To fix [issues with border radius](https://github.com/twbs/bootstrap/issues/2511
     </div>
     <div class="col-md-3">
       <label for="validationServer04" class="form-label">State</label>
-      <select class="form-select is-invalid" id="validationServer04" aria-describedby="validationServer04Feedback" required>
+      <select class="form-control is-invalid" id="validationServer04" aria-describedby="validationServer04Feedback" required>
         <option selected disabled value="">Choose...</option>
         <option>...</option>
       </select>
@@ -229,7 +233,7 @@ To fix [issues with border radius](https://github.com/twbs/bootstrap/issues/2511
 Validation styles are available for the following form controls and components:
 
 - `<input>`s and `<textarea>`s with `.form-control` (including up to one `.form-control` in input groups)
-- `<select>`s with `.form-select`
+- `<select>`s with `.form-control`
 - `.form-check`s
 
 <Example code={`<form class="was-validated">
@@ -258,7 +262,7 @@ Validation styles are available for the following form controls and components:
     </div>
 
     <div class="mb-3">
-      <select class="form-select" required aria-label="select example">
+      <select class="form-control" required aria-label="select example">
         <option value="">Open this select menu</option>
         <option value="1">One</option>
         <option value="2">Two</option>
@@ -315,7 +319,7 @@ If your form layout allows it, you can swap the `.{valid|invalid}-feedback` clas
     </div>
     <div class="col-md-3 position-relative">
       <label for="validationTooltip04" class="form-label">State</label>
-      <select class="form-select" id="validationTooltip04" required>
+      <select class="form-control" id="validationTooltip04" required>
         <option selected disabled value="">Choose...</option>
         <option>...</option>
       </select>
@@ -351,8 +355,6 @@ These variables are also color mode adaptive, meaning they change color while in
 
 <ScssDocs name="form-validation-colors" file="scss/forms/_form-variables.scss" />
 
-{/* <ScssDocs name="form-validation-colors-dark" file="scss/_variables.scss" /> */}
-
 ### Sass mixins
 
 Two mixins are combined, through our [loop](#sass-loops), to generate our form validation feedback styles.
index 9215bc635d4e1f9b45cfa8086cbfae7106d41f87..ba1257616af039431a2d66c863e8c07e3293948e 100644 (file)
@@ -4,6 +4,78 @@ description: Learn about the guiding principles, strategies, and techniques used
 toc: true
 ---
 
+## Sass & CSS
+
+Bootstrap 6 has a new philosophy of using Sass and CSS together to customize the project for your needs. At a high level, **Sass is for programmatic customization** and **CSS variables are for visual customization**. Previous iterations have treated Sass as both programmatic and visual customization with CSS variables adding a more complicated secondary layer. This has been greatly improved in v6.
+
+### Sass
+
+Sass is used for the following:
+
+- Import (`@use` and `@forward`) individual stylesheets that compile into CSS.
+- Manage repetitive snippets of code with mixins and functions.
+- Toggle global options like `$enable-smooth-scroll`, `$enable-reduced-motion`, etc.
+- Configure and generate component variants (theme colors, sizes, etc) through Sass maps, loops, and more.
+- Bulk-generate CSS variables for all every tint and shade of our colors.
+- Manage component token lists (e.g., `$alert-tokens`) and apply them to specific classes.
+- Power the utilities API to customize and generate utility classes.
+
+### CSS
+
+While you can use Sass to customize how Bootstrap looks, the preferred way now is to use CSS variables whenever possible, including when working with Sass. Here's how we use CSS:
+
+- Customize individual global and component tokens like `--bs-border-radius`, `--bs-alert-padding-x`, etc.
+- Customize token values using Sass’s `with (...tokens)` syntax to override the default values.
+- Mix colors to generate our tints and shades for each hue.
+- Use `calc()` for dynamic values based on the value of another token or CSS variable.
+
+### Examples
+
+Here's how we'd use a mix of Sass and CSS to customize Bootstrap. The Sass helps us manage features and gives us access to generative tokens, while the CSS allows us to customize individual tokens and values.
+
+```scss
+@use "../node_modules/bootstrap/scss/bootstrap" with (
+  // Manage global options
+  $enable-smooth-scroll: true,
+
+  // Modify global tokens
+  $root-tokens: (
+    --border-radius: .25rem,
+    --spacer: 1.5rem,
+  ),
+
+  // Modify component tokens
+  $alert-tokens: (
+    --alert-padding-x: calc(var(--spacer) * 2),
+    --alert-border-radius: 1rem,
+  ),
+);
+```
+
+Here's a Sass-specific example, where we cannot use CSS to easily achieve the same result. The following will remove the `text` and `subtle` variants from the `button-variants` map, and override the `button-sizes` map to only include `sm` and `lg` sizes.
+
+```scss
+@use "../node_modules/bootstrap/scss/bootstrap" with (
+  // Modify button sizes to remove default `xs` size
+  $button-sizes: ("sm", "lg"),
+
+  // Remove default `text` and `subtle` button variants with `null`
+  $button-variants: (
+    "text": null,
+    "subtle": null,
+  ),
+);
+```
+
+Here's an example of just using pure CSS to customize a CSS variables from the compiled CSS. Wherever `var(--bs-border-radius)` is used, it will be replaced with the value `.25rem`.
+
+```css
+:root {
+  --border-radius: .25rem;
+  --spacer: 1.5rem;
+}
+```
+
 ## Modern essentials
 
 Bootstrap employs a handful of important global styles and settings geared towards normalizing browser styles, enabling responsive and mobile-first design, and providing a modern foundation to build upon.
index 761d6b7ceeb1229fb284adc7f07668866f7a9ebe..934d1312decc1a889e84a1c3b9fbc5fb80c2bf2c 100644 (file)
@@ -42,7 +42,7 @@ By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus
 
 Customize the focus ring Sass variables to modify all usage of the focus ring styles across your Bootstrap-powered project.
 
-<ScssDocs name="focus-ring-variables" file="scss/_variables.scss" />
+{/* <ScssDocs name="focus-ring-variables" file="scss/_variables.scss" /> */}
 
 ### Sass utilities API
 
index 4a1efc16d42e3aeaf9dc6bbfad475ec977e4398b..61695e308799d928d1a961392bf39fc24358ab86 100644 (file)
@@ -37,8 +37,4 @@ They can also be used in [stacks]([[docsref:/helpers/stacks]]):
 
 ## CSS
 
-### Sass variables
-
-Customize the vertical rule Sass variable to change its width.
-
-<ScssDocs name="vr-variables" file="scss/_variables.scss" />
+Vertical rules use a CSS variable with fallback for their default border width. Out of the box, `--vr-border-width` is unassigned, meaning it defaults to the value of `--border-width`.
index 1da4f866628c0ae4a831d86fbd05d964d0cb005c..bc194b91a890f9889eb413bafcd7afba38e3d2d1 100644 (file)
@@ -80,7 +80,7 @@ Most `background-color` utilities are generated by our theme colors, reassigned
 
 {/*<ScssDocs name="color-variables" file="scss/_variables.scss" />*/}
 
-<ScssDocs name="theme-color-variables" file="scss/_variables.scss" />
+{/* <ScssDocs name="theme-color-variables" file="scss/_variables.scss" /> */}
 
 <ScssDocs name="variable-gradient" file="scss/_variables.scss" />
 
@@ -98,7 +98,7 @@ Variables for setting `background-color` in `.bg-*-subtle` utilities in light an
 
 Theme colors are then put into a Sass map so we can loop over them to generate our utilities, component modifiers, and more.
 
-<ScssDocs name="theme-colors-map" file="scss/_variables.scss" />
+{/* <ScssDocs name="theme-colors-map" file="scss/_variables.scss" /> */}
 
 Grayscale colors are also available as a Sass map. **This map is not used to generate any utilities.**
 
index 80c254eb0cebff90242cf5f9e03fd2b1f073ee2f..a983fabbf6174f7faae54ce4c02b6449dcf4aa11 100644 (file)
@@ -48,10 +48,6 @@ Use the scaling classes for larger or smaller rounded corners. Sizes range from
 
 <ScssDocs name="root-border-radius-var" file="scss/_root.scss" />
 
-### Sass variables
-
-<ScssDocs name="border-radius-variables" file="scss/_variables.scss" />
-
 ### Sass maps
 
 ### Sass mixins
index b2165d1968538f3d36628b0d43f8b5c3f8f4181b..adae092c8be0a61bcd05545a1588381410955b54 100644 (file)
@@ -111,7 +111,7 @@ In addition to the following Sass functionality, consider reading about our incl
 
 Most `color` utilities are generated by our theme colors, reassigned from our generic color palette variables.
 
-<ScssDocs name="theme-color-variables" file="scss/_variables.scss" />
+{/* <ScssDocs name="theme-color-variables" file="scss/_variables.scss" /> */}
 
 Grayscale colors are also available, but only a subset are used to generate any utilities.
 
@@ -119,7 +119,7 @@ Grayscale colors are also available, but only a subset are used to generate any
 
 Theme colors are then put into a Sass map so we can loop over them to generate our utilities, component modifiers, and more.
 
-<ScssDocs name="theme-colors-map" file="scss/_variables.scss" />
+{/* <ScssDocs name="theme-colors-map" file="scss/_variables.scss" /> */}
 
 Grayscale colors are also available as a Sass map. **This map is not used to generate any utilities.**
 
index 63cdcea182bf46343928c27cad52c7b931ea9922..7e66e9dc2ed2adfd334ea2a113aec3d06c2c5191 100644 (file)
     padding: 1.25rem;
     font-size: .875rem;
     line-height: 1.5;
-    // color: var(--bd-callout-color, inherit);
     background-color: var(--bd-callout-bg, var(--bs-gray-100));
     border: 1px solid var(--bd-callout-border, var(--bs-border-color));
     border-inline-start: .25rem solid var(--bd-callout-border, var(--bs-gray-300));
     @include border-radius(var(--bs-border-radius));
-    // box-shadow: inset .25rem 0 0 var(--bd-callout-border, var(--bs-gray-300));
 
     h4 {
       margin-bottom: .25rem;
     + .bd-callout {
       margin-top: -.25rem;
     }
-
-    // .highlight {
-    //   background-color: rgba($black, .05);
-    // }
   }
 
   // Variations
   @each $variant in $bd-callout-variants {
     .bd-callout-#{$variant} {
-      // --bd-callout-color: var(--bs-#{$variant}-text);
       --bd-callout-bg: color-mix(in srgb, var(--bs-#{$variant}-bg-subtle), transparent 50%);
       --bd-callout-border: var(--bs-#{$variant}-border);
     }
diff --git a/site/src/scss/_colors.scss b/site/src/scss/_colors.scss
deleted file mode 100644 (file)
index 08bdaec..0000000
+++ /dev/null
@@ -1,141 +0,0 @@
-@use "sass:map";
-@use "sass:string";
-@use "../../../scss/config" as *;
-@use "../../../scss/colors" as *;
-@use "../../../scss/layout/breakpoints" as *;
-@use "../../../scss/functions" as *;
-
-//
-// Docs color palette classes
-//
-
-// // stylelint-disable declaration-block-single-line-max-declarations
-// .bd-blue-100 { color: color-contrast($blue-100); background-color: $blue-100; }
-// .bd-blue-200 { color: color-contrast($blue-200); background-color: $blue-200; }
-// .bd-blue-300 { color: color-contrast($blue-300); background-color: $blue-300; }
-// .bd-blue-400 { color: color-contrast($blue-400); background-color: $blue-400; }
-// .bd-blue-500 { color: color-contrast($blue-500); background-color: $blue-500; }
-// .bd-blue-600 { color: color-contrast($blue-600); background-color: $blue-600; }
-// .bd-blue-700 { color: color-contrast($blue-700); background-color: $blue-700; }
-// .bd-blue-800 { color: color-contrast($blue-800); background-color: $blue-800; }
-// .bd-blue-900 { color: color-contrast($blue-900); background-color: $blue-900; }
-
-// .bd-indigo-100 { color: color-contrast($indigo-100); background-color: $indigo-100; }
-// .bd-indigo-200 { color: color-contrast($indigo-200); background-color: $indigo-200; }
-// .bd-indigo-300 { color: color-contrast($indigo-300); background-color: $indigo-300; }
-// .bd-indigo-400 { color: color-contrast($indigo-400); background-color: $indigo-400; }
-// .bd-indigo-500 { color: color-contrast($indigo-500); background-color: $indigo-500; }
-// .bd-indigo-600 { color: color-contrast($indigo-600); background-color: $indigo-600; }
-// .bd-indigo-700 { color: color-contrast($indigo-700); background-color: $indigo-700; }
-// .bd-indigo-800 { color: color-contrast($indigo-800); background-color: $indigo-800; }
-// .bd-indigo-900 { color: color-contrast($indigo-900); background-color: $indigo-900; }
-
-// .bd-purple-100 { color: color-contrast($purple-100); background-color: $purple-100; }
-// .bd-purple-200 { color: color-contrast($purple-200); background-color: $purple-200; }
-// .bd-purple-300 { color: color-contrast($purple-300); background-color: $purple-300; }
-// .bd-purple-400 { color: color-contrast($purple-400); background-color: $purple-400; }
-// .bd-purple-500 { color: color-contrast($purple-500); background-color: $purple-500; }
-// .bd-purple-600 { color: color-contrast($purple-600); background-color: $purple-600; }
-// .bd-purple-700 { color: color-contrast($purple-700); background-color: $purple-700; }
-// .bd-purple-800 { color: color-contrast($purple-800); background-color: $purple-800; }
-// .bd-purple-900 { color: color-contrast($purple-900); background-color: $purple-900; }
-
-// .bd-pink-100 { color: color-contrast($pink-100); background-color: $pink-100; }
-// .bd-pink-200 { color: color-contrast($pink-200); background-color: $pink-200; }
-// .bd-pink-300 { color: color-contrast($pink-300); background-color: $pink-300; }
-// .bd-pink-400 { color: color-contrast($pink-400); background-color: $pink-400; }
-// .bd-pink-500 { color: color-contrast($pink-500); background-color: $pink-500; }
-// .bd-pink-600 { color: color-contrast($pink-600); background-color: $pink-600; }
-// .bd-pink-700 { color: color-contrast($pink-700); background-color: $pink-700; }
-// .bd-pink-800 { color: color-contrast($pink-800); background-color: $pink-800; }
-// .bd-pink-900 { color: color-contrast($pink-900); background-color: $pink-900; }
-
-// .bd-red-100 { color: color-contrast($red-100); background-color: $red-100; }
-// .bd-red-200 { color: color-contrast($red-200); background-color: $red-200; }
-// .bd-red-300 { color: color-contrast($red-300); background-color: $red-300; }
-// .bd-red-400 { color: color-contrast($red-400); background-color: $red-400; }
-// .bd-red-500 { color: color-contrast($red-500); background-color: $red-500; }
-// .bd-red-600 { color: color-contrast($red-600); background-color: $red-600; }
-// .bd-red-700 { color: color-contrast($red-700); background-color: $red-700; }
-// .bd-red-800 { color: color-contrast($red-800); background-color: $red-800; }
-// .bd-red-900 { color: color-contrast($red-900); background-color: $red-900; }
-
-// .bd-orange-100 { color: color-contrast($orange-100); background-color: $orange-100; }
-// .bd-orange-200 { color: color-contrast($orange-200); background-color: $orange-200; }
-// .bd-orange-300 { color: color-contrast($orange-300); background-color: $orange-300; }
-// .bd-orange-400 { color: color-contrast($orange-400); background-color: $orange-400; }
-// .bd-orange-500 { color: color-contrast($orange-500); background-color: $orange-500; }
-// .bd-orange-600 { color: color-contrast($orange-600); background-color: $orange-600; }
-// .bd-orange-700 { color: color-contrast($orange-700); background-color: $orange-700; }
-// .bd-orange-800 { color: color-contrast($orange-800); background-color: $orange-800; }
-// .bd-orange-900 { color: color-contrast($orange-900); background-color: $orange-900; }
-
-// .bd-yellow-100 { color: color-contrast($yellow-100); background-color: $yellow-100; }
-// .bd-yellow-200 { color: color-contrast($yellow-200); background-color: $yellow-200; }
-// .bd-yellow-300 { color: color-contrast($yellow-300); background-color: $yellow-300; }
-// .bd-yellow-400 { color: color-contrast($yellow-400); background-color: $yellow-400; }
-// .bd-yellow-500 { color: color-contrast($yellow-500); background-color: $yellow-500; }
-// .bd-yellow-600 { color: color-contrast($yellow-600); background-color: $yellow-600; }
-// .bd-yellow-700 { color: color-contrast($yellow-700); background-color: $yellow-700; }
-// .bd-yellow-800 { color: color-contrast($yellow-800); background-color: $yellow-800; }
-// .bd-yellow-900 { color: color-contrast($yellow-900); background-color: $yellow-900; }
-
-// .bd-green-100 { color: color-contrast($green-100); background-color: $green-100; }
-// .bd-green-200 { color: color-contrast($green-200); background-color: $green-200; }
-// .bd-green-300 { color: color-contrast($green-300); background-color: $green-300; }
-// .bd-green-400 { color: color-contrast($green-400); background-color: $green-400; }
-// .bd-green-500 { color: color-contrast($green-500); background-color: $green-500; }
-// .bd-green-600 { color: color-contrast($green-600); background-color: $green-600; }
-// .bd-green-700 { color: color-contrast($green-700); background-color: $green-700; }
-// .bd-green-800 { color: color-contrast($green-800); background-color: $green-800; }
-// .bd-green-900 { color: color-contrast($green-900); background-color: $green-900; }
-
-// .bd-teal-100 { color: color-contrast($teal-100); background-color: $teal-100; }
-// .bd-teal-200 { color: color-contrast($teal-200); background-color: $teal-200; }
-// .bd-teal-300 { color: color-contrast($teal-300); background-color: $teal-300; }
-// .bd-teal-400 { color: color-contrast($teal-400); background-color: $teal-400; }
-// .bd-teal-500 { color: color-contrast($teal-500); background-color: $teal-500; }
-// .bd-teal-600 { color: color-contrast($teal-600); background-color: $teal-600; }
-// .bd-teal-700 { color: color-contrast($teal-700); background-color: $teal-700; }
-// .bd-teal-800 { color: color-contrast($teal-800); background-color: $teal-800; }
-// .bd-teal-900 { color: color-contrast($teal-900); background-color: $teal-900; }
-
-// .bd-cyan-100 { color: color-contrast($cyan-100); background-color: $cyan-100; }
-// .bd-cyan-200 { color: color-contrast($cyan-200); background-color: $cyan-200; }
-// .bd-cyan-300 { color: color-contrast($cyan-300); background-color: $cyan-300; }
-// .bd-cyan-400 { color: color-contrast($cyan-400); background-color: $cyan-400; }
-// .bd-cyan-500 { color: color-contrast($cyan-500); background-color: $cyan-500; }
-// .bd-cyan-600 { color: color-contrast($cyan-600); background-color: $cyan-600; }
-// .bd-cyan-700 { color: color-contrast($cyan-700); background-color: $cyan-700; }
-// .bd-cyan-800 { color: color-contrast($cyan-800); background-color: $cyan-800; }
-// .bd-cyan-900 { color: color-contrast($cyan-900); background-color: $cyan-900; }
-
-// .bd-gray-100 { color: color-contrast(var(--gray-100)); background-color: var(--gray-100); }
-// .bd-gray-200 { color: color-contrast(var(--gray-200)); background-color: var(--gray-200); }
-// .bd-gray-300 { color: color-contrast(var(--gray-300)); background-color: var(--gray-300); }
-// .bd-gray-400 { color: color-contrast(var(--gray-400)); background-color: var(--gray-400); }
-// .bd-gray-500 { color: color-contrast(var(--gray-500)); background-color: var(--gray-500); }
-// .bd-gray-600 { color: color-contrast(var(--gray-600)); background-color: var(--gray-600); }
-// .bd-gray-700 { color: color-contrast(var(--gray-700)); background-color: var(--gray-700); }
-// .bd-gray-800 { color: color-contrast(var(--gray-800)); background-color: var(--gray-800); }
-// .bd-gray-900 { color: color-contrast(var(--gray-900)); background-color: var(--gray-900); }
-
-// .bd-white {
-//   color: color-contrast($white);
-//   background-color: $white;
-
-//   // Astro HTML parser adds extra <p> tags to the content
-//   p {
-//     margin: 0;
-//   }
-// }
-
-// .bd-black {
-//   color: color-contrast($black);
-//   background-color: $black;
-
-//   // Astro HTML parser adds extra <p> tags to the content
-//   p {
-//     margin: 0;
-//   }
-// }
index 36931f00b23804e453a07ebb2514a15401da7c96..a59c9996aff3e1ddb62e8b1da1cf4ee0f331d7e7 100644 (file)
@@ -9,15 +9,6 @@
 // Docs examples
 //
 
-// .bd-code-snippet
-//   .bd-example
-//   .highlight-toolbar
-//   pre.astro-code
-
-// .bd-code-snippet
-//   .highlight-toolbar
-//   pre.astro-code
-
 @layer custom {
   .bd-code-snippet {
     --bd-example-padding: 1.25rem;
 
     @include media-breakpoint-up(md) {
       --bd-example-padding: 1.5rem;
-
       margin-inline: 0;
-      // border-width: 1px;
-      // @include border-radius(var(--bs-border-radius));
     }
 
     + p {
 
     > .dropdown-menu {
       max-width: 12rem;
-      //   position: static;
-      //   display: block;
     }
 
     > :last-child,
   // Code snippets
   //
 
-  .astro-code {
-    position: relative;
-    background-color: var(--bd-pre-bg);
-
-    @include media-breakpoint-up(md) {
-      @include border-radius(calc(var(--bs-border-radius) - 1px));
-    }
-  }
-
   .bd-example-snippet .highlight pre {
     margin-inline-end: 0;
   }
index b5c3109424f92819e1c64d9abd8b10469440a51a..cad480366ab0041a85657f41a2bf3de070fbf5d9 100644 (file)
   }
 
   .bd-subtitle {
-    font-size: 1.5rem;
+    font-size: 1.125rem;
     font-weight: 300;
+
+    @media (width >= 1024px) {
+      font-size: 1.25rem;
+    }
   }
 
   .bi {
index ec53eec687cae8da7f06d3845c7a95e654896e8b..ce192cf1ea7130158fa293b1fd2da9cecf018866 100644 (file)
 
     h1 {
       --bs-heading-color: var(--bs-emphasis-color);
-      font-size: 4rem;
+      font-size: var(--font-size-4xl);
     }
 
     .lead {
-      font-size: 1rem;
+      font-size: 1.125rem;
       font-weight: 400;
       color: var(--bs-secondary-color);
     }
@@ -70,7 +70,7 @@
 
     @include media-breakpoint-up(md) {
       .lead {
-        font-size: 1.5rem;
+        font-size: 1.25rem;
       }
     }
   }
       transform: scale(1);
     }
   }
-
-  // @if $enable-dark-mode {
-  //   [data-bs-theme="dark"] {
-  //     .masthead-followup-icon {
-  //       mix-blend-mode: lighten;
-  //     }
-  //   }
-  // }
 }
index 55de5daef80693edd81795c8ed8e086074b042ce..93b7a94d7110d11a97447fdb041db9734f02efd6 100644 (file)
 
 .astro-code {
   --bs-font-monospace: "Geist Mono";
+
+  position: relative;
   display: flex;
   padding: var(--bd-example-padding);
   margin-bottom: 0;
   line-height: 20px;
   background-color: var(--bd-pre-bg) !important; // stylelint-disable-line declaration-no-important
+  @include border-radius(calc(var(--bs-border-radius) - 1px));
+
+  > code {
+    display: flex;
+    flex-direction: column;
+    width: 100%;
+  }
+
+}
+
+.astro-code .line.highlighted {
+  width: calc(100% + 2.5rem);
+  padding-inline: 1.25rem;
+  margin-inline: -1.25rem;
+  background-color: var(--bs-primary-bg-subtle);
 }
 
 // Dark mode theming for Shiki
index 3b01914d45613ff7ccad9ee1ba7b279f11cf719b..d5030ed8aea026dc76335e07446fc74fe18c050f 100644 (file)
@@ -11,7 +11,7 @@ $bd-purple-light:  color.adjust(color.adjust($bd-purple, $saturation: 5%), $ligh
 $bd-accent:        #ffe484;
 
 $bd-gutter-x: 3rem;
-$bd-callout-variants: info, warning, danger !default;
+$bd-callout-variants: info, warning, danger;
 
 @layer custom {
   :root {
index 62ad42dee47da228edc9b9e92fc4c6310847a47c..fc8c34d63c2cac2a336e69692c02ecde5d519213 100644 (file)
 //
 // Happy Bootstrapping!
 
-// Load Bootstrap variables and mixins
-// @use "../../../scss/config";
-// @use "../../../scss/colors";
-// @use "../../../scss/functions";
-// @use "../../../scss/mixins";
-// @use "../../../scss/variables";
-// @use "../../../scss/layout/breakpoints";
-
-// // fusv-disable
-// $enable-grid-classes: false;
-// $enable-cssgrid: true;
-// // fusv-enable
-// @use "../../../scss/layout/";
-
 // Load docs components
 // @use "variables";
 @use "navbar";
@@ -50,7 +36,6 @@
 @use "callouts";
 @use "details";
 @use "brand";
-@use "colors";
 @use "clipboard-js";
 @use "placeholder-img";
 @use "scrolling";