]> git.ipfire.org Git - thirdparty/bootstrap.git/commitdiff
Add Dialog component with native HTML5 dialog element and scrollbar-gutter copilot/fix-cdf3e24a-3313-42be-a73c-fe34d2b3b1c7 41751/head
authorcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Thu, 18 Sep 2025 03:26:37 +0000 (03:26 +0000)
committercopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Thu, 18 Sep 2025 03:26:37 +0000 (03:26 +0000)
Co-authored-by: mdo <98681+mdo@users.noreply.github.com>
23 files changed:
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/dialog.js [new file with mode: 0644]
js/dist/dialog.js.map [new file with mode: 0644]
js/index.esm.js
js/index.umd.js
js/src/dialog.js [new file with mode: 0644]
js/tests/unit/dialog.spec.js [new file with mode: 0644]
scss/_dialog.scss [new file with mode: 0644]
scss/bootstrap.scss
site/src/content/docs/components/dialog.mdx [new file with mode: 0644]

index 448e442b414e8fb21675202e0602d1a74017b2e6..a6d4d44d17327118c9d3800a2533be2d1f06a398 100644 (file)
 /*!
- * Bootstrap Grid v5.3.8 (https://getbootstrap.com/)
- * Copyright 2011-2025 The Bootstrap Authors
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */
-.container,
-.container-fluid,
-.container-xxl,
-.container-xl,
-.container-lg,
-.container-md,
-.container-sm {
-  --bs-gutter-x: 1.5rem;
-  --bs-gutter-y: 0;
-  width: 100%;
-  padding-right: calc(var(--bs-gutter-x) * 0.5);
-  padding-left: calc(var(--bs-gutter-x) * 0.5);
-  margin-right: auto;
-  margin-left: auto;
-}
-
-@media (min-width: 576px) {
-  .container-sm, .container {
-    max-width: 540px;
-  }
-}
-@media (min-width: 768px) {
-  .container-md, .container-sm, .container {
-    max-width: 720px;
-  }
-}
-@media (min-width: 992px) {
-  .container-lg, .container-md, .container-sm, .container {
-    max-width: 960px;
-  }
-}
-@media (min-width: 1200px) {
-  .container-xl, .container-lg, .container-md, .container-sm, .container {
-    max-width: 1140px;
-  }
-}
-@media (min-width: 1400px) {
-  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
-    max-width: 1320px;
-  }
-}
-:root {
-  --bs-breakpoint-xs: 0;
-  --bs-breakpoint-sm: 576px;
-  --bs-breakpoint-md: 768px;
-  --bs-breakpoint-lg: 992px;
-  --bs-breakpoint-xl: 1200px;
-  --bs-breakpoint-xxl: 1400px;
-}
-
-.row {
-  --bs-gutter-x: 1.5rem;
-  --bs-gutter-y: 0;
-  display: flex;
-  flex-wrap: wrap;
-  margin-top: calc(-1 * var(--bs-gutter-y));
-  margin-right: calc(-0.5 * var(--bs-gutter-x));
-  margin-left: calc(-0.5 * var(--bs-gutter-x));
-}
-.row > * {
-  box-sizing: border-box;
-  flex-shrink: 0;
-  width: 100%;
-  max-width: 100%;
-  padding-right: calc(var(--bs-gutter-x) * 0.5);
-  padding-left: calc(var(--bs-gutter-x) * 0.5);
-  margin-top: var(--bs-gutter-y);
-}
-
-.col {
-  flex: 1 0 0;
-}
-
-.row-cols-auto > * {
-  flex: 0 0 auto;
-  width: auto;
-}
-
-.row-cols-1 > * {
-  flex: 0 0 auto;
-  width: 100%;
-}
-
-.row-cols-2 > * {
-  flex: 0 0 auto;
-  width: 50%;
-}
-
-.row-cols-3 > * {
-  flex: 0 0 auto;
-  width: 33.33333333%;
-}
-
-.row-cols-4 > * {
-  flex: 0 0 auto;
-  width: 25%;
-}
-
-.row-cols-5 > * {
-  flex: 0 0 auto;
-  width: 20%;
-}
-
-.row-cols-6 > * {
-  flex: 0 0 auto;
-  width: 16.66666667%;
-}
-
-.col-auto {
-  flex: 0 0 auto;
-  width: auto;
-}
-
-.col-1 {
-  flex: 0 0 auto;
-  width: 8.33333333%;
-}
-
-.col-2 {
-  flex: 0 0 auto;
-  width: 16.66666667%;
-}
-
-.col-3 {
-  flex: 0 0 auto;
-  width: 25%;
-}
-
-.col-4 {
-  flex: 0 0 auto;
-  width: 33.33333333%;
-}
-
-.col-5 {
-  flex: 0 0 auto;
-  width: 41.66666667%;
-}
-
-.col-6 {
-  flex: 0 0 auto;
-  width: 50%;
-}
-
-.col-7 {
-  flex: 0 0 auto;
-  width: 58.33333333%;
-}
-
-.col-8 {
-  flex: 0 0 auto;
-  width: 66.66666667%;
-}
-
-.col-9 {
-  flex: 0 0 auto;
-  width: 75%;
-}
-
-.col-10 {
-  flex: 0 0 auto;
-  width: 83.33333333%;
-}
-
-.col-11 {
-  flex: 0 0 auto;
-  width: 91.66666667%;
-}
-
-.col-12 {
-  flex: 0 0 auto;
-  width: 100%;
-}
-
-.offset-1 {
-  margin-left: 8.33333333%;
-}
-
-.offset-2 {
-  margin-left: 16.66666667%;
-}
-
-.offset-3 {
-  margin-left: 25%;
-}
-
-.offset-4 {
-  margin-left: 33.33333333%;
-}
-
-.offset-5 {
-  margin-left: 41.66666667%;
-}
-
-.offset-6 {
-  margin-left: 50%;
-}
-
-.offset-7 {
-  margin-left: 58.33333333%;
-}
-
-.offset-8 {
-  margin-left: 66.66666667%;
-}
-
-.offset-9 {
-  margin-left: 75%;
-}
-
-.offset-10 {
-  margin-left: 83.33333333%;
-}
-
-.offset-11 {
-  margin-left: 91.66666667%;
-}
-
-.g-0,
-.gx-0 {
-  --bs-gutter-x: 0;
-}
-
-.g-0,
-.gy-0 {
-  --bs-gutter-y: 0;
-}
-
-.g-1,
-.gx-1 {
-  --bs-gutter-x: 0.25rem;
-}
-
-.g-1,
-.gy-1 {
-  --bs-gutter-y: 0.25rem;
-}
-
-.g-2,
-.gx-2 {
-  --bs-gutter-x: 0.5rem;
-}
-
-.g-2,
-.gy-2 {
-  --bs-gutter-y: 0.5rem;
-}
-
-.g-3,
-.gx-3 {
-  --bs-gutter-x: 1rem;
-}
-
-.g-3,
-.gy-3 {
-  --bs-gutter-y: 1rem;
-}
-
-.g-4,
-.gx-4 {
-  --bs-gutter-x: 1.5rem;
-}
-
-.g-4,
-.gy-4 {
-  --bs-gutter-y: 1.5rem;
-}
-
-.g-5,
-.gx-5 {
-  --bs-gutter-x: 3rem;
-}
-
-.g-5,
-.gy-5 {
-  --bs-gutter-y: 3rem;
-}
-
-@media (min-width: 576px) {
-  .col-sm {
-    flex: 1 0 0;
-  }
-  .row-cols-sm-auto > * {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .row-cols-sm-1 > * {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .row-cols-sm-2 > * {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .row-cols-sm-3 > * {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .row-cols-sm-4 > * {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .row-cols-sm-5 > * {
-    flex: 0 0 auto;
-    width: 20%;
-  }
-  .row-cols-sm-6 > * {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-sm-auto {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .col-sm-1 {
-    flex: 0 0 auto;
-    width: 8.33333333%;
-  }
-  .col-sm-2 {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-sm-3 {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .col-sm-4 {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .col-sm-5 {
-    flex: 0 0 auto;
-    width: 41.66666667%;
-  }
-  .col-sm-6 {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .col-sm-7 {
-    flex: 0 0 auto;
-    width: 58.33333333%;
-  }
-  .col-sm-8 {
-    flex: 0 0 auto;
-    width: 66.66666667%;
-  }
-  .col-sm-9 {
-    flex: 0 0 auto;
-    width: 75%;
-  }
-  .col-sm-10 {
-    flex: 0 0 auto;
-    width: 83.33333333%;
-  }
-  .col-sm-11 {
-    flex: 0 0 auto;
-    width: 91.66666667%;
-  }
-  .col-sm-12 {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .offset-sm-0 {
-    margin-left: 0;
-  }
-  .offset-sm-1 {
-    margin-left: 8.33333333%;
-  }
-  .offset-sm-2 {
-    margin-left: 16.66666667%;
-  }
-  .offset-sm-3 {
-    margin-left: 25%;
-  }
-  .offset-sm-4 {
-    margin-left: 33.33333333%;
-  }
-  .offset-sm-5 {
-    margin-left: 41.66666667%;
-  }
-  .offset-sm-6 {
-    margin-left: 50%;
-  }
-  .offset-sm-7 {
-    margin-left: 58.33333333%;
-  }
-  .offset-sm-8 {
-    margin-left: 66.66666667%;
-  }
-  .offset-sm-9 {
-    margin-left: 75%;
-  }
-  .offset-sm-10 {
-    margin-left: 83.33333333%;
-  }
-  .offset-sm-11 {
-    margin-left: 91.66666667%;
-  }
-  .g-sm-0,
-  .gx-sm-0 {
-    --bs-gutter-x: 0;
-  }
-  .g-sm-0,
-  .gy-sm-0 {
-    --bs-gutter-y: 0;
-  }
-  .g-sm-1,
-  .gx-sm-1 {
-    --bs-gutter-x: 0.25rem;
-  }
-  .g-sm-1,
-  .gy-sm-1 {
-    --bs-gutter-y: 0.25rem;
-  }
-  .g-sm-2,
-  .gx-sm-2 {
-    --bs-gutter-x: 0.5rem;
-  }
-  .g-sm-2,
-  .gy-sm-2 {
-    --bs-gutter-y: 0.5rem;
-  }
-  .g-sm-3,
-  .gx-sm-3 {
-    --bs-gutter-x: 1rem;
-  }
-  .g-sm-3,
-  .gy-sm-3 {
-    --bs-gutter-y: 1rem;
-  }
-  .g-sm-4,
-  .gx-sm-4 {
-    --bs-gutter-x: 1.5rem;
-  }
-  .g-sm-4,
-  .gy-sm-4 {
-    --bs-gutter-y: 1.5rem;
-  }
-  .g-sm-5,
-  .gx-sm-5 {
-    --bs-gutter-x: 3rem;
-  }
-  .g-sm-5,
-  .gy-sm-5 {
-    --bs-gutter-y: 3rem;
-  }
-}
-@media (min-width: 768px) {
-  .col-md {
-    flex: 1 0 0;
-  }
-  .row-cols-md-auto > * {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .row-cols-md-1 > * {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .row-cols-md-2 > * {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .row-cols-md-3 > * {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .row-cols-md-4 > * {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .row-cols-md-5 > * {
-    flex: 0 0 auto;
-    width: 20%;
-  }
-  .row-cols-md-6 > * {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-md-auto {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .col-md-1 {
-    flex: 0 0 auto;
-    width: 8.33333333%;
-  }
-  .col-md-2 {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-md-3 {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .col-md-4 {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .col-md-5 {
-    flex: 0 0 auto;
-    width: 41.66666667%;
-  }
-  .col-md-6 {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .col-md-7 {
-    flex: 0 0 auto;
-    width: 58.33333333%;
-  }
-  .col-md-8 {
-    flex: 0 0 auto;
-    width: 66.66666667%;
-  }
-  .col-md-9 {
-    flex: 0 0 auto;
-    width: 75%;
-  }
-  .col-md-10 {
-    flex: 0 0 auto;
-    width: 83.33333333%;
-  }
-  .col-md-11 {
-    flex: 0 0 auto;
-    width: 91.66666667%;
-  }
-  .col-md-12 {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .offset-md-0 {
-    margin-left: 0;
-  }
-  .offset-md-1 {
-    margin-left: 8.33333333%;
-  }
-  .offset-md-2 {
-    margin-left: 16.66666667%;
-  }
-  .offset-md-3 {
-    margin-left: 25%;
-  }
-  .offset-md-4 {
-    margin-left: 33.33333333%;
-  }
-  .offset-md-5 {
-    margin-left: 41.66666667%;
-  }
-  .offset-md-6 {
-    margin-left: 50%;
-  }
-  .offset-md-7 {
-    margin-left: 58.33333333%;
-  }
-  .offset-md-8 {
-    margin-left: 66.66666667%;
-  }
-  .offset-md-9 {
-    margin-left: 75%;
-  }
-  .offset-md-10 {
-    margin-left: 83.33333333%;
-  }
-  .offset-md-11 {
-    margin-left: 91.66666667%;
-  }
-  .g-md-0,
-  .gx-md-0 {
-    --bs-gutter-x: 0;
-  }
-  .g-md-0,
-  .gy-md-0 {
-    --bs-gutter-y: 0;
-  }
-  .g-md-1,
-  .gx-md-1 {
-    --bs-gutter-x: 0.25rem;
-  }
-  .g-md-1,
-  .gy-md-1 {
-    --bs-gutter-y: 0.25rem;
-  }
-  .g-md-2,
-  .gx-md-2 {
-    --bs-gutter-x: 0.5rem;
-  }
-  .g-md-2,
-  .gy-md-2 {
-    --bs-gutter-y: 0.5rem;
-  }
-  .g-md-3,
-  .gx-md-3 {
-    --bs-gutter-x: 1rem;
-  }
-  .g-md-3,
-  .gy-md-3 {
-    --bs-gutter-y: 1rem;
-  }
-  .g-md-4,
-  .gx-md-4 {
-    --bs-gutter-x: 1.5rem;
-  }
-  .g-md-4,
-  .gy-md-4 {
-    --bs-gutter-y: 1.5rem;
-  }
-  .g-md-5,
-  .gx-md-5 {
-    --bs-gutter-x: 3rem;
-  }
-  .g-md-5,
-  .gy-md-5 {
-    --bs-gutter-y: 3rem;
-  }
-}
-@media (min-width: 992px) {
-  .col-lg {
-    flex: 1 0 0;
-  }
-  .row-cols-lg-auto > * {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .row-cols-lg-1 > * {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .row-cols-lg-2 > * {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .row-cols-lg-3 > * {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .row-cols-lg-4 > * {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .row-cols-lg-5 > * {
-    flex: 0 0 auto;
-    width: 20%;
-  }
-  .row-cols-lg-6 > * {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-lg-auto {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .col-lg-1 {
-    flex: 0 0 auto;
-    width: 8.33333333%;
-  }
-  .col-lg-2 {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-lg-3 {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .col-lg-4 {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .col-lg-5 {
-    flex: 0 0 auto;
-    width: 41.66666667%;
-  }
-  .col-lg-6 {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .col-lg-7 {
-    flex: 0 0 auto;
-    width: 58.33333333%;
-  }
-  .col-lg-8 {
-    flex: 0 0 auto;
-    width: 66.66666667%;
-  }
-  .col-lg-9 {
-    flex: 0 0 auto;
-    width: 75%;
-  }
-  .col-lg-10 {
-    flex: 0 0 auto;
-    width: 83.33333333%;
-  }
-  .col-lg-11 {
-    flex: 0 0 auto;
-    width: 91.66666667%;
-  }
-  .col-lg-12 {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .offset-lg-0 {
-    margin-left: 0;
-  }
-  .offset-lg-1 {
-    margin-left: 8.33333333%;
-  }
-  .offset-lg-2 {
-    margin-left: 16.66666667%;
-  }
-  .offset-lg-3 {
-    margin-left: 25%;
-  }
-  .offset-lg-4 {
-    margin-left: 33.33333333%;
-  }
-  .offset-lg-5 {
-    margin-left: 41.66666667%;
-  }
-  .offset-lg-6 {
-    margin-left: 50%;
-  }
-  .offset-lg-7 {
-    margin-left: 58.33333333%;
-  }
-  .offset-lg-8 {
-    margin-left: 66.66666667%;
-  }
-  .offset-lg-9 {
-    margin-left: 75%;
-  }
-  .offset-lg-10 {
-    margin-left: 83.33333333%;
-  }
-  .offset-lg-11 {
-    margin-left: 91.66666667%;
-  }
-  .g-lg-0,
-  .gx-lg-0 {
-    --bs-gutter-x: 0;
-  }
-  .g-lg-0,
-  .gy-lg-0 {
-    --bs-gutter-y: 0;
-  }
-  .g-lg-1,
-  .gx-lg-1 {
-    --bs-gutter-x: 0.25rem;
-  }
-  .g-lg-1,
-  .gy-lg-1 {
-    --bs-gutter-y: 0.25rem;
-  }
-  .g-lg-2,
-  .gx-lg-2 {
-    --bs-gutter-x: 0.5rem;
-  }
-  .g-lg-2,
-  .gy-lg-2 {
-    --bs-gutter-y: 0.5rem;
-  }
-  .g-lg-3,
-  .gx-lg-3 {
-    --bs-gutter-x: 1rem;
-  }
-  .g-lg-3,
-  .gy-lg-3 {
-    --bs-gutter-y: 1rem;
-  }
-  .g-lg-4,
-  .gx-lg-4 {
-    --bs-gutter-x: 1.5rem;
-  }
-  .g-lg-4,
-  .gy-lg-4 {
-    --bs-gutter-y: 1.5rem;
-  }
-  .g-lg-5,
-  .gx-lg-5 {
-    --bs-gutter-x: 3rem;
-  }
-  .g-lg-5,
-  .gy-lg-5 {
-    --bs-gutter-y: 3rem;
-  }
-}
-@media (min-width: 1200px) {
-  .col-xl {
-    flex: 1 0 0;
-  }
-  .row-cols-xl-auto > * {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .row-cols-xl-1 > * {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .row-cols-xl-2 > * {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .row-cols-xl-3 > * {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .row-cols-xl-4 > * {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .row-cols-xl-5 > * {
-    flex: 0 0 auto;
-    width: 20%;
-  }
-  .row-cols-xl-6 > * {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-xl-auto {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .col-xl-1 {
-    flex: 0 0 auto;
-    width: 8.33333333%;
-  }
-  .col-xl-2 {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-xl-3 {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .col-xl-4 {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .col-xl-5 {
-    flex: 0 0 auto;
-    width: 41.66666667%;
-  }
-  .col-xl-6 {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .col-xl-7 {
-    flex: 0 0 auto;
-    width: 58.33333333%;
-  }
-  .col-xl-8 {
-    flex: 0 0 auto;
-    width: 66.66666667%;
-  }
-  .col-xl-9 {
-    flex: 0 0 auto;
-    width: 75%;
-  }
-  .col-xl-10 {
-    flex: 0 0 auto;
-    width: 83.33333333%;
-  }
-  .col-xl-11 {
-    flex: 0 0 auto;
-    width: 91.66666667%;
-  }
-  .col-xl-12 {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .offset-xl-0 {
-    margin-left: 0;
-  }
-  .offset-xl-1 {
-    margin-left: 8.33333333%;
-  }
-  .offset-xl-2 {
-    margin-left: 16.66666667%;
-  }
-  .offset-xl-3 {
-    margin-left: 25%;
-  }
-  .offset-xl-4 {
-    margin-left: 33.33333333%;
-  }
-  .offset-xl-5 {
-    margin-left: 41.66666667%;
-  }
-  .offset-xl-6 {
-    margin-left: 50%;
-  }
-  .offset-xl-7 {
-    margin-left: 58.33333333%;
-  }
-  .offset-xl-8 {
-    margin-left: 66.66666667%;
-  }
-  .offset-xl-9 {
-    margin-left: 75%;
-  }
-  .offset-xl-10 {
-    margin-left: 83.33333333%;
-  }
-  .offset-xl-11 {
-    margin-left: 91.66666667%;
-  }
-  .g-xl-0,
-  .gx-xl-0 {
-    --bs-gutter-x: 0;
-  }
-  .g-xl-0,
-  .gy-xl-0 {
-    --bs-gutter-y: 0;
-  }
-  .g-xl-1,
-  .gx-xl-1 {
-    --bs-gutter-x: 0.25rem;
-  }
-  .g-xl-1,
-  .gy-xl-1 {
-    --bs-gutter-y: 0.25rem;
-  }
-  .g-xl-2,
-  .gx-xl-2 {
-    --bs-gutter-x: 0.5rem;
-  }
-  .g-xl-2,
-  .gy-xl-2 {
-    --bs-gutter-y: 0.5rem;
-  }
-  .g-xl-3,
-  .gx-xl-3 {
-    --bs-gutter-x: 1rem;
-  }
-  .g-xl-3,
-  .gy-xl-3 {
-    --bs-gutter-y: 1rem;
-  }
-  .g-xl-4,
-  .gx-xl-4 {
-    --bs-gutter-x: 1.5rem;
-  }
-  .g-xl-4,
-  .gy-xl-4 {
-    --bs-gutter-y: 1.5rem;
-  }
-  .g-xl-5,
-  .gx-xl-5 {
-    --bs-gutter-x: 3rem;
-  }
-  .g-xl-5,
-  .gy-xl-5 {
-    --bs-gutter-y: 3rem;
-  }
-}
-@media (min-width: 1400px) {
-  .col-xxl {
-    flex: 1 0 0;
-  }
-  .row-cols-xxl-auto > * {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .row-cols-xxl-1 > * {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .row-cols-xxl-2 > * {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .row-cols-xxl-3 > * {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .row-cols-xxl-4 > * {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .row-cols-xxl-5 > * {
-    flex: 0 0 auto;
-    width: 20%;
-  }
-  .row-cols-xxl-6 > * {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-xxl-auto {
-    flex: 0 0 auto;
-    width: auto;
-  }
-  .col-xxl-1 {
-    flex: 0 0 auto;
-    width: 8.33333333%;
-  }
-  .col-xxl-2 {
-    flex: 0 0 auto;
-    width: 16.66666667%;
-  }
-  .col-xxl-3 {
-    flex: 0 0 auto;
-    width: 25%;
-  }
-  .col-xxl-4 {
-    flex: 0 0 auto;
-    width: 33.33333333%;
-  }
-  .col-xxl-5 {
-    flex: 0 0 auto;
-    width: 41.66666667%;
-  }
-  .col-xxl-6 {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .col-xxl-7 {
-    flex: 0 0 auto;
-    width: 58.33333333%;
-  }
-  .col-xxl-8 {
-    flex: 0 0 auto;
-    width: 66.66666667%;
-  }
-  .col-xxl-9 {
-    flex: 0 0 auto;
-    width: 75%;
-  }
-  .col-xxl-10 {
-    flex: 0 0 auto;
-    width: 83.33333333%;
-  }
-  .col-xxl-11 {
-    flex: 0 0 auto;
-    width: 91.66666667%;
-  }
-  .col-xxl-12 {
-    flex: 0 0 auto;
-    width: 100%;
-  }
-  .offset-xxl-0 {
-    margin-left: 0;
-  }
-  .offset-xxl-1 {
-    margin-left: 8.33333333%;
-  }
-  .offset-xxl-2 {
-    margin-left: 16.66666667%;
-  }
-  .offset-xxl-3 {
-    margin-left: 25%;
-  }
-  .offset-xxl-4 {
-    margin-left: 33.33333333%;
-  }
-  .offset-xxl-5 {
-    margin-left: 41.66666667%;
-  }
-  .offset-xxl-6 {
-    margin-left: 50%;
-  }
-  .offset-xxl-7 {
-    margin-left: 58.33333333%;
-  }
-  .offset-xxl-8 {
-    margin-left: 66.66666667%;
-  }
-  .offset-xxl-9 {
-    margin-left: 75%;
-  }
-  .offset-xxl-10 {
-    margin-left: 83.33333333%;
-  }
-  .offset-xxl-11 {
-    margin-left: 91.66666667%;
-  }
-  .g-xxl-0,
-  .gx-xxl-0 {
-    --bs-gutter-x: 0;
-  }
-  .g-xxl-0,
-  .gy-xxl-0 {
-    --bs-gutter-y: 0;
-  }
-  .g-xxl-1,
-  .gx-xxl-1 {
-    --bs-gutter-x: 0.25rem;
-  }
-  .g-xxl-1,
-  .gy-xxl-1 {
-    --bs-gutter-y: 0.25rem;
-  }
-  .g-xxl-2,
-  .gx-xxl-2 {
-    --bs-gutter-x: 0.5rem;
-  }
-  .g-xxl-2,
-  .gy-xxl-2 {
-    --bs-gutter-y: 0.5rem;
-  }
-  .g-xxl-3,
-  .gx-xxl-3 {
-    --bs-gutter-x: 1rem;
-  }
-  .g-xxl-3,
-  .gy-xxl-3 {
-    --bs-gutter-y: 1rem;
-  }
-  .g-xxl-4,
-  .gx-xxl-4 {
-    --bs-gutter-x: 1.5rem;
-  }
-  .g-xxl-4,
-  .gy-xxl-4 {
-    --bs-gutter-y: 1.5rem;
-  }
-  .g-xxl-5,
-  .gx-xxl-5 {
-    --bs-gutter-x: 3rem;
-  }
-  .g-xxl-5,
-  .gy-xxl-5 {
-    --bs-gutter-y: 3rem;
-  }
-}
-.d-inline {
-  display: inline !important;
-}
-
-.d-inline-block {
-  display: inline-block !important;
-}
-
-.d-block {
-  display: block !important;
-}
-
-.d-grid {
-  display: grid !important;
-}
-
-.d-inline-grid {
-  display: inline-grid !important;
-}
-
-.d-table {
-  display: table !important;
-}
-
-.d-table-row {
-  display: table-row !important;
-}
-
-.d-table-cell {
-  display: table-cell !important;
-}
-
-.d-flex {
-  display: flex !important;
-}
-
-.d-inline-flex {
-  display: inline-flex !important;
-}
-
-.d-none {
-  display: none !important;
-}
-
-.flex-fill {
-  flex: 1 1 auto !important;
-}
-
-.flex-row {
-  flex-direction: row !important;
-}
-
-.flex-column {
-  flex-direction: column !important;
-}
-
-.flex-row-reverse {
-  flex-direction: row-reverse !important;
-}
-
-.flex-column-reverse {
-  flex-direction: column-reverse !important;
-}
-
-.flex-grow-0 {
-  flex-grow: 0 !important;
-}
-
-.flex-grow-1 {
-  flex-grow: 1 !important;
-}
-
-.flex-shrink-0 {
-  flex-shrink: 0 !important;
-}
-
-.flex-shrink-1 {
-  flex-shrink: 1 !important;
-}
-
-.flex-wrap {
-  flex-wrap: wrap !important;
-}
-
-.flex-nowrap {
-  flex-wrap: nowrap !important;
-}
-
-.flex-wrap-reverse {
-  flex-wrap: wrap-reverse !important;
-}
-
-.justify-content-start {
-  justify-content: flex-start !important;
-}
-
-.justify-content-end {
-  justify-content: flex-end !important;
-}
-
-.justify-content-center {
-  justify-content: center !important;
-}
-
-.justify-content-between {
-  justify-content: space-between !important;
-}
-
-.justify-content-around {
-  justify-content: space-around !important;
-}
-
-.justify-content-evenly {
-  justify-content: space-evenly !important;
-}
-
-.align-items-start {
-  align-items: flex-start !important;
-}
-
-.align-items-end {
-  align-items: flex-end !important;
-}
-
-.align-items-center {
-  align-items: center !important;
-}
-
-.align-items-baseline {
-  align-items: baseline !important;
-}
-
-.align-items-stretch {
-  align-items: stretch !important;
-}
-
-.align-content-start {
-  align-content: flex-start !important;
-}
-
-.align-content-end {
-  align-content: flex-end !important;
-}
-
-.align-content-center {
-  align-content: center !important;
-}
-
-.align-content-between {
-  align-content: space-between !important;
-}
-
-.align-content-around {
-  align-content: space-around !important;
-}
-
-.align-content-stretch {
-  align-content: stretch !important;
-}
-
-.align-self-auto {
-  align-self: auto !important;
-}
-
-.align-self-start {
-  align-self: flex-start !important;
-}
-
-.align-self-end {
-  align-self: flex-end !important;
-}
-
-.align-self-center {
-  align-self: center !important;
-}
-
-.align-self-baseline {
-  align-self: baseline !important;
-}
-
-.align-self-stretch {
-  align-self: stretch !important;
-}
-
-.order-first {
-  order: -1 !important;
-}
-
-.order-0 {
-  order: 0 !important;
-}
-
-.order-1 {
-  order: 1 !important;
-}
-
-.order-2 {
-  order: 2 !important;
-}
-
-.order-3 {
-  order: 3 !important;
-}
-
-.order-4 {
-  order: 4 !important;
-}
-
-.order-5 {
-  order: 5 !important;
-}
-
-.order-last {
-  order: 6 !important;
-}
-
-.m-0 {
-  margin: 0 !important;
-}
-
-.m-1 {
-  margin: 0.25rem !important;
-}
-
-.m-2 {
-  margin: 0.5rem !important;
-}
-
-.m-3 {
-  margin: 1rem !important;
-}
-
-.m-4 {
-  margin: 1.5rem !important;
-}
-
-.m-5 {
-  margin: 3rem !important;
-}
-
-.m-auto {
-  margin: auto !important;
-}
-
-.mx-0 {
-  margin-right: 0 !important;
-  margin-left: 0 !important;
-}
-
-.mx-1 {
-  margin-right: 0.25rem !important;
-  margin-left: 0.25rem !important;
-}
-
-.mx-2 {
-  margin-right: 0.5rem !important;
-  margin-left: 0.5rem !important;
-}
-
-.mx-3 {
-  margin-right: 1rem !important;
-  margin-left: 1rem !important;
-}
-
-.mx-4 {
-  margin-right: 1.5rem !important;
-  margin-left: 1.5rem !important;
-}
-
-.mx-5 {
-  margin-right: 3rem !important;
-  margin-left: 3rem !important;
-}
-
-.mx-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.my-0 {
-  margin-top: 0 !important;
-  margin-bottom: 0 !important;
-}
-
-.my-1 {
-  margin-top: 0.25rem !important;
-  margin-bottom: 0.25rem !important;
-}
-
-.my-2 {
-  margin-top: 0.5rem !important;
-  margin-bottom: 0.5rem !important;
-}
-
-.my-3 {
-  margin-top: 1rem !important;
-  margin-bottom: 1rem !important;
-}
-
-.my-4 {
-  margin-top: 1.5rem !important;
-  margin-bottom: 1.5rem !important;
-}
-
-.my-5 {
-  margin-top: 3rem !important;
-  margin-bottom: 3rem !important;
-}
-
-.my-auto {
-  margin-top: auto !important;
-  margin-bottom: auto !important;
-}
-
-.mt-0 {
-  margin-top: 0 !important;
-}
-
-.mt-1 {
-  margin-top: 0.25rem !important;
-}
-
-.mt-2 {
-  margin-top: 0.5rem !important;
-}
-
-.mt-3 {
-  margin-top: 1rem !important;
-}
-
-.mt-4 {
-  margin-top: 1.5rem !important;
-}
-
-.mt-5 {
-  margin-top: 3rem !important;
-}
-
-.mt-auto {
-  margin-top: auto !important;
-}
-
-.me-0 {
-  margin-right: 0 !important;
-}
-
-.me-1 {
-  margin-right: 0.25rem !important;
-}
-
-.me-2 {
-  margin-right: 0.5rem !important;
-}
-
-.me-3 {
-  margin-right: 1rem !important;
-}
-
-.me-4 {
-  margin-right: 1.5rem !important;
-}
-
-.me-5 {
-  margin-right: 3rem !important;
-}
-
-.me-auto {
-  margin-right: auto !important;
-}
-
-.mb-0 {
-  margin-bottom: 0 !important;
-}
-
-.mb-1 {
-  margin-bottom: 0.25rem !important;
-}
-
-.mb-2 {
-  margin-bottom: 0.5rem !important;
-}
-
-.mb-3 {
-  margin-bottom: 1rem !important;
-}
-
-.mb-4 {
-  margin-bottom: 1.5rem !important;
-}
-
-.mb-5 {
-  margin-bottom: 3rem !important;
-}
-
-.mb-auto {
-  margin-bottom: auto !important;
-}
-
-.ms-0 {
-  margin-left: 0 !important;
-}
-
-.ms-1 {
-  margin-left: 0.25rem !important;
-}
-
-.ms-2 {
-  margin-left: 0.5rem !important;
-}
-
-.ms-3 {
-  margin-left: 1rem !important;
-}
-
-.ms-4 {
-  margin-left: 1.5rem !important;
-}
-
-.ms-5 {
-  margin-left: 3rem !important;
-}
-
-.ms-auto {
-  margin-left: auto !important;
-}
-
-.p-0 {
-  padding: 0 !important;
-}
-
-.p-1 {
-  padding: 0.25rem !important;
-}
-
-.p-2 {
-  padding: 0.5rem !important;
-}
-
-.p-3 {
-  padding: 1rem !important;
-}
-
-.p-4 {
-  padding: 1.5rem !important;
-}
-
-.p-5 {
-  padding: 3rem !important;
-}
-
-.px-0 {
-  padding-right: 0 !important;
-  padding-left: 0 !important;
-}
-
-.px-1 {
-  padding-right: 0.25rem !important;
-  padding-left: 0.25rem !important;
-}
-
-.px-2 {
-  padding-right: 0.5rem !important;
-  padding-left: 0.5rem !important;
-}
-
-.px-3 {
-  padding-right: 1rem !important;
-  padding-left: 1rem !important;
-}
-
-.px-4 {
-  padding-right: 1.5rem !important;
-  padding-left: 1.5rem !important;
-}
-
-.px-5 {
-  padding-right: 3rem !important;
-  padding-left: 3rem !important;
-}
-
-.py-0 {
-  padding-top: 0 !important;
-  padding-bottom: 0 !important;
-}
-
-.py-1 {
-  padding-top: 0.25rem !important;
-  padding-bottom: 0.25rem !important;
-}
-
-.py-2 {
-  padding-top: 0.5rem !important;
-  padding-bottom: 0.5rem !important;
-}
-
-.py-3 {
-  padding-top: 1rem !important;
-  padding-bottom: 1rem !important;
-}
-
-.py-4 {
-  padding-top: 1.5rem !important;
-  padding-bottom: 1.5rem !important;
-}
-
-.py-5 {
-  padding-top: 3rem !important;
-  padding-bottom: 3rem !important;
-}
-
-.pt-0 {
-  padding-top: 0 !important;
-}
-
-.pt-1 {
-  padding-top: 0.25rem !important;
-}
-
-.pt-2 {
-  padding-top: 0.5rem !important;
-}
-
-.pt-3 {
-  padding-top: 1rem !important;
-}
-
-.pt-4 {
-  padding-top: 1.5rem !important;
-}
-
-.pt-5 {
-  padding-top: 3rem !important;
-}
-
-.pe-0 {
-  padding-right: 0 !important;
-}
-
-.pe-1 {
-  padding-right: 0.25rem !important;
-}
-
-.pe-2 {
-  padding-right: 0.5rem !important;
-}
-
-.pe-3 {
-  padding-right: 1rem !important;
-}
-
-.pe-4 {
-  padding-right: 1.5rem !important;
-}
-
-.pe-5 {
-  padding-right: 3rem !important;
-}
-
-.pb-0 {
-  padding-bottom: 0 !important;
-}
-
-.pb-1 {
-  padding-bottom: 0.25rem !important;
-}
-
-.pb-2 {
-  padding-bottom: 0.5rem !important;
-}
-
-.pb-3 {
-  padding-bottom: 1rem !important;
-}
-
-.pb-4 {
-  padding-bottom: 1.5rem !important;
-}
-
-.pb-5 {
-  padding-bottom: 3rem !important;
-}
-
-.ps-0 {
-  padding-left: 0 !important;
-}
-
-.ps-1 {
-  padding-left: 0.25rem !important;
-}
-
-.ps-2 {
-  padding-left: 0.5rem !important;
-}
-
-.ps-3 {
-  padding-left: 1rem !important;
-}
-
-.ps-4 {
-  padding-left: 1.5rem !important;
-}
-
-.ps-5 {
-  padding-left: 3rem !important;
-}
-
-@media (min-width: 576px) {
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-grid {
-    display: grid !important;
-  }
-  .d-sm-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-sm-table {
-    display: table !important;
-  }
-  .d-sm-table-row {
-    display: table-row !important;
-  }
-  .d-sm-table-cell {
-    display: table-cell !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-  .flex-sm-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-sm-row {
-    flex-direction: row !important;
-  }
-  .flex-sm-column {
-    flex-direction: column !important;
-  }
-  .flex-sm-row-reverse {
-    flex-direction: row-reverse !important;
-  }
-  .flex-sm-column-reverse {
-    flex-direction: column-reverse !important;
-  }
-  .flex-sm-grow-0 {
-    flex-grow: 0 !important;
-  }
-  .flex-sm-grow-1 {
-    flex-grow: 1 !important;
-  }
-  .flex-sm-shrink-0 {
-    flex-shrink: 0 !important;
-  }
-  .flex-sm-shrink-1 {
-    flex-shrink: 1 !important;
-  }
-  .flex-sm-wrap {
-    flex-wrap: wrap !important;
-  }
-  .flex-sm-nowrap {
-    flex-wrap: nowrap !important;
-  }
-  .flex-sm-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
-  }
-  .justify-content-sm-start {
-    justify-content: flex-start !important;
-  }
-  .justify-content-sm-end {
-    justify-content: flex-end !important;
-  }
-  .justify-content-sm-center {
-    justify-content: center !important;
-  }
-  .justify-content-sm-between {
-    justify-content: space-between !important;
-  }
-  .justify-content-sm-around {
-    justify-content: space-around !important;
-  }
-  .justify-content-sm-evenly {
-    justify-content: space-evenly !important;
-  }
-  .align-items-sm-start {
-    align-items: flex-start !important;
-  }
-  .align-items-sm-end {
-    align-items: flex-end !important;
-  }
-  .align-items-sm-center {
-    align-items: center !important;
-  }
-  .align-items-sm-baseline {
-    align-items: baseline !important;
-  }
-  .align-items-sm-stretch {
-    align-items: stretch !important;
-  }
-  .align-content-sm-start {
-    align-content: flex-start !important;
-  }
-  .align-content-sm-end {
-    align-content: flex-end !important;
-  }
-  .align-content-sm-center {
-    align-content: center !important;
-  }
-  .align-content-sm-between {
-    align-content: space-between !important;
-  }
-  .align-content-sm-around {
-    align-content: space-around !important;
-  }
-  .align-content-sm-stretch {
-    align-content: stretch !important;
-  }
-  .align-self-sm-auto {
-    align-self: auto !important;
-  }
-  .align-self-sm-start {
-    align-self: flex-start !important;
-  }
-  .align-self-sm-end {
-    align-self: flex-end !important;
-  }
-  .align-self-sm-center {
-    align-self: center !important;
-  }
-  .align-self-sm-baseline {
-    align-self: baseline !important;
-  }
-  .align-self-sm-stretch {
-    align-self: stretch !important;
-  }
-  .order-sm-first {
-    order: -1 !important;
-  }
-  .order-sm-0 {
-    order: 0 !important;
-  }
-  .order-sm-1 {
-    order: 1 !important;
-  }
-  .order-sm-2 {
-    order: 2 !important;
-  }
-  .order-sm-3 {
-    order: 3 !important;
-  }
-  .order-sm-4 {
-    order: 4 !important;
-  }
-  .order-sm-5 {
-    order: 5 !important;
-  }
-  .order-sm-last {
-    order: 6 !important;
-  }
-  .m-sm-0 {
-    margin: 0 !important;
-  }
-  .m-sm-1 {
-    margin: 0.25rem !important;
-  }
-  .m-sm-2 {
-    margin: 0.5rem !important;
-  }
-  .m-sm-3 {
-    margin: 1rem !important;
-  }
-  .m-sm-4 {
-    margin: 1.5rem !important;
-  }
-  .m-sm-5 {
-    margin: 3rem !important;
-  }
-  .m-sm-auto {
-    margin: auto !important;
-  }
-  .mx-sm-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .mx-sm-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .mx-sm-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .mx-sm-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .mx-sm-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .mx-sm-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .mx-sm-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
-  }
-  .my-sm-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .my-sm-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .my-sm-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .my-sm-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .my-sm-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .my-sm-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .my-sm-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
-  }
-  .mt-sm-0 {
-    margin-top: 0 !important;
-  }
-  .mt-sm-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mt-sm-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mt-sm-3 {
-    margin-top: 1rem !important;
-  }
-  .mt-sm-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mt-sm-5 {
-    margin-top: 3rem !important;
-  }
-  .mt-sm-auto {
-    margin-top: auto !important;
-  }
-  .me-sm-0 {
-    margin-right: 0 !important;
-  }
-  .me-sm-1 {
-    margin-right: 0.25rem !important;
-  }
-  .me-sm-2 {
-    margin-right: 0.5rem !important;
-  }
-  .me-sm-3 {
-    margin-right: 1rem !important;
-  }
-  .me-sm-4 {
-    margin-right: 1.5rem !important;
-  }
-  .me-sm-5 {
-    margin-right: 3rem !important;
-  }
-  .me-sm-auto {
-    margin-right: auto !important;
-  }
-  .mb-sm-0 {
-    margin-bottom: 0 !important;
-  }
-  .mb-sm-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .mb-sm-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .mb-sm-3 {
-    margin-bottom: 1rem !important;
-  }
-  .mb-sm-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .mb-sm-5 {
-    margin-bottom: 3rem !important;
-  }
-  .mb-sm-auto {
-    margin-bottom: auto !important;
-  }
-  .ms-sm-0 {
-    margin-left: 0 !important;
-  }
-  .ms-sm-1 {
-    margin-left: 0.25rem !important;
-  }
-  .ms-sm-2 {
-    margin-left: 0.5rem !important;
-  }
-  .ms-sm-3 {
-    margin-left: 1rem !important;
-  }
-  .ms-sm-4 {
-    margin-left: 1.5rem !important;
-  }
-  .ms-sm-5 {
-    margin-left: 3rem !important;
-  }
-  .ms-sm-auto {
-    margin-left: auto !important;
-  }
-  .p-sm-0 {
-    padding: 0 !important;
-  }
-  .p-sm-1 {
-    padding: 0.25rem !important;
-  }
-  .p-sm-2 {
-    padding: 0.5rem !important;
-  }
-  .p-sm-3 {
-    padding: 1rem !important;
-  }
-  .p-sm-4 {
-    padding: 1.5rem !important;
-  }
-  .p-sm-5 {
-    padding: 3rem !important;
-  }
-  .px-sm-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .px-sm-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .px-sm-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .px-sm-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .px-sm-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .px-sm-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-sm-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .py-sm-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .py-sm-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .py-sm-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .py-sm-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .py-sm-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .pt-sm-0 {
-    padding-top: 0 !important;
-  }
-  .pt-sm-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pt-sm-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pt-sm-3 {
-    padding-top: 1rem !important;
-  }
-  .pt-sm-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pt-sm-5 {
-    padding-top: 3rem !important;
-  }
-  .pe-sm-0 {
-    padding-right: 0 !important;
-  }
-  .pe-sm-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pe-sm-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pe-sm-3 {
-    padding-right: 1rem !important;
-  }
-  .pe-sm-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pe-sm-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-sm-0 {
-    padding-bottom: 0 !important;
-  }
-  .pb-sm-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pb-sm-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pb-sm-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pb-sm-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pb-sm-5 {
-    padding-bottom: 3rem !important;
-  }
-  .ps-sm-0 {
-    padding-left: 0 !important;
-  }
-  .ps-sm-1 {
-    padding-left: 0.25rem !important;
-  }
-  .ps-sm-2 {
-    padding-left: 0.5rem !important;
-  }
-  .ps-sm-3 {
-    padding-left: 1rem !important;
-  }
-  .ps-sm-4 {
-    padding-left: 1.5rem !important;
-  }
-  .ps-sm-5 {
-    padding-left: 3rem !important;
-  }
-}
-@media (min-width: 768px) {
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-grid {
-    display: grid !important;
-  }
-  .d-md-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-md-table {
-    display: table !important;
-  }
-  .d-md-table-row {
-    display: table-row !important;
-  }
-  .d-md-table-cell {
-    display: table-cell !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-  .flex-md-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-md-row {
-    flex-direction: row !important;
-  }
-  .flex-md-column {
-    flex-direction: column !important;
-  }
-  .flex-md-row-reverse {
-    flex-direction: row-reverse !important;
-  }
-  .flex-md-column-reverse {
-    flex-direction: column-reverse !important;
-  }
-  .flex-md-grow-0 {
-    flex-grow: 0 !important;
-  }
-  .flex-md-grow-1 {
-    flex-grow: 1 !important;
-  }
-  .flex-md-shrink-0 {
-    flex-shrink: 0 !important;
-  }
-  .flex-md-shrink-1 {
-    flex-shrink: 1 !important;
-  }
-  .flex-md-wrap {
-    flex-wrap: wrap !important;
-  }
-  .flex-md-nowrap {
-    flex-wrap: nowrap !important;
-  }
-  .flex-md-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
-  }
-  .justify-content-md-start {
-    justify-content: flex-start !important;
-  }
-  .justify-content-md-end {
-    justify-content: flex-end !important;
-  }
-  .justify-content-md-center {
-    justify-content: center !important;
-  }
-  .justify-content-md-between {
-    justify-content: space-between !important;
-  }
-  .justify-content-md-around {
-    justify-content: space-around !important;
-  }
-  .justify-content-md-evenly {
-    justify-content: space-evenly !important;
-  }
-  .align-items-md-start {
-    align-items: flex-start !important;
-  }
-  .align-items-md-end {
-    align-items: flex-end !important;
-  }
-  .align-items-md-center {
-    align-items: center !important;
-  }
-  .align-items-md-baseline {
-    align-items: baseline !important;
-  }
-  .align-items-md-stretch {
-    align-items: stretch !important;
-  }
-  .align-content-md-start {
-    align-content: flex-start !important;
-  }
-  .align-content-md-end {
-    align-content: flex-end !important;
-  }
-  .align-content-md-center {
-    align-content: center !important;
-  }
-  .align-content-md-between {
-    align-content: space-between !important;
-  }
-  .align-content-md-around {
-    align-content: space-around !important;
-  }
-  .align-content-md-stretch {
-    align-content: stretch !important;
-  }
-  .align-self-md-auto {
-    align-self: auto !important;
-  }
-  .align-self-md-start {
-    align-self: flex-start !important;
-  }
-  .align-self-md-end {
-    align-self: flex-end !important;
-  }
-  .align-self-md-center {
-    align-self: center !important;
-  }
-  .align-self-md-baseline {
-    align-self: baseline !important;
-  }
-  .align-self-md-stretch {
-    align-self: stretch !important;
-  }
-  .order-md-first {
-    order: -1 !important;
-  }
-  .order-md-0 {
-    order: 0 !important;
-  }
-  .order-md-1 {
-    order: 1 !important;
-  }
-  .order-md-2 {
-    order: 2 !important;
-  }
-  .order-md-3 {
-    order: 3 !important;
-  }
-  .order-md-4 {
-    order: 4 !important;
-  }
-  .order-md-5 {
-    order: 5 !important;
-  }
-  .order-md-last {
-    order: 6 !important;
-  }
-  .m-md-0 {
-    margin: 0 !important;
-  }
-  .m-md-1 {
-    margin: 0.25rem !important;
-  }
-  .m-md-2 {
-    margin: 0.5rem !important;
-  }
-  .m-md-3 {
-    margin: 1rem !important;
-  }
-  .m-md-4 {
-    margin: 1.5rem !important;
-  }
-  .m-md-5 {
-    margin: 3rem !important;
-  }
-  .m-md-auto {
-    margin: auto !important;
-  }
-  .mx-md-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .mx-md-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .mx-md-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .mx-md-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .mx-md-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .mx-md-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .mx-md-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
-  }
-  .my-md-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .my-md-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .my-md-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .my-md-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .my-md-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .my-md-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .my-md-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
-  }
-  .mt-md-0 {
-    margin-top: 0 !important;
-  }
-  .mt-md-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mt-md-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mt-md-3 {
-    margin-top: 1rem !important;
-  }
-  .mt-md-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mt-md-5 {
-    margin-top: 3rem !important;
-  }
-  .mt-md-auto {
-    margin-top: auto !important;
-  }
-  .me-md-0 {
-    margin-right: 0 !important;
-  }
-  .me-md-1 {
-    margin-right: 0.25rem !important;
-  }
-  .me-md-2 {
-    margin-right: 0.5rem !important;
-  }
-  .me-md-3 {
-    margin-right: 1rem !important;
-  }
-  .me-md-4 {
-    margin-right: 1.5rem !important;
-  }
-  .me-md-5 {
-    margin-right: 3rem !important;
-  }
-  .me-md-auto {
-    margin-right: auto !important;
-  }
-  .mb-md-0 {
-    margin-bottom: 0 !important;
-  }
-  .mb-md-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .mb-md-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .mb-md-3 {
-    margin-bottom: 1rem !important;
-  }
-  .mb-md-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .mb-md-5 {
-    margin-bottom: 3rem !important;
-  }
-  .mb-md-auto {
-    margin-bottom: auto !important;
-  }
-  .ms-md-0 {
-    margin-left: 0 !important;
-  }
-  .ms-md-1 {
-    margin-left: 0.25rem !important;
-  }
-  .ms-md-2 {
-    margin-left: 0.5rem !important;
-  }
-  .ms-md-3 {
-    margin-left: 1rem !important;
-  }
-  .ms-md-4 {
-    margin-left: 1.5rem !important;
-  }
-  .ms-md-5 {
-    margin-left: 3rem !important;
-  }
-  .ms-md-auto {
-    margin-left: auto !important;
-  }
-  .p-md-0 {
-    padding: 0 !important;
-  }
-  .p-md-1 {
-    padding: 0.25rem !important;
-  }
-  .p-md-2 {
-    padding: 0.5rem !important;
-  }
-  .p-md-3 {
-    padding: 1rem !important;
-  }
-  .p-md-4 {
-    padding: 1.5rem !important;
-  }
-  .p-md-5 {
-    padding: 3rem !important;
-  }
-  .px-md-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .px-md-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .px-md-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .px-md-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .px-md-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .px-md-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-md-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .py-md-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .py-md-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .py-md-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .py-md-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .py-md-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .pt-md-0 {
-    padding-top: 0 !important;
-  }
-  .pt-md-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pt-md-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pt-md-3 {
-    padding-top: 1rem !important;
-  }
-  .pt-md-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pt-md-5 {
-    padding-top: 3rem !important;
-  }
-  .pe-md-0 {
-    padding-right: 0 !important;
-  }
-  .pe-md-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pe-md-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pe-md-3 {
-    padding-right: 1rem !important;
-  }
-  .pe-md-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pe-md-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-md-0 {
-    padding-bottom: 0 !important;
-  }
-  .pb-md-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pb-md-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pb-md-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pb-md-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pb-md-5 {
-    padding-bottom: 3rem !important;
-  }
-  .ps-md-0 {
-    padding-left: 0 !important;
-  }
-  .ps-md-1 {
-    padding-left: 0.25rem !important;
-  }
-  .ps-md-2 {
-    padding-left: 0.5rem !important;
-  }
-  .ps-md-3 {
-    padding-left: 1rem !important;
-  }
-  .ps-md-4 {
-    padding-left: 1.5rem !important;
-  }
-  .ps-md-5 {
-    padding-left: 3rem !important;
-  }
-}
-@media (min-width: 992px) {
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-grid {
-    display: grid !important;
-  }
-  .d-lg-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-lg-table {
-    display: table !important;
-  }
-  .d-lg-table-row {
-    display: table-row !important;
-  }
-  .d-lg-table-cell {
-    display: table-cell !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-  .flex-lg-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-lg-row {
-    flex-direction: row !important;
-  }
-  .flex-lg-column {
-    flex-direction: column !important;
-  }
-  .flex-lg-row-reverse {
-    flex-direction: row-reverse !important;
-  }
-  .flex-lg-column-reverse {
-    flex-direction: column-reverse !important;
-  }
-  .flex-lg-grow-0 {
-    flex-grow: 0 !important;
-  }
-  .flex-lg-grow-1 {
-    flex-grow: 1 !important;
-  }
-  .flex-lg-shrink-0 {
-    flex-shrink: 0 !important;
-  }
-  .flex-lg-shrink-1 {
-    flex-shrink: 1 !important;
-  }
-  .flex-lg-wrap {
-    flex-wrap: wrap !important;
-  }
-  .flex-lg-nowrap {
-    flex-wrap: nowrap !important;
-  }
-  .flex-lg-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
-  }
-  .justify-content-lg-start {
-    justify-content: flex-start !important;
-  }
-  .justify-content-lg-end {
-    justify-content: flex-end !important;
-  }
-  .justify-content-lg-center {
-    justify-content: center !important;
-  }
-  .justify-content-lg-between {
-    justify-content: space-between !important;
-  }
-  .justify-content-lg-around {
-    justify-content: space-around !important;
-  }
-  .justify-content-lg-evenly {
-    justify-content: space-evenly !important;
-  }
-  .align-items-lg-start {
-    align-items: flex-start !important;
-  }
-  .align-items-lg-end {
-    align-items: flex-end !important;
-  }
-  .align-items-lg-center {
-    align-items: center !important;
-  }
-  .align-items-lg-baseline {
-    align-items: baseline !important;
-  }
-  .align-items-lg-stretch {
-    align-items: stretch !important;
-  }
-  .align-content-lg-start {
-    align-content: flex-start !important;
-  }
-  .align-content-lg-end {
-    align-content: flex-end !important;
-  }
-  .align-content-lg-center {
-    align-content: center !important;
-  }
-  .align-content-lg-between {
-    align-content: space-between !important;
-  }
-  .align-content-lg-around {
-    align-content: space-around !important;
-  }
-  .align-content-lg-stretch {
-    align-content: stretch !important;
-  }
-  .align-self-lg-auto {
-    align-self: auto !important;
-  }
-  .align-self-lg-start {
-    align-self: flex-start !important;
-  }
-  .align-self-lg-end {
-    align-self: flex-end !important;
-  }
-  .align-self-lg-center {
-    align-self: center !important;
-  }
-  .align-self-lg-baseline {
-    align-self: baseline !important;
-  }
-  .align-self-lg-stretch {
-    align-self: stretch !important;
-  }
-  .order-lg-first {
-    order: -1 !important;
-  }
-  .order-lg-0 {
-    order: 0 !important;
-  }
-  .order-lg-1 {
-    order: 1 !important;
-  }
-  .order-lg-2 {
-    order: 2 !important;
-  }
-  .order-lg-3 {
-    order: 3 !important;
-  }
-  .order-lg-4 {
-    order: 4 !important;
-  }
-  .order-lg-5 {
-    order: 5 !important;
-  }
-  .order-lg-last {
-    order: 6 !important;
-  }
-  .m-lg-0 {
-    margin: 0 !important;
-  }
-  .m-lg-1 {
-    margin: 0.25rem !important;
-  }
-  .m-lg-2 {
-    margin: 0.5rem !important;
-  }
-  .m-lg-3 {
-    margin: 1rem !important;
-  }
-  .m-lg-4 {
-    margin: 1.5rem !important;
-  }
-  .m-lg-5 {
-    margin: 3rem !important;
-  }
-  .m-lg-auto {
-    margin: auto !important;
-  }
-  .mx-lg-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .mx-lg-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .mx-lg-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .mx-lg-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .mx-lg-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .mx-lg-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .mx-lg-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
-  }
-  .my-lg-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .my-lg-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .my-lg-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .my-lg-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .my-lg-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .my-lg-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .my-lg-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
-  }
-  .mt-lg-0 {
-    margin-top: 0 !important;
-  }
-  .mt-lg-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mt-lg-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mt-lg-3 {
-    margin-top: 1rem !important;
-  }
-  .mt-lg-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mt-lg-5 {
-    margin-top: 3rem !important;
-  }
-  .mt-lg-auto {
-    margin-top: auto !important;
-  }
-  .me-lg-0 {
-    margin-right: 0 !important;
-  }
-  .me-lg-1 {
-    margin-right: 0.25rem !important;
-  }
-  .me-lg-2 {
-    margin-right: 0.5rem !important;
-  }
-  .me-lg-3 {
-    margin-right: 1rem !important;
-  }
-  .me-lg-4 {
-    margin-right: 1.5rem !important;
-  }
-  .me-lg-5 {
-    margin-right: 3rem !important;
-  }
-  .me-lg-auto {
-    margin-right: auto !important;
-  }
-  .mb-lg-0 {
-    margin-bottom: 0 !important;
-  }
-  .mb-lg-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .mb-lg-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .mb-lg-3 {
-    margin-bottom: 1rem !important;
-  }
-  .mb-lg-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .mb-lg-5 {
-    margin-bottom: 3rem !important;
-  }
-  .mb-lg-auto {
-    margin-bottom: auto !important;
-  }
-  .ms-lg-0 {
-    margin-left: 0 !important;
-  }
-  .ms-lg-1 {
-    margin-left: 0.25rem !important;
-  }
-  .ms-lg-2 {
-    margin-left: 0.5rem !important;
-  }
-  .ms-lg-3 {
-    margin-left: 1rem !important;
-  }
-  .ms-lg-4 {
-    margin-left: 1.5rem !important;
-  }
-  .ms-lg-5 {
-    margin-left: 3rem !important;
-  }
-  .ms-lg-auto {
-    margin-left: auto !important;
-  }
-  .p-lg-0 {
-    padding: 0 !important;
-  }
-  .p-lg-1 {
-    padding: 0.25rem !important;
-  }
-  .p-lg-2 {
-    padding: 0.5rem !important;
-  }
-  .p-lg-3 {
-    padding: 1rem !important;
-  }
-  .p-lg-4 {
-    padding: 1.5rem !important;
-  }
-  .p-lg-5 {
-    padding: 3rem !important;
-  }
-  .px-lg-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .px-lg-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .px-lg-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .px-lg-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .px-lg-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .px-lg-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-lg-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .py-lg-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .py-lg-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .py-lg-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .py-lg-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .py-lg-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .pt-lg-0 {
-    padding-top: 0 !important;
-  }
-  .pt-lg-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pt-lg-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pt-lg-3 {
-    padding-top: 1rem !important;
-  }
-  .pt-lg-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pt-lg-5 {
-    padding-top: 3rem !important;
-  }
-  .pe-lg-0 {
-    padding-right: 0 !important;
-  }
-  .pe-lg-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pe-lg-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pe-lg-3 {
-    padding-right: 1rem !important;
-  }
-  .pe-lg-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pe-lg-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-lg-0 {
-    padding-bottom: 0 !important;
-  }
-  .pb-lg-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pb-lg-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pb-lg-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pb-lg-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pb-lg-5 {
-    padding-bottom: 3rem !important;
-  }
-  .ps-lg-0 {
-    padding-left: 0 !important;
-  }
-  .ps-lg-1 {
-    padding-left: 0.25rem !important;
-  }
-  .ps-lg-2 {
-    padding-left: 0.5rem !important;
-  }
-  .ps-lg-3 {
-    padding-left: 1rem !important;
-  }
-  .ps-lg-4 {
-    padding-left: 1.5rem !important;
-  }
-  .ps-lg-5 {
-    padding-left: 3rem !important;
-  }
-}
-@media (min-width: 1200px) {
-  .d-xl-inline {
-    display: inline !important;
-  }
-  .d-xl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xl-block {
-    display: block !important;
-  }
-  .d-xl-grid {
-    display: grid !important;
-  }
-  .d-xl-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-xl-table {
-    display: table !important;
-  }
-  .d-xl-table-row {
-    display: table-row !important;
-  }
-  .d-xl-table-cell {
-    display: table-cell !important;
-  }
-  .d-xl-flex {
-    display: flex !important;
-  }
-  .d-xl-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-xl-none {
-    display: none !important;
-  }
-  .flex-xl-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-xl-row {
-    flex-direction: row !important;
-  }
-  .flex-xl-column {
-    flex-direction: column !important;
-  }
-  .flex-xl-row-reverse {
-    flex-direction: row-reverse !important;
-  }
-  .flex-xl-column-reverse {
-    flex-direction: column-reverse !important;
-  }
-  .flex-xl-grow-0 {
-    flex-grow: 0 !important;
-  }
-  .flex-xl-grow-1 {
-    flex-grow: 1 !important;
-  }
-  .flex-xl-shrink-0 {
-    flex-shrink: 0 !important;
-  }
-  .flex-xl-shrink-1 {
-    flex-shrink: 1 !important;
-  }
-  .flex-xl-wrap {
-    flex-wrap: wrap !important;
-  }
-  .flex-xl-nowrap {
-    flex-wrap: nowrap !important;
-  }
-  .flex-xl-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
-  }
-  .justify-content-xl-start {
-    justify-content: flex-start !important;
-  }
-  .justify-content-xl-end {
-    justify-content: flex-end !important;
-  }
-  .justify-content-xl-center {
-    justify-content: center !important;
-  }
-  .justify-content-xl-between {
-    justify-content: space-between !important;
-  }
-  .justify-content-xl-around {
-    justify-content: space-around !important;
-  }
-  .justify-content-xl-evenly {
-    justify-content: space-evenly !important;
-  }
-  .align-items-xl-start {
-    align-items: flex-start !important;
-  }
-  .align-items-xl-end {
-    align-items: flex-end !important;
-  }
-  .align-items-xl-center {
-    align-items: center !important;
-  }
-  .align-items-xl-baseline {
-    align-items: baseline !important;
-  }
-  .align-items-xl-stretch {
-    align-items: stretch !important;
-  }
-  .align-content-xl-start {
-    align-content: flex-start !important;
-  }
-  .align-content-xl-end {
-    align-content: flex-end !important;
-  }
-  .align-content-xl-center {
-    align-content: center !important;
-  }
-  .align-content-xl-between {
-    align-content: space-between !important;
-  }
-  .align-content-xl-around {
-    align-content: space-around !important;
-  }
-  .align-content-xl-stretch {
-    align-content: stretch !important;
-  }
-  .align-self-xl-auto {
-    align-self: auto !important;
-  }
-  .align-self-xl-start {
-    align-self: flex-start !important;
-  }
-  .align-self-xl-end {
-    align-self: flex-end !important;
-  }
-  .align-self-xl-center {
-    align-self: center !important;
-  }
-  .align-self-xl-baseline {
-    align-self: baseline !important;
-  }
-  .align-self-xl-stretch {
-    align-self: stretch !important;
-  }
-  .order-xl-first {
-    order: -1 !important;
-  }
-  .order-xl-0 {
-    order: 0 !important;
-  }
-  .order-xl-1 {
-    order: 1 !important;
-  }
-  .order-xl-2 {
-    order: 2 !important;
-  }
-  .order-xl-3 {
-    order: 3 !important;
-  }
-  .order-xl-4 {
-    order: 4 !important;
-  }
-  .order-xl-5 {
-    order: 5 !important;
-  }
-  .order-xl-last {
-    order: 6 !important;
-  }
-  .m-xl-0 {
-    margin: 0 !important;
-  }
-  .m-xl-1 {
-    margin: 0.25rem !important;
-  }
-  .m-xl-2 {
-    margin: 0.5rem !important;
-  }
-  .m-xl-3 {
-    margin: 1rem !important;
-  }
-  .m-xl-4 {
-    margin: 1.5rem !important;
-  }
-  .m-xl-5 {
-    margin: 3rem !important;
-  }
-  .m-xl-auto {
-    margin: auto !important;
-  }
-  .mx-xl-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .mx-xl-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .mx-xl-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .mx-xl-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .mx-xl-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .mx-xl-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .mx-xl-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
-  }
-  .my-xl-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .my-xl-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .my-xl-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .my-xl-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .my-xl-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .my-xl-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .my-xl-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
-  }
-  .mt-xl-0 {
-    margin-top: 0 !important;
-  }
-  .mt-xl-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mt-xl-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mt-xl-3 {
-    margin-top: 1rem !important;
-  }
-  .mt-xl-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mt-xl-5 {
-    margin-top: 3rem !important;
-  }
-  .mt-xl-auto {
-    margin-top: auto !important;
-  }
-  .me-xl-0 {
-    margin-right: 0 !important;
-  }
-  .me-xl-1 {
-    margin-right: 0.25rem !important;
-  }
-  .me-xl-2 {
-    margin-right: 0.5rem !important;
-  }
-  .me-xl-3 {
-    margin-right: 1rem !important;
-  }
-  .me-xl-4 {
-    margin-right: 1.5rem !important;
-  }
-  .me-xl-5 {
-    margin-right: 3rem !important;
-  }
-  .me-xl-auto {
-    margin-right: auto !important;
-  }
-  .mb-xl-0 {
-    margin-bottom: 0 !important;
-  }
-  .mb-xl-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .mb-xl-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .mb-xl-3 {
-    margin-bottom: 1rem !important;
-  }
-  .mb-xl-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .mb-xl-5 {
-    margin-bottom: 3rem !important;
+  * Bootstrap Grid v6.0.0-dev (https://getbootstrap.com/)
+  * Copyright 2011-2025 The Bootstrap Authors
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+@layer layout {
+  .container,
+  .container-fluid,
+  .container-xxl,
+  .container-xl,
+  .container-lg,
+  .container-md,
+  .container-sm {
+    --bs-gutter-x: 1.5rem;
+    --bs-gutter-y: 0;
+    width: 100%;
+    padding-right: calc(var(--bs-gutter-x) * 0.5);
+    padding-left: calc(var(--bs-gutter-x) * 0.5);
+    margin-right: auto;
+    margin-left: auto;
   }
-  .mb-xl-auto {
-    margin-bottom: auto !important;
+  @media (min-width: 576px) {
+    .container-sm, .container {
+      max-width: 540px;
+    }
   }
-  .ms-xl-0 {
-    margin-left: 0 !important;
+  @media (min-width: 768px) {
+    .container-md, .container-sm, .container {
+      max-width: 720px;
+    }
   }
-  .ms-xl-1 {
-    margin-left: 0.25rem !important;
+  @media (min-width: 992px) {
+    .container-lg, .container-md, .container-sm, .container {
+      max-width: 960px;
+    }
   }
-  .ms-xl-2 {
-    margin-left: 0.5rem !important;
+  @media (min-width: 1200px) {
+    .container-xl, .container-lg, .container-md, .container-sm, .container {
+      max-width: 1140px;
+    }
   }
-  .ms-xl-3 {
-    margin-left: 1rem !important;
+  @media (min-width: 1400px) {
+    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+      max-width: 1320px;
+    }
   }
-  .ms-xl-4 {
-    margin-left: 1.5rem !important;
+}
+:root {
+  --bs-breakpoint-xs: 0;
+  --bs-breakpoint-sm: 576px;
+  --bs-breakpoint-md: 768px;
+  --bs-breakpoint-lg: 992px;
+  --bs-breakpoint-xl: 1200px;
+  --bs-breakpoint-xxl: 1400px;
+}
+
+@layer layout {
+  .row {
+    --bs-gutter-x: 1.5rem;
+    --bs-gutter-y: 0;
+    display: flex;
+    flex-wrap: wrap;
+    margin-top: calc(-1 * var(--bs-gutter-y));
+    margin-right: calc(-0.5 * var(--bs-gutter-x));
+    margin-left: calc(-0.5 * var(--bs-gutter-x));
+  }
+  .row > * {
+    flex-shrink: 0;
+    width: 100%;
+    max-width: 100%;
+    padding-right: calc(var(--bs-gutter-x) * 0.5);
+    padding-left: calc(var(--bs-gutter-x) * 0.5);
+    margin-top: var(--bs-gutter-y);
   }
-  .ms-xl-5 {
-    margin-left: 3rem !important;
+  .col {
+    flex: 1 0 0;
   }
-  .ms-xl-auto {
-    margin-left: auto !important;
+  .row-cols-auto > * {
+    flex: 0 0 auto;
+    width: auto;
   }
-  .p-xl-0 {
-    padding: 0 !important;
+  .row-cols-1 > * {
+    flex: 0 0 auto;
+    width: 100%;
   }
-  .p-xl-1 {
-    padding: 0.25rem !important;
+  .row-cols-2 > * {
+    flex: 0 0 auto;
+    width: 50%;
   }
-  .p-xl-2 {
-    padding: 0.5rem !important;
+  .row-cols-3 > * {
+    flex: 0 0 auto;
+    width: 33.3333333333%;
   }
-  .p-xl-3 {
-    padding: 1rem !important;
+  .row-cols-4 > * {
+    flex: 0 0 auto;
+    width: 25%;
   }
-  .p-xl-4 {
-    padding: 1.5rem !important;
+  .row-cols-5 > * {
+    flex: 0 0 auto;
+    width: 20%;
   }
-  .p-xl-5 {
-    padding: 3rem !important;
+  .row-cols-6 > * {
+    flex: 0 0 auto;
+    width: 16.6666666667%;
   }
-  .px-xl-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
+  .col-auto {
+    flex: 0 0 auto;
+    width: auto;
   }
-  .px-xl-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
+  .col-1 {
+    flex: 0 0 auto;
+    width: 8.3333333333%;
   }
-  .px-xl-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
+  .col-2 {
+    flex: 0 0 auto;
+    width: 16.6666666667%;
   }
-  .px-xl-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
+  .col-3 {
+    flex: 0 0 auto;
+    width: 25%;
   }
-  .px-xl-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
+  .col-4 {
+    flex: 0 0 auto;
+    width: 33.3333333333%;
   }
-  .px-xl-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
+  .col-5 {
+    flex: 0 0 auto;
+    width: 41.6666666667%;
   }
-  .py-xl-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
+  .col-6 {
+    flex: 0 0 auto;
+    width: 50%;
   }
-  .py-xl-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
+  .col-7 {
+    flex: 0 0 auto;
+    width: 58.3333333333%;
   }
-  .py-xl-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
+  .col-8 {
+    flex: 0 0 auto;
+    width: 66.6666666667%;
   }
-  .py-xl-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
+  .col-9 {
+    flex: 0 0 auto;
+    width: 75%;
   }
-  .py-xl-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
+  .col-10 {
+    flex: 0 0 auto;
+    width: 83.3333333333%;
   }
-  .py-xl-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
+  .col-11 {
+    flex: 0 0 auto;
+    width: 91.6666666667%;
   }
-  .pt-xl-0 {
-    padding-top: 0 !important;
+  .col-12 {
+    flex: 0 0 auto;
+    width: 100%;
   }
-  .pt-xl-1 {
-    padding-top: 0.25rem !important;
+  .offset-1 {
+    margin-left: 8.3333333333%;
   }
-  .pt-xl-2 {
-    padding-top: 0.5rem !important;
+  .offset-2 {
+    margin-left: 16.6666666667%;
   }
-  .pt-xl-3 {
-    padding-top: 1rem !important;
+  .offset-3 {
+    margin-left: 25%;
   }
-  .pt-xl-4 {
-    padding-top: 1.5rem !important;
+  .offset-4 {
+    margin-left: 33.3333333333%;
   }
-  .pt-xl-5 {
-    padding-top: 3rem !important;
+  .offset-5 {
+    margin-left: 41.6666666667%;
   }
-  .pe-xl-0 {
-    padding-right: 0 !important;
+  .offset-6 {
+    margin-left: 50%;
   }
-  .pe-xl-1 {
-    padding-right: 0.25rem !important;
+  .offset-7 {
+    margin-left: 58.3333333333%;
   }
-  .pe-xl-2 {
-    padding-right: 0.5rem !important;
+  .offset-8 {
+    margin-left: 66.6666666667%;
   }
-  .pe-xl-3 {
-    padding-right: 1rem !important;
+  .offset-9 {
+    margin-left: 75%;
   }
-  .pe-xl-4 {
-    padding-right: 1.5rem !important;
+  .offset-10 {
+    margin-left: 83.3333333333%;
   }
-  .pe-xl-5 {
-    padding-right: 3rem !important;
+  .offset-11 {
+    margin-left: 91.6666666667%;
   }
-  .pb-xl-0 {
-    padding-bottom: 0 !important;
+  .g-0,
+  .gx-0 {
+    --bs-gutter-x: 0;
   }
-  .pb-xl-1 {
-    padding-bottom: 0.25rem !important;
+  .g-0,
+  .gy-0 {
+    --bs-gutter-y: 0;
   }
-  .pb-xl-2 {
-    padding-bottom: 0.5rem !important;
+  .g-1,
+  .gx-1 {
+    --bs-gutter-x: 0.25rem;
   }
-  .pb-xl-3 {
-    padding-bottom: 1rem !important;
+  .g-1,
+  .gy-1 {
+    --bs-gutter-y: 0.25rem;
   }
-  .pb-xl-4 {
-    padding-bottom: 1.5rem !important;
+  .g-2,
+  .gx-2 {
+    --bs-gutter-x: 0.5rem;
   }
-  .pb-xl-5 {
-    padding-bottom: 3rem !important;
+  .g-2,
+  .gy-2 {
+    --bs-gutter-y: 0.5rem;
   }
-  .ps-xl-0 {
-    padding-left: 0 !important;
+  .g-3,
+  .gx-3 {
+    --bs-gutter-x: 1rem;
   }
-  .ps-xl-1 {
-    padding-left: 0.25rem !important;
+  .g-3,
+  .gy-3 {
+    --bs-gutter-y: 1rem;
   }
-  .ps-xl-2 {
-    padding-left: 0.5rem !important;
+  .g-4,
+  .gx-4 {
+    --bs-gutter-x: 1.5rem;
   }
-  .ps-xl-3 {
-    padding-left: 1rem !important;
+  .g-4,
+  .gy-4 {
+    --bs-gutter-y: 1.5rem;
   }
-  .ps-xl-4 {
-    padding-left: 1.5rem !important;
+  .g-5,
+  .gx-5 {
+    --bs-gutter-x: 3rem;
   }
-  .ps-xl-5 {
-    padding-left: 3rem !important;
+  .g-5,
+  .gy-5 {
+    --bs-gutter-y: 3rem;
   }
-}
-@media (min-width: 1400px) {
-  .d-xxl-inline {
+  @media (min-width: 576px) {
+    .col-sm {
+      flex: 1 0 0;
+    }
+    .row-cols-sm-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-sm-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-sm-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-sm-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-sm-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-sm-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-sm-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-sm-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-sm-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-sm-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-sm-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-sm-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-sm-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-sm-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-sm-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-sm-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-sm-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-sm-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-sm-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-sm-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-sm-0 {
+      margin-left: 0;
+    }
+    .offset-sm-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-sm-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-sm-3 {
+      margin-left: 25%;
+    }
+    .offset-sm-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-sm-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-sm-6 {
+      margin-left: 50%;
+    }
+    .offset-sm-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-sm-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-sm-9 {
+      margin-left: 75%;
+    }
+    .offset-sm-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-sm-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-sm-0,
+    .gx-sm-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-sm-0,
+    .gy-sm-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-sm-1,
+    .gx-sm-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-sm-1,
+    .gy-sm-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-sm-2,
+    .gx-sm-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-sm-2,
+    .gy-sm-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-sm-3,
+    .gx-sm-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-sm-3,
+    .gy-sm-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-sm-4,
+    .gx-sm-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-sm-4,
+    .gy-sm-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-sm-5,
+    .gx-sm-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-sm-5,
+    .gy-sm-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  @media (min-width: 768px) {
+    .col-md {
+      flex: 1 0 0;
+    }
+    .row-cols-md-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-md-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-md-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-md-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-md-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-md-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-md-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-md-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-md-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-md-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-md-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-md-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-md-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-md-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-md-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-md-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-md-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-md-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-md-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-md-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-md-0 {
+      margin-left: 0;
+    }
+    .offset-md-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-md-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-md-3 {
+      margin-left: 25%;
+    }
+    .offset-md-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-md-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-md-6 {
+      margin-left: 50%;
+    }
+    .offset-md-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-md-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-md-9 {
+      margin-left: 75%;
+    }
+    .offset-md-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-md-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-md-0,
+    .gx-md-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-md-0,
+    .gy-md-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-md-1,
+    .gx-md-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-md-1,
+    .gy-md-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-md-2,
+    .gx-md-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-md-2,
+    .gy-md-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-md-3,
+    .gx-md-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-md-3,
+    .gy-md-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-md-4,
+    .gx-md-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-md-4,
+    .gy-md-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-md-5,
+    .gx-md-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-md-5,
+    .gy-md-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  @media (min-width: 992px) {
+    .col-lg {
+      flex: 1 0 0;
+    }
+    .row-cols-lg-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-lg-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-lg-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-lg-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-lg-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-lg-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-lg-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-lg-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-lg-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-lg-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-lg-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-lg-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-lg-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-lg-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-lg-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-lg-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-lg-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-lg-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-lg-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-lg-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-lg-0 {
+      margin-left: 0;
+    }
+    .offset-lg-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-lg-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-lg-3 {
+      margin-left: 25%;
+    }
+    .offset-lg-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-lg-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-lg-6 {
+      margin-left: 50%;
+    }
+    .offset-lg-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-lg-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-lg-9 {
+      margin-left: 75%;
+    }
+    .offset-lg-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-lg-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-lg-0,
+    .gx-lg-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-lg-0,
+    .gy-lg-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-lg-1,
+    .gx-lg-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-lg-1,
+    .gy-lg-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-lg-2,
+    .gx-lg-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-lg-2,
+    .gy-lg-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-lg-3,
+    .gx-lg-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-lg-3,
+    .gy-lg-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-lg-4,
+    .gx-lg-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-lg-4,
+    .gy-lg-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-lg-5,
+    .gx-lg-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-lg-5,
+    .gy-lg-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  @media (min-width: 1200px) {
+    .col-xl {
+      flex: 1 0 0;
+    }
+    .row-cols-xl-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-xl-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-xl-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-xl-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-xl-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-xl-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-xl-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-xl-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-xl-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-xl-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-xl-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-xl-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-xl-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-xl-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-xl-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-xl-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-xl-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-xl-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-xl-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-xl-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-xl-0 {
+      margin-left: 0;
+    }
+    .offset-xl-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-xl-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-xl-3 {
+      margin-left: 25%;
+    }
+    .offset-xl-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-xl-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-xl-6 {
+      margin-left: 50%;
+    }
+    .offset-xl-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-xl-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-xl-9 {
+      margin-left: 75%;
+    }
+    .offset-xl-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-xl-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-xl-0,
+    .gx-xl-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-xl-0,
+    .gy-xl-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-xl-1,
+    .gx-xl-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-xl-1,
+    .gy-xl-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-xl-2,
+    .gx-xl-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-xl-2,
+    .gy-xl-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-xl-3,
+    .gx-xl-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-xl-3,
+    .gy-xl-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-xl-4,
+    .gx-xl-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-xl-4,
+    .gy-xl-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-xl-5,
+    .gx-xl-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-xl-5,
+    .gy-xl-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  @media (min-width: 1400px) {
+    .col-xxl {
+      flex: 1 0 0;
+    }
+    .row-cols-xxl-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-xxl-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-xxl-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-xxl-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-xxl-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-xxl-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-xxl-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-xxl-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-xxl-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-xxl-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-xxl-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-xxl-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-xxl-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-xxl-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-xxl-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-xxl-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-xxl-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-xxl-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-xxl-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-xxl-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-xxl-0 {
+      margin-left: 0;
+    }
+    .offset-xxl-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-xxl-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-xxl-3 {
+      margin-left: 25%;
+    }
+    .offset-xxl-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-xxl-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-xxl-6 {
+      margin-left: 50%;
+    }
+    .offset-xxl-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-xxl-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-xxl-9 {
+      margin-left: 75%;
+    }
+    .offset-xxl-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-xxl-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-xxl-0,
+    .gx-xxl-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-xxl-0,
+    .gy-xxl-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-xxl-1,
+    .gx-xxl-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-xxl-1,
+    .gy-xxl-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-xxl-2,
+    .gx-xxl-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-xxl-2,
+    .gy-xxl-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-xxl-3,
+    .gx-xxl-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-xxl-3,
+    .gy-xxl-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-xxl-4,
+    .gx-xxl-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-xxl-4,
+    .gy-xxl-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-xxl-5,
+    .gx-xxl-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-xxl-5,
+    .gy-xxl-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  .grid {
+    --bs-columns: 12;
+    --bs-rows: 1;
+    --bs-gap: 1.5rem;
+    display: grid;
+    grid-template-rows: repeat(var(--bs-rows), 1fr);
+    grid-template-columns: repeat(var(--bs-columns), 1fr);
+    gap: var(--bs-gap);
+  }
+  .g-col-1 {
+    grid-column: auto/span 1;
+  }
+  .g-col-2 {
+    grid-column: auto/span 2;
+  }
+  .g-col-3 {
+    grid-column: auto/span 3;
+  }
+  .g-col-4 {
+    grid-column: auto/span 4;
+  }
+  .g-col-5 {
+    grid-column: auto/span 5;
+  }
+  .g-col-6 {
+    grid-column: auto/span 6;
+  }
+  .g-col-7 {
+    grid-column: auto/span 7;
+  }
+  .g-col-8 {
+    grid-column: auto/span 8;
+  }
+  .g-col-9 {
+    grid-column: auto/span 9;
+  }
+  .g-col-10 {
+    grid-column: auto/span 10;
+  }
+  .g-col-11 {
+    grid-column: auto/span 11;
+  }
+  .g-col-12 {
+    grid-column: auto/span 12;
+  }
+  .g-start-1 {
+    grid-column-start: 1;
+  }
+  .g-start-2 {
+    grid-column-start: 2;
+  }
+  .g-start-3 {
+    grid-column-start: 3;
+  }
+  .g-start-4 {
+    grid-column-start: 4;
+  }
+  .g-start-5 {
+    grid-column-start: 5;
+  }
+  .g-start-6 {
+    grid-column-start: 6;
+  }
+  .g-start-7 {
+    grid-column-start: 7;
+  }
+  .g-start-8 {
+    grid-column-start: 8;
+  }
+  .g-start-9 {
+    grid-column-start: 9;
+  }
+  .g-start-10 {
+    grid-column-start: 10;
+  }
+  .g-start-11 {
+    grid-column-start: 11;
+  }
+  @media (min-width: 576px) {
+    .g-col-sm-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-sm-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-sm-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-sm-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-sm-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-sm-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-sm-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-sm-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-sm-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-sm-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-sm-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-sm-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-sm-1 {
+      grid-column-start: 1;
+    }
+    .g-start-sm-2 {
+      grid-column-start: 2;
+    }
+    .g-start-sm-3 {
+      grid-column-start: 3;
+    }
+    .g-start-sm-4 {
+      grid-column-start: 4;
+    }
+    .g-start-sm-5 {
+      grid-column-start: 5;
+    }
+    .g-start-sm-6 {
+      grid-column-start: 6;
+    }
+    .g-start-sm-7 {
+      grid-column-start: 7;
+    }
+    .g-start-sm-8 {
+      grid-column-start: 8;
+    }
+    .g-start-sm-9 {
+      grid-column-start: 9;
+    }
+    .g-start-sm-10 {
+      grid-column-start: 10;
+    }
+    .g-start-sm-11 {
+      grid-column-start: 11;
+    }
+  }
+  @media (min-width: 768px) {
+    .g-col-md-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-md-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-md-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-md-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-md-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-md-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-md-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-md-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-md-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-md-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-md-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-md-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-md-1 {
+      grid-column-start: 1;
+    }
+    .g-start-md-2 {
+      grid-column-start: 2;
+    }
+    .g-start-md-3 {
+      grid-column-start: 3;
+    }
+    .g-start-md-4 {
+      grid-column-start: 4;
+    }
+    .g-start-md-5 {
+      grid-column-start: 5;
+    }
+    .g-start-md-6 {
+      grid-column-start: 6;
+    }
+    .g-start-md-7 {
+      grid-column-start: 7;
+    }
+    .g-start-md-8 {
+      grid-column-start: 8;
+    }
+    .g-start-md-9 {
+      grid-column-start: 9;
+    }
+    .g-start-md-10 {
+      grid-column-start: 10;
+    }
+    .g-start-md-11 {
+      grid-column-start: 11;
+    }
+  }
+  @media (min-width: 992px) {
+    .g-col-lg-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-lg-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-lg-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-lg-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-lg-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-lg-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-lg-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-lg-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-lg-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-lg-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-lg-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-lg-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-lg-1 {
+      grid-column-start: 1;
+    }
+    .g-start-lg-2 {
+      grid-column-start: 2;
+    }
+    .g-start-lg-3 {
+      grid-column-start: 3;
+    }
+    .g-start-lg-4 {
+      grid-column-start: 4;
+    }
+    .g-start-lg-5 {
+      grid-column-start: 5;
+    }
+    .g-start-lg-6 {
+      grid-column-start: 6;
+    }
+    .g-start-lg-7 {
+      grid-column-start: 7;
+    }
+    .g-start-lg-8 {
+      grid-column-start: 8;
+    }
+    .g-start-lg-9 {
+      grid-column-start: 9;
+    }
+    .g-start-lg-10 {
+      grid-column-start: 10;
+    }
+    .g-start-lg-11 {
+      grid-column-start: 11;
+    }
+  }
+  @media (min-width: 1200px) {
+    .g-col-xl-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-xl-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-xl-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-xl-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-xl-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-xl-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-xl-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-xl-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-xl-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-xl-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-xl-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-xl-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-xl-1 {
+      grid-column-start: 1;
+    }
+    .g-start-xl-2 {
+      grid-column-start: 2;
+    }
+    .g-start-xl-3 {
+      grid-column-start: 3;
+    }
+    .g-start-xl-4 {
+      grid-column-start: 4;
+    }
+    .g-start-xl-5 {
+      grid-column-start: 5;
+    }
+    .g-start-xl-6 {
+      grid-column-start: 6;
+    }
+    .g-start-xl-7 {
+      grid-column-start: 7;
+    }
+    .g-start-xl-8 {
+      grid-column-start: 8;
+    }
+    .g-start-xl-9 {
+      grid-column-start: 9;
+    }
+    .g-start-xl-10 {
+      grid-column-start: 10;
+    }
+    .g-start-xl-11 {
+      grid-column-start: 11;
+    }
+  }
+  @media (min-width: 1400px) {
+    .g-col-xxl-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-xxl-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-xxl-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-xxl-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-xxl-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-xxl-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-xxl-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-xxl-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-xxl-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-xxl-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-xxl-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-xxl-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-xxl-1 {
+      grid-column-start: 1;
+    }
+    .g-start-xxl-2 {
+      grid-column-start: 2;
+    }
+    .g-start-xxl-3 {
+      grid-column-start: 3;
+    }
+    .g-start-xxl-4 {
+      grid-column-start: 4;
+    }
+    .g-start-xxl-5 {
+      grid-column-start: 5;
+    }
+    .g-start-xxl-6 {
+      grid-column-start: 6;
+    }
+    .g-start-xxl-7 {
+      grid-column-start: 7;
+    }
+    .g-start-xxl-8 {
+      grid-column-start: 8;
+    }
+    .g-start-xxl-9 {
+      grid-column-start: 9;
+    }
+    .g-start-xxl-10 {
+      grid-column-start: 10;
+    }
+    .g-start-xxl-11 {
+      grid-column-start: 11;
+    }
+  }
+  .grid-cols-subgrid {
+    grid-template-columns: subgrid;
+  }
+  .grid-fill {
+    --bs-gap: 1.5rem;
+    display: grid;
+    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
+    grid-auto-flow: row;
+    gap: var(--bs-gap);
+  }
+  .g-col-auto {
+    grid-column: auto/auto;
+  }
+  .grid-cols-3 {
+    --bs-columns: 3;
+  }
+  .grid-cols-4 {
+    --bs-columns: 4;
+  }
+  .grid-cols-6 {
+    --bs-columns: 6;
+  }
+}
+@layer utilities {
+  .d-inline {
     display: inline !important;
   }
-  .d-xxl-inline-block {
+  .d-inline-block {
     display: inline-block !important;
   }
-  .d-xxl-block {
+  .d-block {
     display: block !important;
   }
-  .d-xxl-grid {
+  .d-grid {
     display: grid !important;
   }
-  .d-xxl-inline-grid {
+  .d-inline-grid {
     display: inline-grid !important;
   }
-  .d-xxl-table {
+  .d-table {
     display: table !important;
   }
-  .d-xxl-table-row {
+  .d-table-row {
     display: table-row !important;
   }
-  .d-xxl-table-cell {
+  .d-table-cell {
     display: table-cell !important;
   }
-  .d-xxl-flex {
+  .d-flex {
     display: flex !important;
   }
-  .d-xxl-inline-flex {
+  .d-inline-flex {
     display: inline-flex !important;
   }
-  .d-xxl-none {
+  .d-flow-root {
+    display: flow-root !important;
+  }
+  .d-none {
     display: none !important;
   }
-  .flex-xxl-fill {
+  .flex-fill {
     flex: 1 1 auto !important;
   }
-  .flex-xxl-row {
+  .flex-row {
     flex-direction: row !important;
   }
-  .flex-xxl-column {
+  .flex-column {
     flex-direction: column !important;
   }
-  .flex-xxl-row-reverse {
+  .flex-row-reverse {
     flex-direction: row-reverse !important;
   }
-  .flex-xxl-column-reverse {
+  .flex-column-reverse {
     flex-direction: column-reverse !important;
   }
-  .flex-xxl-grow-0 {
+  .flex-grow-0 {
     flex-grow: 0 !important;
   }
-  .flex-xxl-grow-1 {
+  .flex-grow-1 {
     flex-grow: 1 !important;
   }
-  .flex-xxl-shrink-0 {
+  .flex-shrink-0 {
     flex-shrink: 0 !important;
   }
-  .flex-xxl-shrink-1 {
+  .flex-shrink-1 {
     flex-shrink: 1 !important;
   }
-  .flex-xxl-wrap {
+  .flex-wrap {
     flex-wrap: wrap !important;
   }
-  .flex-xxl-nowrap {
+  .flex-nowrap {
     flex-wrap: nowrap !important;
   }
-  .flex-xxl-wrap-reverse {
+  .flex-wrap-reverse {
     flex-wrap: wrap-reverse !important;
   }
-  .justify-content-xxl-start {
+  .justify-content-start {
     justify-content: flex-start !important;
   }
-  .justify-content-xxl-end {
+  .justify-content-end {
     justify-content: flex-end !important;
   }
-  .justify-content-xxl-center {
+  .justify-content-center {
     justify-content: center !important;
   }
-  .justify-content-xxl-between {
+  .justify-content-between {
     justify-content: space-between !important;
   }
-  .justify-content-xxl-around {
+  .justify-content-around {
     justify-content: space-around !important;
   }
-  .justify-content-xxl-evenly {
+  .justify-content-evenly {
     justify-content: space-evenly !important;
   }
-  .align-items-xxl-start {
+  .align-items-start {
     align-items: flex-start !important;
   }
-  .align-items-xxl-end {
+  .align-items-end {
     align-items: flex-end !important;
   }
-  .align-items-xxl-center {
+  .align-items-center {
     align-items: center !important;
   }
-  .align-items-xxl-baseline {
+  .align-items-baseline {
     align-items: baseline !important;
   }
-  .align-items-xxl-stretch {
+  .align-items-stretch {
     align-items: stretch !important;
   }
-  .align-content-xxl-start {
+  .align-content-start {
     align-content: flex-start !important;
   }
-  .align-content-xxl-end {
+  .align-content-end {
     align-content: flex-end !important;
   }
-  .align-content-xxl-center {
+  .align-content-center {
     align-content: center !important;
   }
-  .align-content-xxl-between {
+  .align-content-between {
     align-content: space-between !important;
   }
-  .align-content-xxl-around {
+  .align-content-around {
     align-content: space-around !important;
   }
-  .align-content-xxl-stretch {
+  .align-content-stretch {
     align-content: stretch !important;
   }
-  .align-self-xxl-auto {
+  .align-self-auto {
     align-self: auto !important;
   }
-  .align-self-xxl-start {
+  .align-self-start {
     align-self: flex-start !important;
   }
-  .align-self-xxl-end {
+  .align-self-end {
     align-self: flex-end !important;
   }
-  .align-self-xxl-center {
+  .align-self-center {
     align-self: center !important;
   }
-  .align-self-xxl-baseline {
+  .align-self-baseline {
     align-self: baseline !important;
   }
-  .align-self-xxl-stretch {
+  .align-self-stretch {
     align-self: stretch !important;
   }
-  .order-xxl-first {
+  .order-first {
     order: -1 !important;
   }
-  .order-xxl-0 {
+  .order-0 {
     order: 0 !important;
   }
-  .order-xxl-1 {
+  .order-1 {
     order: 1 !important;
   }
-  .order-xxl-2 {
+  .order-2 {
     order: 2 !important;
   }
-  .order-xxl-3 {
+  .order-3 {
     order: 3 !important;
   }
-  .order-xxl-4 {
+  .order-4 {
     order: 4 !important;
   }
-  .order-xxl-5 {
+  .order-5 {
     order: 5 !important;
   }
-  .order-xxl-last {
+  .order-last {
     order: 6 !important;
   }
-  .m-xxl-0 {
+  .m-0 {
     margin: 0 !important;
   }
-  .m-xxl-1 {
+  .m-1 {
     margin: 0.25rem !important;
   }
-  .m-xxl-2 {
+  .m-2 {
     margin: 0.5rem !important;
   }
-  .m-xxl-3 {
+  .m-3 {
     margin: 1rem !important;
   }
-  .m-xxl-4 {
+  .m-4 {
     margin: 1.5rem !important;
   }
-  .m-xxl-5 {
+  .m-5 {
     margin: 3rem !important;
   }
-  .m-xxl-auto {
+  .m-auto {
     margin: auto !important;
   }
-  .mx-xxl-0 {
+  .mx-0 {
     margin-right: 0 !important;
     margin-left: 0 !important;
   }
-  .mx-xxl-1 {
+  .mx-1 {
     margin-right: 0.25rem !important;
     margin-left: 0.25rem !important;
   }
-  .mx-xxl-2 {
+  .mx-2 {
     margin-right: 0.5rem !important;
     margin-left: 0.5rem !important;
   }
-  .mx-xxl-3 {
+  .mx-3 {
     margin-right: 1rem !important;
     margin-left: 1rem !important;
   }
-  .mx-xxl-4 {
+  .mx-4 {
     margin-right: 1.5rem !important;
     margin-left: 1.5rem !important;
   }
-  .mx-xxl-5 {
+  .mx-5 {
     margin-right: 3rem !important;
     margin-left: 3rem !important;
   }
-  .mx-xxl-auto {
+  .mx-auto {
     margin-right: auto !important;
     margin-left: auto !important;
   }
-  .my-xxl-0 {
+  .my-0 {
     margin-top: 0 !important;
     margin-bottom: 0 !important;
   }
-  .my-xxl-1 {
+  .my-1 {
     margin-top: 0.25rem !important;
     margin-bottom: 0.25rem !important;
   }
-  .my-xxl-2 {
+  .my-2 {
     margin-top: 0.5rem !important;
     margin-bottom: 0.5rem !important;
   }
-  .my-xxl-3 {
+  .my-3 {
     margin-top: 1rem !important;
     margin-bottom: 1rem !important;
   }
-  .my-xxl-4 {
+  .my-4 {
     margin-top: 1.5rem !important;
     margin-bottom: 1.5rem !important;
   }
-  .my-xxl-5 {
+  .my-5 {
     margin-top: 3rem !important;
     margin-bottom: 3rem !important;
   }
-  .my-xxl-auto {
+  .my-auto {
     margin-top: auto !important;
     margin-bottom: auto !important;
   }
-  .mt-xxl-0 {
+  .mt-0 {
     margin-top: 0 !important;
   }
-  .mt-xxl-1 {
+  .mt-1 {
     margin-top: 0.25rem !important;
   }
-  .mt-xxl-2 {
+  .mt-2 {
     margin-top: 0.5rem !important;
   }
-  .mt-xxl-3 {
+  .mt-3 {
     margin-top: 1rem !important;
   }
-  .mt-xxl-4 {
+  .mt-4 {
     margin-top: 1.5rem !important;
   }
-  .mt-xxl-5 {
+  .mt-5 {
     margin-top: 3rem !important;
   }
-  .mt-xxl-auto {
+  .mt-auto {
     margin-top: auto !important;
   }
-  .me-xxl-0 {
+  .me-0 {
     margin-right: 0 !important;
   }
-  .me-xxl-1 {
+  .me-1 {
     margin-right: 0.25rem !important;
   }
-  .me-xxl-2 {
+  .me-2 {
     margin-right: 0.5rem !important;
   }
-  .me-xxl-3 {
+  .me-3 {
     margin-right: 1rem !important;
   }
-  .me-xxl-4 {
+  .me-4 {
     margin-right: 1.5rem !important;
   }
-  .me-xxl-5 {
+  .me-5 {
     margin-right: 3rem !important;
   }
-  .me-xxl-auto {
+  .me-auto {
     margin-right: auto !important;
   }
-  .mb-xxl-0 {
+  .mb-0 {
     margin-bottom: 0 !important;
   }
-  .mb-xxl-1 {
+  .mb-1 {
     margin-bottom: 0.25rem !important;
   }
-  .mb-xxl-2 {
+  .mb-2 {
     margin-bottom: 0.5rem !important;
   }
-  .mb-xxl-3 {
+  .mb-3 {
     margin-bottom: 1rem !important;
   }
-  .mb-xxl-4 {
+  .mb-4 {
     margin-bottom: 1.5rem !important;
   }
-  .mb-xxl-5 {
+  .mb-5 {
     margin-bottom: 3rem !important;
   }
-  .mb-xxl-auto {
+  .mb-auto {
     margin-bottom: auto !important;
   }
-  .ms-xxl-0 {
+  .ms-0 {
     margin-left: 0 !important;
   }
-  .ms-xxl-1 {
+  .ms-1 {
     margin-left: 0.25rem !important;
   }
-  .ms-xxl-2 {
+  .ms-2 {
     margin-left: 0.5rem !important;
   }
-  .ms-xxl-3 {
+  .ms-3 {
     margin-left: 1rem !important;
   }
-  .ms-xxl-4 {
+  .ms-4 {
     margin-left: 1.5rem !important;
   }
-  .ms-xxl-5 {
+  .ms-5 {
     margin-left: 3rem !important;
   }
-  .ms-xxl-auto {
+  .ms-auto {
     margin-left: auto !important;
   }
-  .p-xxl-0 {
+  .p-0 {
     padding: 0 !important;
   }
-  .p-xxl-1 {
+  .p-1 {
     padding: 0.25rem !important;
   }
-  .p-xxl-2 {
+  .p-2 {
     padding: 0.5rem !important;
   }
-  .p-xxl-3 {
+  .p-3 {
     padding: 1rem !important;
   }
-  .p-xxl-4 {
+  .p-4 {
     padding: 1.5rem !important;
   }
-  .p-xxl-5 {
+  .p-5 {
     padding: 3rem !important;
   }
-  .px-xxl-0 {
+  .px-0 {
     padding-right: 0 !important;
     padding-left: 0 !important;
   }
-  .px-xxl-1 {
+  .px-1 {
     padding-right: 0.25rem !important;
     padding-left: 0.25rem !important;
   }
-  .px-xxl-2 {
+  .px-2 {
     padding-right: 0.5rem !important;
     padding-left: 0.5rem !important;
   }
-  .px-xxl-3 {
+  .px-3 {
     padding-right: 1rem !important;
     padding-left: 1rem !important;
   }
-  .px-xxl-4 {
+  .px-4 {
     padding-right: 1.5rem !important;
     padding-left: 1.5rem !important;
   }
-  .px-xxl-5 {
+  .px-5 {
     padding-right: 3rem !important;
     padding-left: 3rem !important;
   }
-  .py-xxl-0 {
+  .py-0 {
     padding-top: 0 !important;
     padding-bottom: 0 !important;
   }
-  .py-xxl-1 {
+  .py-1 {
     padding-top: 0.25rem !important;
     padding-bottom: 0.25rem !important;
   }
-  .py-xxl-2 {
+  .py-2 {
     padding-top: 0.5rem !important;
     padding-bottom: 0.5rem !important;
   }
-  .py-xxl-3 {
+  .py-3 {
     padding-top: 1rem !important;
     padding-bottom: 1rem !important;
   }
-  .py-xxl-4 {
+  .py-4 {
     padding-top: 1.5rem !important;
     padding-bottom: 1.5rem !important;
   }
-  .py-xxl-5 {
+  .py-5 {
     padding-top: 3rem !important;
     padding-bottom: 3rem !important;
   }
-  .pt-xxl-0 {
+  .pt-0 {
     padding-top: 0 !important;
   }
-  .pt-xxl-1 {
+  .pt-1 {
     padding-top: 0.25rem !important;
   }
-  .pt-xxl-2 {
+  .pt-2 {
     padding-top: 0.5rem !important;
   }
-  .pt-xxl-3 {
+  .pt-3 {
     padding-top: 1rem !important;
   }
-  .pt-xxl-4 {
+  .pt-4 {
     padding-top: 1.5rem !important;
   }
-  .pt-xxl-5 {
+  .pt-5 {
     padding-top: 3rem !important;
   }
-  .pe-xxl-0 {
+  .pe-0 {
     padding-right: 0 !important;
   }
-  .pe-xxl-1 {
+  .pe-1 {
     padding-right: 0.25rem !important;
   }
-  .pe-xxl-2 {
+  .pe-2 {
     padding-right: 0.5rem !important;
   }
-  .pe-xxl-3 {
+  .pe-3 {
     padding-right: 1rem !important;
   }
-  .pe-xxl-4 {
+  .pe-4 {
     padding-right: 1.5rem !important;
   }
-  .pe-xxl-5 {
+  .pe-5 {
     padding-right: 3rem !important;
   }
-  .pb-xxl-0 {
+  .pb-0 {
     padding-bottom: 0 !important;
   }
-  .pb-xxl-1 {
+  .pb-1 {
     padding-bottom: 0.25rem !important;
   }
-  .pb-xxl-2 {
+  .pb-2 {
     padding-bottom: 0.5rem !important;
   }
-  .pb-xxl-3 {
+  .pb-3 {
     padding-bottom: 1rem !important;
   }
-  .pb-xxl-4 {
+  .pb-4 {
     padding-bottom: 1.5rem !important;
   }
-  .pb-xxl-5 {
+  .pb-5 {
     padding-bottom: 3rem !important;
   }
-  .ps-xxl-0 {
+  .ps-0 {
     padding-left: 0 !important;
   }
-  .ps-xxl-1 {
+  .ps-1 {
     padding-left: 0.25rem !important;
   }
-  .ps-xxl-2 {
+  .ps-2 {
     padding-left: 0.5rem !important;
   }
-  .ps-xxl-3 {
+  .ps-3 {
     padding-left: 1rem !important;
   }
-  .ps-xxl-4 {
+  .ps-4 {
     padding-left: 1.5rem !important;
   }
-  .ps-xxl-5 {
+  .ps-5 {
     padding-left: 3rem !important;
   }
-}
-@media print {
-  .d-print-inline {
-    display: inline !important;
-  }
-  .d-print-inline-block {
-    display: inline-block !important;
-  }
-  .d-print-block {
-    display: block !important;
-  }
-  .d-print-grid {
-    display: grid !important;
-  }
-  .d-print-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-print-table {
-    display: table !important;
-  }
-  .d-print-table-row {
-    display: table-row !important;
-  }
-  .d-print-table-cell {
-    display: table-cell !important;
-  }
-  .d-print-flex {
-    display: flex !important;
-  }
-  .d-print-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-print-none {
-    display: none !important;
-  }
-}
-
-/*# sourceMappingURL=bootstrap-grid.css.map */
\ No newline at end of file
+  @media (min-width: 576px) {
+    .d-sm-inline {
+      display: inline !important;
+    }
+    .d-sm-inline-block {
+      display: inline-block !important;
+    }
+    .d-sm-block {
+      display: block !important;
+    }
+    .d-sm-grid {
+      display: grid !important;
+    }
+    .d-sm-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-sm-table {
+      display: table !important;
+    }
+    .d-sm-table-row {
+      display: table-row !important;
+    }
+    .d-sm-table-cell {
+      display: table-cell !important;
+    }
+    .d-sm-flex {
+      display: flex !important;
+    }
+    .d-sm-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-sm-flow-root {
+      display: flow-root !important;
+    }
+    .d-sm-none {
+      display: none !important;
+    }
+    .flex-sm-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-sm-row {
+      flex-direction: row !important;
+    }
+    .flex-sm-column {
+      flex-direction: column !important;
+    }
+    .flex-sm-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-sm-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-sm-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-sm-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-sm-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-sm-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-sm-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-sm-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-sm-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-sm-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-sm-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-sm-center {
+      justify-content: center !important;
+    }
+    .justify-content-sm-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-sm-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-sm-evenly {
+      justify-content: space-evenly !important;
+    }
+    .align-items-sm-start {
+      align-items: flex-start !important;
+    }
+    .align-items-sm-end {
+      align-items: flex-end !important;
+    }
+    .align-items-sm-center {
+      align-items: center !important;
+    }
+    .align-items-sm-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-sm-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-sm-start {
+      align-content: flex-start !important;
+    }
+    .align-content-sm-end {
+      align-content: flex-end !important;
+    }
+    .align-content-sm-center {
+      align-content: center !important;
+    }
+    .align-content-sm-between {
+      align-content: space-between !important;
+    }
+    .align-content-sm-around {
+      align-content: space-around !important;
+    }
+    .align-content-sm-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-sm-auto {
+      align-self: auto !important;
+    }
+    .align-self-sm-start {
+      align-self: flex-start !important;
+    }
+    .align-self-sm-end {
+      align-self: flex-end !important;
+    }
+    .align-self-sm-center {
+      align-self: center !important;
+    }
+    .align-self-sm-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-sm-stretch {
+      align-self: stretch !important;
+    }
+    .order-sm-first {
+      order: -1 !important;
+    }
+    .order-sm-0 {
+      order: 0 !important;
+    }
+    .order-sm-1 {
+      order: 1 !important;
+    }
+    .order-sm-2 {
+      order: 2 !important;
+    }
+    .order-sm-3 {
+      order: 3 !important;
+    }
+    .order-sm-4 {
+      order: 4 !important;
+    }
+    .order-sm-5 {
+      order: 5 !important;
+    }
+    .order-sm-last {
+      order: 6 !important;
+    }
+    .m-sm-0 {
+      margin: 0 !important;
+    }
+    .m-sm-1 {
+      margin: 0.25rem !important;
+    }
+    .m-sm-2 {
+      margin: 0.5rem !important;
+    }
+    .m-sm-3 {
+      margin: 1rem !important;
+    }
+    .m-sm-4 {
+      margin: 1.5rem !important;
+    }
+    .m-sm-5 {
+      margin: 3rem !important;
+    }
+    .m-sm-auto {
+      margin: auto !important;
+    }
+    .mx-sm-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-sm-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-sm-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-sm-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-sm-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-sm-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-sm-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-sm-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-sm-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-sm-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-sm-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-sm-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-sm-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-sm-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-sm-0 {
+      margin-top: 0 !important;
+    }
+    .mt-sm-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-sm-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-sm-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-sm-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-sm-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-sm-auto {
+      margin-top: auto !important;
+    }
+    .me-sm-0 {
+      margin-right: 0 !important;
+    }
+    .me-sm-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-sm-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-sm-3 {
+      margin-right: 1rem !important;
+    }
+    .me-sm-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-sm-5 {
+      margin-right: 3rem !important;
+    }
+    .me-sm-auto {
+      margin-right: auto !important;
+    }
+    .mb-sm-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-sm-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-sm-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-sm-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-sm-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-sm-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-sm-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-sm-0 {
+      margin-left: 0 !important;
+    }
+    .ms-sm-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-sm-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-sm-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-sm-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-sm-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-sm-auto {
+      margin-left: auto !important;
+    }
+    .p-sm-0 {
+      padding: 0 !important;
+    }
+    .p-sm-1 {
+      padding: 0.25rem !important;
+    }
+    .p-sm-2 {
+      padding: 0.5rem !important;
+    }
+    .p-sm-3 {
+      padding: 1rem !important;
+    }
+    .p-sm-4 {
+      padding: 1.5rem !important;
+    }
+    .p-sm-5 {
+      padding: 3rem !important;
+    }
+    .px-sm-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-sm-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-sm-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-sm-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-sm-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-sm-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-sm-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-sm-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-sm-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-sm-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-sm-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-sm-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-sm-0 {
+      padding-top: 0 !important;
+    }
+    .pt-sm-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-sm-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-sm-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-sm-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-sm-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-sm-0 {
+      padding-right: 0 !important;
+    }
+    .pe-sm-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-sm-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-sm-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-sm-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-sm-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-sm-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-sm-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-sm-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-sm-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-sm-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-sm-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-sm-0 {
+      padding-left: 0 !important;
+    }
+    .ps-sm-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-sm-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-sm-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-sm-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-sm-5 {
+      padding-left: 3rem !important;
+    }
+  }
+  @media (min-width: 768px) {
+    .d-md-inline {
+      display: inline !important;
+    }
+    .d-md-inline-block {
+      display: inline-block !important;
+    }
+    .d-md-block {
+      display: block !important;
+    }
+    .d-md-grid {
+      display: grid !important;
+    }
+    .d-md-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-md-table {
+      display: table !important;
+    }
+    .d-md-table-row {
+      display: table-row !important;
+    }
+    .d-md-table-cell {
+      display: table-cell !important;
+    }
+    .d-md-flex {
+      display: flex !important;
+    }
+    .d-md-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-md-flow-root {
+      display: flow-root !important;
+    }
+    .d-md-none {
+      display: none !important;
+    }
+    .flex-md-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-md-row {
+      flex-direction: row !important;
+    }
+    .flex-md-column {
+      flex-direction: column !important;
+    }
+    .flex-md-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-md-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-md-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-md-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-md-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-md-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-md-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-md-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-md-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-md-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-md-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-md-center {
+      justify-content: center !important;
+    }
+    .justify-content-md-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-md-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-md-evenly {
+      justify-content: space-evenly !important;
+    }
+    .align-items-md-start {
+      align-items: flex-start !important;
+    }
+    .align-items-md-end {
+      align-items: flex-end !important;
+    }
+    .align-items-md-center {
+      align-items: center !important;
+    }
+    .align-items-md-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-md-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-md-start {
+      align-content: flex-start !important;
+    }
+    .align-content-md-end {
+      align-content: flex-end !important;
+    }
+    .align-content-md-center {
+      align-content: center !important;
+    }
+    .align-content-md-between {
+      align-content: space-between !important;
+    }
+    .align-content-md-around {
+      align-content: space-around !important;
+    }
+    .align-content-md-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-md-auto {
+      align-self: auto !important;
+    }
+    .align-self-md-start {
+      align-self: flex-start !important;
+    }
+    .align-self-md-end {
+      align-self: flex-end !important;
+    }
+    .align-self-md-center {
+      align-self: center !important;
+    }
+    .align-self-md-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-md-stretch {
+      align-self: stretch !important;
+    }
+    .order-md-first {
+      order: -1 !important;
+    }
+    .order-md-0 {
+      order: 0 !important;
+    }
+    .order-md-1 {
+      order: 1 !important;
+    }
+    .order-md-2 {
+      order: 2 !important;
+    }
+    .order-md-3 {
+      order: 3 !important;
+    }
+    .order-md-4 {
+      order: 4 !important;
+    }
+    .order-md-5 {
+      order: 5 !important;
+    }
+    .order-md-last {
+      order: 6 !important;
+    }
+    .m-md-0 {
+      margin: 0 !important;
+    }
+    .m-md-1 {
+      margin: 0.25rem !important;
+    }
+    .m-md-2 {
+      margin: 0.5rem !important;
+    }
+    .m-md-3 {
+      margin: 1rem !important;
+    }
+    .m-md-4 {
+      margin: 1.5rem !important;
+    }
+    .m-md-5 {
+      margin: 3rem !important;
+    }
+    .m-md-auto {
+      margin: auto !important;
+    }
+    .mx-md-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-md-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-md-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-md-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-md-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-md-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-md-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-md-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-md-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-md-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-md-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-md-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-md-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-md-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-md-0 {
+      margin-top: 0 !important;
+    }
+    .mt-md-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-md-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-md-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-md-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-md-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-md-auto {
+      margin-top: auto !important;
+    }
+    .me-md-0 {
+      margin-right: 0 !important;
+    }
+    .me-md-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-md-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-md-3 {
+      margin-right: 1rem !important;
+    }
+    .me-md-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-md-5 {
+      margin-right: 3rem !important;
+    }
+    .me-md-auto {
+      margin-right: auto !important;
+    }
+    .mb-md-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-md-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-md-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-md-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-md-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-md-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-md-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-md-0 {
+      margin-left: 0 !important;
+    }
+    .ms-md-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-md-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-md-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-md-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-md-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-md-auto {
+      margin-left: auto !important;
+    }
+    .p-md-0 {
+      padding: 0 !important;
+    }
+    .p-md-1 {
+      padding: 0.25rem !important;
+    }
+    .p-md-2 {
+      padding: 0.5rem !important;
+    }
+    .p-md-3 {
+      padding: 1rem !important;
+    }
+    .p-md-4 {
+      padding: 1.5rem !important;
+    }
+    .p-md-5 {
+      padding: 3rem !important;
+    }
+    .px-md-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-md-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-md-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-md-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-md-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-md-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-md-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-md-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-md-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-md-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-md-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-md-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-md-0 {
+      padding-top: 0 !important;
+    }
+    .pt-md-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-md-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-md-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-md-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-md-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-md-0 {
+      padding-right: 0 !important;
+    }
+    .pe-md-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-md-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-md-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-md-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-md-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-md-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-md-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-md-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-md-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-md-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-md-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-md-0 {
+      padding-left: 0 !important;
+    }
+    .ps-md-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-md-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-md-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-md-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-md-5 {
+      padding-left: 3rem !important;
+    }
+  }
+  @media (min-width: 992px) {
+    .d-lg-inline {
+      display: inline !important;
+    }
+    .d-lg-inline-block {
+      display: inline-block !important;
+    }
+    .d-lg-block {
+      display: block !important;
+    }
+    .d-lg-grid {
+      display: grid !important;
+    }
+    .d-lg-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-lg-table {
+      display: table !important;
+    }
+    .d-lg-table-row {
+      display: table-row !important;
+    }
+    .d-lg-table-cell {
+      display: table-cell !important;
+    }
+    .d-lg-flex {
+      display: flex !important;
+    }
+    .d-lg-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-lg-flow-root {
+      display: flow-root !important;
+    }
+    .d-lg-none {
+      display: none !important;
+    }
+    .flex-lg-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-lg-row {
+      flex-direction: row !important;
+    }
+    .flex-lg-column {
+      flex-direction: column !important;
+    }
+    .flex-lg-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-lg-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-lg-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-lg-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-lg-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-lg-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-lg-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-lg-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-lg-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-lg-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-lg-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-lg-center {
+      justify-content: center !important;
+    }
+    .justify-content-lg-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-lg-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-lg-evenly {
+      justify-content: space-evenly !important;
+    }
+    .align-items-lg-start {
+      align-items: flex-start !important;
+    }
+    .align-items-lg-end {
+      align-items: flex-end !important;
+    }
+    .align-items-lg-center {
+      align-items: center !important;
+    }
+    .align-items-lg-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-lg-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-lg-start {
+      align-content: flex-start !important;
+    }
+    .align-content-lg-end {
+      align-content: flex-end !important;
+    }
+    .align-content-lg-center {
+      align-content: center !important;
+    }
+    .align-content-lg-between {
+      align-content: space-between !important;
+    }
+    .align-content-lg-around {
+      align-content: space-around !important;
+    }
+    .align-content-lg-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-lg-auto {
+      align-self: auto !important;
+    }
+    .align-self-lg-start {
+      align-self: flex-start !important;
+    }
+    .align-self-lg-end {
+      align-self: flex-end !important;
+    }
+    .align-self-lg-center {
+      align-self: center !important;
+    }
+    .align-self-lg-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-lg-stretch {
+      align-self: stretch !important;
+    }
+    .order-lg-first {
+      order: -1 !important;
+    }
+    .order-lg-0 {
+      order: 0 !important;
+    }
+    .order-lg-1 {
+      order: 1 !important;
+    }
+    .order-lg-2 {
+      order: 2 !important;
+    }
+    .order-lg-3 {
+      order: 3 !important;
+    }
+    .order-lg-4 {
+      order: 4 !important;
+    }
+    .order-lg-5 {
+      order: 5 !important;
+    }
+    .order-lg-last {
+      order: 6 !important;
+    }
+    .m-lg-0 {
+      margin: 0 !important;
+    }
+    .m-lg-1 {
+      margin: 0.25rem !important;
+    }
+    .m-lg-2 {
+      margin: 0.5rem !important;
+    }
+    .m-lg-3 {
+      margin: 1rem !important;
+    }
+    .m-lg-4 {
+      margin: 1.5rem !important;
+    }
+    .m-lg-5 {
+      margin: 3rem !important;
+    }
+    .m-lg-auto {
+      margin: auto !important;
+    }
+    .mx-lg-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-lg-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-lg-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-lg-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-lg-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-lg-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-lg-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-lg-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-lg-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-lg-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-lg-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-lg-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-lg-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-lg-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-lg-0 {
+      margin-top: 0 !important;
+    }
+    .mt-lg-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-lg-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-lg-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-lg-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-lg-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-lg-auto {
+      margin-top: auto !important;
+    }
+    .me-lg-0 {
+      margin-right: 0 !important;
+    }
+    .me-lg-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-lg-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-lg-3 {
+      margin-right: 1rem !important;
+    }
+    .me-lg-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-lg-5 {
+      margin-right: 3rem !important;
+    }
+    .me-lg-auto {
+      margin-right: auto !important;
+    }
+    .mb-lg-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-lg-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-lg-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-lg-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-lg-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-lg-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-lg-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-lg-0 {
+      margin-left: 0 !important;
+    }
+    .ms-lg-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-lg-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-lg-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-lg-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-lg-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-lg-auto {
+      margin-left: auto !important;
+    }
+    .p-lg-0 {
+      padding: 0 !important;
+    }
+    .p-lg-1 {
+      padding: 0.25rem !important;
+    }
+    .p-lg-2 {
+      padding: 0.5rem !important;
+    }
+    .p-lg-3 {
+      padding: 1rem !important;
+    }
+    .p-lg-4 {
+      padding: 1.5rem !important;
+    }
+    .p-lg-5 {
+      padding: 3rem !important;
+    }
+    .px-lg-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-lg-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-lg-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-lg-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-lg-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-lg-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-lg-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-lg-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-lg-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-lg-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-lg-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-lg-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-lg-0 {
+      padding-top: 0 !important;
+    }
+    .pt-lg-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-lg-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-lg-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-lg-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-lg-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-lg-0 {
+      padding-right: 0 !important;
+    }
+    .pe-lg-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-lg-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-lg-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-lg-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-lg-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-lg-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-lg-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-lg-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-lg-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-lg-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-lg-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-lg-0 {
+      padding-left: 0 !important;
+    }
+    .ps-lg-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-lg-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-lg-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-lg-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-lg-5 {
+      padding-left: 3rem !important;
+    }
+  }
+  @media (min-width: 1200px) {
+    .d-xl-inline {
+      display: inline !important;
+    }
+    .d-xl-inline-block {
+      display: inline-block !important;
+    }
+    .d-xl-block {
+      display: block !important;
+    }
+    .d-xl-grid {
+      display: grid !important;
+    }
+    .d-xl-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-xl-table {
+      display: table !important;
+    }
+    .d-xl-table-row {
+      display: table-row !important;
+    }
+    .d-xl-table-cell {
+      display: table-cell !important;
+    }
+    .d-xl-flex {
+      display: flex !important;
+    }
+    .d-xl-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-xl-flow-root {
+      display: flow-root !important;
+    }
+    .d-xl-none {
+      display: none !important;
+    }
+    .flex-xl-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-xl-row {
+      flex-direction: row !important;
+    }
+    .flex-xl-column {
+      flex-direction: column !important;
+    }
+    .flex-xl-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-xl-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-xl-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-xl-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-xl-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-xl-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-xl-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-xl-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-xl-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-xl-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-xl-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-xl-center {
+      justify-content: center !important;
+    }
+    .justify-content-xl-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-xl-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-xl-evenly {
+      justify-content: space-evenly !important;
+    }
+    .align-items-xl-start {
+      align-items: flex-start !important;
+    }
+    .align-items-xl-end {
+      align-items: flex-end !important;
+    }
+    .align-items-xl-center {
+      align-items: center !important;
+    }
+    .align-items-xl-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-xl-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-xl-start {
+      align-content: flex-start !important;
+    }
+    .align-content-xl-end {
+      align-content: flex-end !important;
+    }
+    .align-content-xl-center {
+      align-content: center !important;
+    }
+    .align-content-xl-between {
+      align-content: space-between !important;
+    }
+    .align-content-xl-around {
+      align-content: space-around !important;
+    }
+    .align-content-xl-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-xl-auto {
+      align-self: auto !important;
+    }
+    .align-self-xl-start {
+      align-self: flex-start !important;
+    }
+    .align-self-xl-end {
+      align-self: flex-end !important;
+    }
+    .align-self-xl-center {
+      align-self: center !important;
+    }
+    .align-self-xl-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-xl-stretch {
+      align-self: stretch !important;
+    }
+    .order-xl-first {
+      order: -1 !important;
+    }
+    .order-xl-0 {
+      order: 0 !important;
+    }
+    .order-xl-1 {
+      order: 1 !important;
+    }
+    .order-xl-2 {
+      order: 2 !important;
+    }
+    .order-xl-3 {
+      order: 3 !important;
+    }
+    .order-xl-4 {
+      order: 4 !important;
+    }
+    .order-xl-5 {
+      order: 5 !important;
+    }
+    .order-xl-last {
+      order: 6 !important;
+    }
+    .m-xl-0 {
+      margin: 0 !important;
+    }
+    .m-xl-1 {
+      margin: 0.25rem !important;
+    }
+    .m-xl-2 {
+      margin: 0.5rem !important;
+    }
+    .m-xl-3 {
+      margin: 1rem !important;
+    }
+    .m-xl-4 {
+      margin: 1.5rem !important;
+    }
+    .m-xl-5 {
+      margin: 3rem !important;
+    }
+    .m-xl-auto {
+      margin: auto !important;
+    }
+    .mx-xl-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-xl-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-xl-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-xl-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-xl-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-xl-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-xl-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-xl-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-xl-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-xl-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-xl-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-xl-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-xl-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-xl-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-xl-0 {
+      margin-top: 0 !important;
+    }
+    .mt-xl-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-xl-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-xl-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-xl-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-xl-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-xl-auto {
+      margin-top: auto !important;
+    }
+    .me-xl-0 {
+      margin-right: 0 !important;
+    }
+    .me-xl-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-xl-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-xl-3 {
+      margin-right: 1rem !important;
+    }
+    .me-xl-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-xl-5 {
+      margin-right: 3rem !important;
+    }
+    .me-xl-auto {
+      margin-right: auto !important;
+    }
+    .mb-xl-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-xl-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-xl-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-xl-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-xl-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-xl-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-xl-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-xl-0 {
+      margin-left: 0 !important;
+    }
+    .ms-xl-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-xl-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-xl-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-xl-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-xl-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-xl-auto {
+      margin-left: auto !important;
+    }
+    .p-xl-0 {
+      padding: 0 !important;
+    }
+    .p-xl-1 {
+      padding: 0.25rem !important;
+    }
+    .p-xl-2 {
+      padding: 0.5rem !important;
+    }
+    .p-xl-3 {
+      padding: 1rem !important;
+    }
+    .p-xl-4 {
+      padding: 1.5rem !important;
+    }
+    .p-xl-5 {
+      padding: 3rem !important;
+    }
+    .px-xl-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-xl-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-xl-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-xl-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-xl-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-xl-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-xl-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-xl-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-xl-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-xl-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-xl-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-xl-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-xl-0 {
+      padding-top: 0 !important;
+    }
+    .pt-xl-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-xl-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-xl-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-xl-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-xl-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-xl-0 {
+      padding-right: 0 !important;
+    }
+    .pe-xl-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-xl-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-xl-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-xl-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-xl-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-xl-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-xl-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-xl-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-xl-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-xl-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-xl-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-xl-0 {
+      padding-left: 0 !important;
+    }
+    .ps-xl-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-xl-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-xl-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-xl-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-xl-5 {
+      padding-left: 3rem !important;
+    }
+  }
+  @media (min-width: 1400px) {
+    .d-xxl-inline {
+      display: inline !important;
+    }
+    .d-xxl-inline-block {
+      display: inline-block !important;
+    }
+    .d-xxl-block {
+      display: block !important;
+    }
+    .d-xxl-grid {
+      display: grid !important;
+    }
+    .d-xxl-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-xxl-table {
+      display: table !important;
+    }
+    .d-xxl-table-row {
+      display: table-row !important;
+    }
+    .d-xxl-table-cell {
+      display: table-cell !important;
+    }
+    .d-xxl-flex {
+      display: flex !important;
+    }
+    .d-xxl-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-xxl-flow-root {
+      display: flow-root !important;
+    }
+    .d-xxl-none {
+      display: none !important;
+    }
+    .flex-xxl-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-xxl-row {
+      flex-direction: row !important;
+    }
+    .flex-xxl-column {
+      flex-direction: column !important;
+    }
+    .flex-xxl-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-xxl-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-xxl-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-xxl-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-xxl-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-xxl-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-xxl-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-xxl-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-xxl-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-xxl-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-xxl-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-xxl-center {
+      justify-content: center !important;
+    }
+    .justify-content-xxl-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-xxl-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-xxl-evenly {
+      justify-content: space-evenly !important;
+    }
+    .align-items-xxl-start {
+      align-items: flex-start !important;
+    }
+    .align-items-xxl-end {
+      align-items: flex-end !important;
+    }
+    .align-items-xxl-center {
+      align-items: center !important;
+    }
+    .align-items-xxl-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-xxl-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-xxl-start {
+      align-content: flex-start !important;
+    }
+    .align-content-xxl-end {
+      align-content: flex-end !important;
+    }
+    .align-content-xxl-center {
+      align-content: center !important;
+    }
+    .align-content-xxl-between {
+      align-content: space-between !important;
+    }
+    .align-content-xxl-around {
+      align-content: space-around !important;
+    }
+    .align-content-xxl-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-xxl-auto {
+      align-self: auto !important;
+    }
+    .align-self-xxl-start {
+      align-self: flex-start !important;
+    }
+    .align-self-xxl-end {
+      align-self: flex-end !important;
+    }
+    .align-self-xxl-center {
+      align-self: center !important;
+    }
+    .align-self-xxl-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-xxl-stretch {
+      align-self: stretch !important;
+    }
+    .order-xxl-first {
+      order: -1 !important;
+    }
+    .order-xxl-0 {
+      order: 0 !important;
+    }
+    .order-xxl-1 {
+      order: 1 !important;
+    }
+    .order-xxl-2 {
+      order: 2 !important;
+    }
+    .order-xxl-3 {
+      order: 3 !important;
+    }
+    .order-xxl-4 {
+      order: 4 !important;
+    }
+    .order-xxl-5 {
+      order: 5 !important;
+    }
+    .order-xxl-last {
+      order: 6 !important;
+    }
+    .m-xxl-0 {
+      margin: 0 !important;
+    }
+    .m-xxl-1 {
+      margin: 0.25rem !important;
+    }
+    .m-xxl-2 {
+      margin: 0.5rem !important;
+    }
+    .m-xxl-3 {
+      margin: 1rem !important;
+    }
+    .m-xxl-4 {
+      margin: 1.5rem !important;
+    }
+    .m-xxl-5 {
+      margin: 3rem !important;
+    }
+    .m-xxl-auto {
+      margin: auto !important;
+    }
+    .mx-xxl-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-xxl-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-xxl-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-xxl-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-xxl-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-xxl-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-xxl-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-xxl-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-xxl-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-xxl-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-xxl-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-xxl-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-xxl-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-xxl-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-xxl-0 {
+      margin-top: 0 !important;
+    }
+    .mt-xxl-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-xxl-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-xxl-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-xxl-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-xxl-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-xxl-auto {
+      margin-top: auto !important;
+    }
+    .me-xxl-0 {
+      margin-right: 0 !important;
+    }
+    .me-xxl-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-xxl-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-xxl-3 {
+      margin-right: 1rem !important;
+    }
+    .me-xxl-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-xxl-5 {
+      margin-right: 3rem !important;
+    }
+    .me-xxl-auto {
+      margin-right: auto !important;
+    }
+    .mb-xxl-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-xxl-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-xxl-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-xxl-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-xxl-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-xxl-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-xxl-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-xxl-0 {
+      margin-left: 0 !important;
+    }
+    .ms-xxl-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-xxl-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-xxl-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-xxl-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-xxl-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-xxl-auto {
+      margin-left: auto !important;
+    }
+    .p-xxl-0 {
+      padding: 0 !important;
+    }
+    .p-xxl-1 {
+      padding: 0.25rem !important;
+    }
+    .p-xxl-2 {
+      padding: 0.5rem !important;
+    }
+    .p-xxl-3 {
+      padding: 1rem !important;
+    }
+    .p-xxl-4 {
+      padding: 1.5rem !important;
+    }
+    .p-xxl-5 {
+      padding: 3rem !important;
+    }
+    .px-xxl-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-xxl-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-xxl-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-xxl-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-xxl-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-xxl-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-xxl-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-xxl-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-xxl-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-xxl-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-xxl-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-xxl-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-xxl-0 {
+      padding-top: 0 !important;
+    }
+    .pt-xxl-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-xxl-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-xxl-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-xxl-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-xxl-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-xxl-0 {
+      padding-right: 0 !important;
+    }
+    .pe-xxl-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-xxl-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-xxl-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-xxl-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-xxl-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-xxl-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-xxl-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-xxl-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-xxl-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-xxl-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-xxl-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-xxl-0 {
+      padding-left: 0 !important;
+    }
+    .ps-xxl-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-xxl-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-xxl-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-xxl-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-xxl-5 {
+      padding-left: 3rem !important;
+    }
+  }
+  @media print {
+    .d-print-inline {
+      display: inline !important;
+    }
+    .d-print-inline-block {
+      display: inline-block !important;
+    }
+    .d-print-block {
+      display: block !important;
+    }
+    .d-print-grid {
+      display: grid !important;
+    }
+    .d-print-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-print-table {
+      display: table !important;
+    }
+    .d-print-table-row {
+      display: table-row !important;
+    }
+    .d-print-table-cell {
+      display: table-cell !important;
+    }
+    .d-print-flex {
+      display: flex !important;
+    }
+    .d-print-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-print-flow-root {
+      display: flow-root !important;
+    }
+    .d-print-none {
+      display: none !important;
+    }
+  }
+}
+
+/*# sourceMappingURL=bootstrap-grid.css.map */
index 492db77e50a2241fcc531ebd7bad5c4830d38643..cdc636dfebd6bf1aae90e426105f5ebb62f47a90 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","bootstrap-grid.css","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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EE,mBAAA;EJ6+BR;EI1+BM;;IAEE,mBAAA;EJ4+BR;AACF;AKpiCQ;EAOI,0BAAA;ALgiCZ;;AKviCQ;EAOI,gCAAA;ALoiCZ;;AK3iCQ;EAOI,yBAAA;ALwiCZ;;AK/iCQ;EAOI,wBAAA;AL4iCZ;;AKnjCQ;EAOI,+BAAA;ALgjCZ;;AKvjCQ;EAOI,yBAAA;ALojCZ;;AK3jCQ;EAOI,6BAAA;ALwjCZ;;AK/jCQ;EAOI,8BAAA;AL4jCZ;;AKnkCQ;EAOI,wBAAA;ALgkCZ;;AKvkCQ;EAOI,+BAAA;ALokCZ;;AK3kCQ;EAOI,wBAAA;ALwkCZ;;AK/kCQ;EAOI,yBAAA;AL4kCZ;;AKnlCQ;EAOI,8BAAA;ALglCZ;;AKvlCQ;EAOI,iCAAA;ALolCZ;;AK3lCQ;EAOI,sCAAA;ALwlCZ;;AK/lCQ;EAOI,yCAAA;AL4lCZ;;AKnmCQ;EAOI,uBAAA;ALgmCZ;;AKvmCQ;EAOI,uBAAA;ALomCZ;;AK3mCQ;EAOI,yBAAA;ALwmCZ;;AK/mCQ;EAOI,yBAAA;AL4mCZ;;AKnnCQ;EAOI,0BAAA;ALgnCZ;;AKvnCQ;EAOI,4BAAA;ALonCZ;;AK3nCQ;EAOI,kCAAA;ALwnCZ;;AK/nCQ;EAOI,sCAAA;AL4nCZ;;AKnoCQ;EAOI,oCAAA;ALgoCZ;;AKvoCQ;EAOI,kCAAA;ALooCZ;;AK3oCQ;EAOI,yCAAA;ALwoCZ;;AK/oCQ;EAOI,wCAAA;AL4oCZ;;AKnpCQ;EAOI,wCAAA;ALgpCZ;;AKvpCQ;EAOI,kCAAA;ALopCZ;;AK3pCQ;EAOI,gCAAA;ALwpCZ;;AK/pCQ;EAOI,8BAAA;AL4pCZ;;AKnqCQ;EAOI,gCAAA;ALgqCZ;;AKvqCQ;EAOI,+BAAA;ALoqCZ;;AK3qCQ;EAOI,oCAAA;ALwqCZ;;AK/qCQ;EAOI,kCAAA;AL4qCZ;;AKnrCQ;EAOI,gCAAA;ALgrCZ;;AKvrCQ;EAOI,uCAAA;ALorCZ;;AK3rCQ;EAOI,sCAAA;ALwrCZ;;AK/rCQ;EAOI,iCAAA;AL4rCZ;;AKnsCQ;EAOI,2BAAA;ALgsCZ;;AKvsCQ;EAOI,iCAAA;ALosCZ;;AK3sCQ;EAOI,+BAAA;ALwsCZ;;AK/sCQ;EAOI,6BAAA;AL4sCZ;;AKntCQ;EA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;AL8iDZ;;AKrjDQ;EAOI,4BAAA;ALkjDZ;;AKzjDQ;EAOI,2BAAA;ALsjDZ;;AK7jDQ;EAOI,iCAAA;AL0jDZ;;AKjkDQ;EAOI,gCAAA;AL8jDZ;;AKrkDQ;EAOI,8BAAA;ALkkDZ;;AKzkDQ;EAOI,gCAAA;ALskDZ;;AK7kDQ;EAOI,8BAAA;AL0kDZ;;AKjlDQ;EAOI,4BAAA;AL8kDZ;;AKrlDQ;EAOI,kCAAA;ALklDZ;;AKzlDQ;EAOI,iCAAA;ALslDZ;;AK7lDQ;EAOI,+BAAA;AL0lDZ;;AKjmDQ;EAOI,iCAAA;AL8lDZ;;AKrmDQ;EAOI,+BAAA;ALkmDZ;;AKzmDQ;EAOI,0BAAA;ALsmDZ;;AK7mDQ;EAOI,gCAAA;AL0mDZ;;AKjnDQ;EAOI,+BAAA;AL8mDZ;;AKrnDQ;EAOI,6BAAA;ALknDZ;;AKznDQ;EAOI,+BAAA;ALsnDZ;;AK7nDQ;EAOI,6BAAA;AL0nDZ;;ACpoDI;EIGI;IAOI,0BAAA;EL+nDV;EKtoDM;IAOI,gCAAA;ELkoDV;EKzoDM;IAOI,yBAAA;ELqoDV;EK5oDM;IAOI,wBAAA;ELwoDV;EK/oDM;IAOI,+BAAA;EL2oDV;EKlpDM;IAOI,yBAAA;EL8oDV;EKrpDM;IAOI,6BAAA;ELipDV;EKxpDM;IAOI,8BAAA;ELopDV;EK3pDM;IAOI,wBAAA;ELupDV;EK9pDM;IAOI,+BAAA;EL0pDV;EKjqDM;IAOI,wBAAA;EL6pDV;EKpqDM;IAOI,yBAAA;ELgqDV;EKvqDM;IAOI,8BAAA;ELmqDV;EK1qDM;IAOI,iCAAA;ELsqDV;EK7qDM;IAOI,sCAAA;ELyqDV;EKhrDM;IAOI,yCAAA;EL4qDV;EKnrDM;IAOI,uBAAA;EL+qDV;EKtrDM;IAOI,uBAAA;ELkrDV;EKzrDM;IAOI,yBAAA;ELqrDV;EK5rDM;IAOI,yBAAA;ELwrDV;EK/rDM;IAOI,0BAAA;EL2rDV;EKlsDM;IAOI,4BAAA;EL8rDV;EKrsDM;IAOI,kCAAA;ELisDV;EKxsDM;IAOI,sCAAA;ELosDV;EK3sDM;IAOI,oCAAA;ELusDV;EK9sDM;IAOI,kCAAA;EL0sDV;EKjtDM;IAOI,yCAAA;EL6sDV;EKptDM;IAOI,wCAAA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nEV;EK/nEM;IAOI,yCAAA;EL2nEV;EKloEM;IAOI,uBAAA;EL8nEV;EKroEM;IAOI,uBAAA;ELioEV;EKxoEM;IAOI,yBAAA;ELooEV;EK3oEM;IAOI,yBAAA;ELuoEV;EK9oEM;IAOI,0BAAA;EL0oEV;EKjpEM;IAOI,4BAAA;EL6oEV;EKppEM;IAOI,kCAAA;ELgpEV;EKvpEM;IAOI,sCAAA;ELmpEV;EK1pEM;IAOI,oCAAA;ELspEV;EK7pEM;IAOI,kCAAA;ELypEV;EKhqEM;IAOI,yCAAA;EL4pEV;EKnqEM;IAOI,wCAAA;EL+pEV;EKtqEM;IAOI,wCAAA;ELkqEV;EKzqEM;IAOI,kCAAA;ELqqEV;EK5qEM;IAOI,gCAAA;ELwqEV;EK/qEM;IAOI,8BAAA;EL2qEV;EKlrEM;IAOI,gCAAA;EL8qEV;EKrrEM;IAOI,+BAAA;ELirEV;EKxrEM;IAOI,oCAAA;ELorEV;EK3rEM;IAOI,kCAAA;ELurEV;EK9rEM;IAOI,gCAAA;EL0rEV;EKjsEM;IAOI,uCAAA;EL6rEV;EKpsEM;IAOI,sCAAA;ELgsEV;EKvsEM;IAOI,iCAAA;ELmsEV;EK1sEM;IAOI,2BAAA;ELssEV;EK7sEM;IAOI,iCAAA;ELysEV;EKhtEM;IAOI,+BAAA;EL4sEV;EKntEM;IAOI,6BAAA;EL+sEV;EKttEM;IAOI,+BAAA;ELktEV;EKztEM;IAOI,8BAAA;ELqtEV;EK5tEM;IAOI,oBAAA;ELwtEV;EK/tEM;IAOI,mBAAA;EL2tEV;EKluEM;IAOI,mBAAA;EL8tEV;EKruEM;IAOI,mBAAA;ELiuEV;EKxuEM;IAOI,mBAAA;ELouEV;EK3uEM;IAOI,mBAAA;ELuuEV;EK9uEM;IAOI,mBAAA;EL0uEV;EKjvEM;IAOI,mBAAA;EL6uEV;EKpvEM;IAOI,oBAAA;ELgvEV;EKvvEM;IAOI,0BAAA;ELmvEV;EK1vEM;IAOI,yBAAA;ELsvEV;EK7vEM;IAOI,uBAAA;ELyvEV;EKhwEM;IAOI,yBAAA;EL4vEV;EKnwEM;IAOI,uBAAA;EL+vEV;EKtwEM;IAOI,uBAAA;ELkwEV;EKzwEM;IAOI,0BAAA;IAAA,yBAAA;ELswEV;EK7wEM;IAO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EKviFM;IAOI,yBAAA;ELmiFV;EK1iFM;IAOI,wBAAA;ELsiFV;EK7iFM;IAOI,+BAAA;ELyiFV;EKhjFM;IAOI,yBAAA;EL4iFV;EKnjFM;IAOI,6BAAA;EL+iFV;EKtjFM;IAOI,8BAAA;ELkjFV;EKzjFM;IAOI,wBAAA;ELqjFV;EK5jFM;IAOI,+BAAA;ELwjFV;EK/jFM;IAOI,wBAAA;EL2jFV;EKlkFM;IAOI,yBAAA;EL8jFV;EKrkFM;IAOI,8BAAA;ELikFV;EKxkFM;IAOI,iCAAA;ELokFV;EK3kFM;IAOI,sCAAA;ELukFV;EK9kFM;IAOI,yCAAA;EL0kFV;EKjlFM;IAOI,uBAAA;EL6kFV;EKplFM;IAOI,uBAAA;ELglFV;EKvlFM;IAOI,yBAAA;ELmlFV;EK1lFM;IAOI,yBAAA;ELslFV;EK7lFM;IAOI,0BAAA;ELylFV;EKhmFM;IAOI,4BAAA;EL4lFV;EKnmFM;IAOI,kCAAA;EL+lFV;EKtmFM;IAOI,sCAAA;ELkmFV;EKzmFM;IAOI,oCAAA;ELqmFV;EK5mFM;IAOI,kCAAA;ELwmFV;EK/mFM;IAOI,yCAAA;EL2mFV;EKlnFM;IAOI,wCAAA;EL8mFV;EKrnFM;IAOI,wCAAA;ELinFV;EKxnFM;IAOI,kCAAA;ELonFV;EK3nFM;IAOI,gCAAA;ELunFV;EK9nFM;IAOI,8BAAA;EL0nFV;EKjoFM;IAOI,gCAAA;EL6nFV;EKpoFM;IAOI,+BAAA;ELgoFV;EKvoFM;IAOI,oCAAA;ELmoFV;EK1oFM;IAOI,kCAAA;ELsoFV;EK7oFM;IAOI,gCAAA;ELyoFV;EKhpFM;IAOI,uCAAA;EL4oFV;EKnpFM;IAOI,sCAAA;EL+oFV;EKtpFM;IAOI,iCAAA;ELkpFV;EKzpFM;IAOI,2BAAA;ELqpFV;EK5pFM;IAOI,iCAAA;ELwpFV;EK/pFM;IAOI,+BAAA;EL2pFV;EKlqFM;IAOI,6BAAA;EL8pFV;EKrqFM;IAOI,+BAAA;ELiqFV;EKxqFM;IAOI,8BAAA;ELoqFV;EK3qFM;IAOI,oBAAA;ELuqFV;EK9qFM;IAOI,mBAAA;EL0qFV;EKjrFM;IAOI,mBAAA;EL6qFV;EKprFM;IAOI,mBAAA;ELgrFV;EKvrFM;IAOI,mBAAA;ELmrFV;EK1rFM;IAOI,mBAAA;ELsrFV;EK7rFM;IAOI,mBAAA;ELyrFV;EKhsFM;IAOI,mBAAA;EL4rFV;EKnsFM;IAOI,oBAAA;EL+rFV;EKtsFM;IAOI,0BAAA;ELksFV;EKzsFM;IAOI,yBAAA;ELqsFV;EK5sFM;IAOI,uBAAA;ELwsFV;EK/sFM;IAOI,yBAAA;EL2sFV;EKltFM;IAOI,uBAAA;EL8sFV;EKrtFM;IAOI,uBAAA;ELitFV;EKxtFM;IAOI,0BAAA;IAAA,yBAAA;ELqtFV;EK5tFM;IAOI,gCAAA;IAAA,+BAAA;ELytFV;EKhuFM;IAOI,+BAAA;IAAA,8BAAA;EL6tFV;EKpuFM;IAOI,6BAAA;IAAA,4BAAA;ELiuFV;EKxuFM;IAOI,+BAAA;IAAA,8BAAA;ELquFV;EK5uFM;IAOI,6BAAA;IAAA,4BAAA;ELyuFV;EKhvFM;IAOI,6BAAA;IAAA,4BAAA;EL6uFV;EKpvFM;IAOI,wBAAA;IAAA,2BAAA;ELivFV;EKxvFM;IAOI,8BAAA;IAAA,iCAAA;ELqvFV;EK5vFM;IAOI,6BAAA;IAAA,gCAAA;ELyvFV;EKhwFM;IAOI,2BAAA;IAAA,8BAAA;EL6vFV;EKpwFM;IAOI,6BAAA;IAAA,gCAAA;ELiwFV;EKxwFM;IAOI,2BAAA;IAAA,8BAAA;ELqwFV;EK5wFM;IAOI,2BAAA;IAAA,8BAAA;ELywFV;EKhxFM;IAOI,wBAAA;EL4wFV;EKnxFM;IAOI,8BAAA;EL+wFV;EKtxFM;IAOI,6BAAA;ELkxFV;EKzxFM;IAOI,2BAAA;ELqxFV;EK5xFM;IAOI,6BAAA;ELwxFV;EK/xFM;IAOI,2BAAA;EL2xFV;EKlyFM;IAOI,2BAAA;EL8xFV;EKryFM;IAOI,0BAAA;ELiyFV;EKxyFM;IAOI,gCAAA;ELoyFV;EK3yFM;IAOI,+BAAA;ELuyFV;EK9yFM;IAOI,6BAAA;EL0yFV;EKjzFM;IAOI,+BAAA;EL6yFV;EKpzFM;IAOI,6BAAA;ELgzFV;EKvzFM;IAOI,6BAAA;ELmzFV;EK1zFM;IAOI,2BAAA;ELszFV;EK7zFM;IAOI,iCAAA;ELyzFV;EKh0FM;IAOI,gCAAA;EL4zFV;EKn0FM;IAOI,8BAAA;EL+zFV;EKt0FM;IAOI,gCAAA;ELk0FV;EKz0FM;IAOI,8BAAA;ELq0FV;EK50FM;IAOI,8BAAA;ELw0FV;EK/0FM;IAOI,yBAAA;EL20FV;EKl1FM;IAOI,+BAAA;EL80FV;EKr1FM;IAOI,8BAAA;ELi1FV;EKx1FM;IAOI,4BAAA;ELo1FV;EK31FM;IAOI,8BAAA;ELu1FV;EK91FM;IAOI,4BAAA;EL01FV;EKj2FM;IAOI,4BAAA;EL61FV;EKp2FM;IAOI,qBAAA;ELg2FV;EKv2FM;IAOI,2BAAA;ELm2FV;EK12FM;IAOI,0BAAA;ELs2FV;EK72FM;IAOI,wBAAA;ELy2FV;EKh3FM;IAOI,0BAAA;EL42FV;EKn3FM;IAOI,wBAAA;EL+2FV;EKt3FM;IAOI,2BAAA;IAAA,0BAAA;ELm3FV;EK13FM;IAOI,iCAAA;IAAA,gCAAA;ELu3FV;EK93FM;IAOI,gCAAA;IAAA,+BAAA;EL23FV;EKl4FM;IAOI,8BAAA;IAAA,6BAAA;EL+3FV;EKt4FM;IAOI,gCAAA;IAAA,+BAAA;ELm4FV;EK14FM;IAOI,8BAAA;IAAA,6BAAA;ELu4FV;EK94FM;IAOI,yBAAA;IAAA,4BAAA;EL24FV;EKl5FM;IAOI,+BAAA;IAAA,kCAAA;EL+4FV;EKt5FM;IAOI,8BAAA;IAAA,iCAAA;ELm5FV;EK15FM;IAOI,4BAAA;IAAA,+BAAA;ELu5FV;EK95FM;IAOI,8BAAA;IAAA,iCAAA;EL25FV;EKl6FM;IAOI,4BAAA;IAAA,+BAAA;EL+5FV;EKt6FM;IAOI,yBAAA;ELk6FV;EKz6FM;IAOI,+BAAA;ELq6FV;EK56FM;IAOI,8BAAA;ELw6FV;EK/6FM;IAOI,4BAAA;EL26FV;EKl7FM;IAOI,8BAAA;EL86FV;EKr7FM;IAOI,4BAAA;ELi7FV;EKx7FM;IAOI,2BAAA;ELo7FV;EK37FM;IAOI,iCAAA;ELu7FV;EK97FM;IAOI,gCAAA;EL07FV;EKj8FM;IAOI,8BAAA;EL67FV;EKp8FM;IAOI,gCAAA;ELg8FV;EKv8FM;IAOI,8BAAA;ELm8FV;EK18FM;IAOI,4BAAA;ELs8FV;EK78FM;IAOI,kCAAA;ELy8FV;EKh9FM;IAOI,iCAAA;EL48FV;EKn9FM;IAOI,+BAAA;EL+8FV;EKt9FM;IAOI,iCAAA;ELk9FV;EKz9FM;IAOI,+BAAA;ELq9FV;EK59FM;IAOI,0BAAA;ELw9FV;EK/9FM;IAOI,gCAAA;EL29FV;EKl+FM;IAOI,+BAAA;EL89FV;EKr+FM;IAOI,6BAAA;ELi+FV;EKx+FM;IAOI,+BAAA;ELo+FV;EK3+FM;IAOI,6BAAA;ELu+FV;AACF;ACl/FI;EIGI;IAOI,0BAAA;EL4+FV;EKn/FM;IAOI,gCAAA;EL++FV;EKt/FM;IAOI,yBAAA;ELk/FV;EKz/FM;IAOI,wBAAA;ELq/FV;EK5/FM;IAOI,+BAAA;ELw/FV;EK//FM;IAOI,yBAAA;EL2/FV;EKlgGM;IAOI,6BAAA;EL8/FV;EKrgGM;IAOI,8BAAA;ELigGV;EKxgGM;IAOI,wBAAA;ELogGV;EK3gGM;IAOI,+BAAA;ELugGV;EK9gGM;IAOI,wBAAA;EL0gGV;EKjhGM;IAOI,yBAAA;EL6gGV;EKphGM;IAOI,8BAAA;ELghGV;EKvhGM;IAOI,iCAAA;ELmhGV;EK1hGM;IAOI,sCAAA;ELshGV;EK7hGM;IAOI,yCAAA;ELyhGV;EKhiGM;IAOI,uBAAA;EL4hGV;EKniGM;IAOI,uBAAA;EL+hGV;EKtiGM;IAOI,yBAAA;ELkiGV;EKziGM;IAOI,yBAAA;ELqiGV;EK5iGM;IAOI,0BAAA;ELwiGV;EK/iGM;IAOI,4BAAA;EL2iGV;EKljGM;IAOI,kCAAA;EL8iGV;EKrjGM;IAOI,sCAAA;ELijGV;EKxjGM;IAOI,oCAAA;ELojGV;EK3jGM;IAOI,kCAAA;ELujGV;EK9jGM;IAOI,yCAAA;EL0jGV;EKjkGM;IAOI,wCAAA;EL6jGV;EKpkGM;IAOI,wCAAA;ELgkGV;EKvkGM;IAOI,kCAAA;ELmkGV;EK1kGM;IAOI,gCAAA;ELskGV;EK7kGM;IAOI,8BAAA;ELykGV;EKhlGM;IAOI,gCAAA;EL4kGV;EKnlGM;IAOI,+BAAA;EL+kGV;EKtlGM;IAOI,oCAAA;ELklGV;EKzlGM;IAOI,kCAAA;ELqlGV;EK5lGM;IAOI,gCAAA;ELwlGV;EK/lGM;IAOI,uCAAA;EL2lGV;EKlmGM;IAOI,sCAAA;EL8lGV;EKrmGM;IAOI,iCAAA;ELimGV;EKxmGM;IAOI,2BAAA;ELomGV;EK3mGM;IAOI,iCAAA;ELumGV;EK9mGM;IAOI,+BAAA;EL0mGV;EKjnGM;IAOI,6BAAA;EL6mGV;EKpnGM;IAOI,+BAAA;ELgnGV;EKvnGM;IAOI,8BAAA;ELmnGV;EK1nGM;IAOI,oBAAA;ELsnGV;EK7nGM;IAOI,mBAAA;ELynGV;EKhoGM;IAOI,mBAAA;EL4nGV;EKnoGM;IAOI,mBAAA;EL+nGV;EKtoGM;IAOI,mBAAA;ELkoGV;EKzoGM;IAOI,mBAAA;ELqoGV;EK5oGM;IAOI,mBAAA;ELwoGV;EK/oGM;IAOI,mBAAA;EL2oGV;EKlpGM;IAOI,oBAAA;EL8oGV;EKrpGM;IAOI,0BAAA;ELipGV;EKxpGM;IAOI,yBAAA;ELopGV;EK3pGM;IAOI,uBAAA;ELupGV;EK9pGM;IAOI,yBAAA;EL0pGV;EKjqGM;IAOI,uBAAA;EL6pGV;EKpqGM;IAOI,uBAAA;ELgqGV;EKvqGM;IAOI,0BAAA;IAAA,yBAAA;ELoqGV;EK3qGM;IAOI,gCAAA;IAAA,+BAAA;ELwqGV;EK/qGM;IAOI,+BAAA;IAAA,8BAAA;EL4qGV;EKnrGM;IAOI,6BAAA;IAAA,4BAAA;ELgrGV;EKvrGM;IAOI,+BAAA;IAAA,8BAAA;ELorGV;EK3rGM;IAOI,6BAAA;IAAA,4BAAA;ELwrGV;EK/rGM;IAOI,6BAAA;IAAA,4BAAA;EL4rGV;EKnsGM;IAOI,wBAAA;IAAA,2BAAA;ELgsGV;EKvsGM;IAOI,8BAAA;IAAA,iCAAA;ELosGV;EK3sGM;IAOI,6BAAA;IAAA,gCAAA;ELwsGV;EK/sGM;IAOI,2BAAA;IAAA,8BAAA;EL4sGV;EKntGM;IAOI,6BAAA;IAAA,gCAAA;ELgtGV;EKvtGM;IAOI,2BAAA;IAAA,8BAAA;ELotGV;EK3tGM;IAOI,2BAAA;IAAA,8BAAA;ELwtGV;EK/tGM;IAOI,wBAAA;EL2tGV;EKluGM;IAOI,8BAAA;EL8tGV;EKruGM;IAOI,6BAAA;ELiuGV;EKxuGM;IAOI,2BAAA;ELouGV;EK3uGM;IAOI,6BAAA;ELuuGV;EK9uGM;IAOI,2BAAA;EL0uGV;EKjvGM;IAOI,2BAAA;EL6uGV;EKpvGM;IAOI,0BAAA;ELgvGV;EKvvGM;IAOI,gCAAA;ELmvGV;EK1vGM;IAOI,+BAAA;ELsvGV;EK7vGM;IAOI,6BAAA;ELyvGV;EKhwGM;IAOI,+BAAA;EL4vGV;EKnwGM;IAOI,6BAAA;EL+vGV;EKtwGM;IAOI,6BAAA;ELkwGV;EKzwGM;IAOI,2BAAA;ELqwGV;EK5wGM;IAOI,iCAAA;ELwwGV;EK/wGM;IAOI,gCAAA;EL2wGV;EKlxGM;IAOI,8BAAA;EL8wGV;EKrxGM;IAOI,gCAAA;ELixGV;EKxxGM;IAOI,8BAAA;ELoxGV;EK3xGM;IAOI,8BAAA;ELuxGV;EK9xGM;IAOI,yBAAA;EL0xGV;EKjyGM;IAOI,+BAAA;EL6xGV;EKpyGM;IAOI,8BAAA;ELgyGV;EKvyGM;IAOI,4BAAA;ELmyGV;EK1yGM;IAOI,8BAAA;ELsyGV;EK7yGM;IAOI,4BAAA;ELyyGV;EKhzGM;IAOI,4BAAA;EL4yGV;EKnzGM;IAOI,qBAAA;EL+yGV;EKtzGM;IAOI,2BAAA;ELkzGV;EKzzGM;IAOI,0BAAA;ELqzGV;EK5zGM;IAOI,wBAAA;ELwzGV;EK/zGM;IAOI,0BAAA;EL2zGV;EKl0GM;IAOI,wBAAA;EL8zGV;EKr0GM;IAOI,2BAAA;IAAA,0BAAA;ELk0GV;EKz0GM;IAOI,iCAAA;IAAA,gCAAA;ELs0GV;EK70GM;IAOI,gCAAA;IAAA,+BAAA;EL00GV;EKj1GM;IAOI,8BAAA;IAAA,6BAAA;EL80GV;EKr1GM;IAOI,gCAAA;IAAA,+BAAA;ELk1GV;EKz1GM;IAOI,8BAAA;IAAA,6BAAA;ELs1GV;EK71GM;IAOI,yBAAA;IAAA,4BAAA;EL01GV;EKj2GM;IAOI,+BAAA;IAAA,kCAAA;EL81GV;EKr2GM;IAOI,8BAAA;IAAA,iCAAA;ELk2GV;EKz2GM;IAOI,4BAAA;IAAA,+BAAA;ELs2GV;EK72GM;IAOI,8BAAA;IAAA,iCAAA;EL02GV;EKj3GM;IAOI,4BAAA;IAAA,+BAAA;EL82GV;EKr3GM;IAOI,yBAAA;ELi3GV;EKx3GM;IAOI,+BAAA;ELo3GV;EK33GM;IAOI,8BAAA;ELu3GV;EK93GM;IAOI,4BAAA;EL03GV;EKj4GM;IAOI,8BAAA;EL63GV;EKp4GM;IAOI,4BAAA;ELg4GV;EKv4GM;IAOI,2BAAA;ELm4GV;EK14GM;IAOI,iCAAA;ELs4GV;EK74GM;IAOI,gCAAA;ELy4GV;EKh5GM;IAOI,8BAAA;EL44GV;EKn5GM;IAOI,gCAAA;EL+4GV;EKt5GM;IAOI,8BAAA;ELk5GV;EKz5GM;IAOI,4BAAA;ELq5GV;EK55GM;IAOI,kCAAA;ELw5GV;EK/5GM;IAOI,iCAAA;EL25GV;EKl6GM;IAOI,+BAAA;EL85GV;EKr6GM;IAOI,iCAAA;ELi6GV;EKx6GM;IAOI,+BAAA;ELo6GV;EK36GM;IAOI,0BAAA;ELu6GV;EK96GM;IAOI,gCAAA;EL06GV;EKj7GM;IAOI,+BAAA;EL66GV;EKp7GM;IAOI,6BAAA;ELg7GV;EKv7GM;IAOI,+BAAA;ELm7GV;EK17GM;IAOI,6BAAA;ELs7GV;AACF;ACj8GI;EIGI;IAOI,0BAAA;EL27GV;EKl8GM;IAOI,gCAAA;EL87GV;EKr8GM;IAOI,yBAAA;ELi8GV;EKx8GM;IAOI,wBAAA;ELo8GV;EK38GM;IAOI,+BAAA;ELu8GV;EK98GM;IAOI,yBAAA;EL08GV;EKj9GM;IAOI,6BAAA;EL68GV;EKp9GM;IAOI,8BAAA;ELg9GV;EKv9GM;IAOI,wBAAA;ELm9GV;EK19GM;IAOI,+BAAA;ELs9GV;EK79GM;IAOI,wBAAA;ELy9GV;EKh+GM;IAOI,yBAAA;EL49GV;EKn+GM;IAOI,8BAAA;EL+9GV;EKt+GM;IAOI,iCAAA;ELk+GV;EKz+GM;IAOI,sCAAA;ELq+GV;EK5+GM;IAOI,yCAAA;ELw+GV;EK/+GM;IAOI,uBAAA;EL2+GV;EKl/GM;IAOI,uBAAA;EL8+GV;EKr/GM;IAOI,yBAAA;ELi/GV;EKx/GM;IAOI,yBAAA;ELo/GV;EK3/GM;IAOI,0BAAA;ELu/GV;EK9/GM;IAOI,4BAAA;EL0/GV;EKjgHM;IAOI,kCAAA;EL6/GV;EKpgHM;IAOI,sCAAA;ELggHV;EKvgHM;I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","file":"bootstrap-grid.css","sourcesContent":["@mixin bsBanner($file) {\n  /*!\n   * Bootstrap #{$file} v5.3.8 (https://getbootstrap.com/)\n   * Copyright 2011-2025 The Bootstrap Authors\n   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n   */\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\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      %responsive-container-#{$breakpoint} {\n        max-width: $container-max-width;\n      }\n\n      // Extend each breakpoint which is smaller or equal to the current breakpoint\n      $extend-breakpoint: true;\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","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  width: 100%;\n  padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n  padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n  margin-right: auto;\n  margin-left: auto;\n}\n","/*!\n * Bootstrap Grid v5.3.8 (https://getbootstrap.com/)\n * Copyright 2011-2025 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n  --bs-gutter-x: 1.5rem;\n  --bs-gutter-y: 0;\n  width: 100%;\n  padding-right: calc(var(--bs-gutter-x) * 0.5);\n  padding-left: calc(var(--bs-gutter-x) * 0.5);\n  margin-right: auto;\n  margin-left: auto;\n}\n\n@media (min-width: 576px) {\n  .container-sm, .container {\n    max-width: 540px;\n  }\n}\n@media (min-width: 768px) {\n  .container-md, .container-sm, .container {\n    max-width: 720px;\n  }\n}\n@media (min-width: 992px) {\n  .container-lg, .container-md, .container-sm, .container {\n    max-width: 960px;\n  }\n}\n@media (min-width: 1200px) {\n  .container-xl, .container-lg, .container-md, .container-sm, .container {\n    max-width: 1140px;\n  }\n}\n@media (min-width: 1400px) {\n  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n    max-width: 1320px;\n  }\n}\n:root {\n  --bs-breakpoint-xs: 0;\n  --bs-breakpoint-sm: 576px;\n  --bs-breakpoint-md: 768px;\n  --bs-breakpoint-lg: 992px;\n  --bs-breakpoint-xl: 1200px;\n  --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n  --bs-gutter-x: 1.5rem;\n  --bs-gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  margin-top: calc(-1 * var(--bs-gutter-y));\n  margin-right: calc(-0.5 * var(--bs-gutter-x));\n  margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n  box-sizing: border-box;\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%;\n  padding-right: calc(var(--bs-gutter-x) * 0.5);\n  padding-left: calc(var(--bs-gutter-x) * 0.5);\n  margin-top: var(--bs-gutter-y);\n}\n\n.col {\n  flex: 1 0 0;\n}\n\n.row-cols-auto > * {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n.row-cols-1 > * {\n  flex: 0 0 auto;\n  width: 100%;\n}\n\n.row-cols-2 > * {\n  flex: 0 0 auto;\n  width: 50%;\n}\n\n.row-cols-3 > * {\n  flex: 0 0 auto;\n  width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n  flex: 0 0 auto;\n  width: 25%;\n}\n\n.row-cols-5 > * {\n  flex: 0 0 auto;\n  width: 20%;\n}\n\n.row-cols-6 > * {\n  flex: 0 0 auto;\n  width: 16.66666667%;\n}\n\n.col-auto {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n.col-1 {\n  flex: 0 0 auto;\n  width: 8.33333333%;\n}\n\n.col-2 {\n  flex: 0 0 auto;\n  width: 16.66666667%;\n}\n\n.col-3 {\n  flex: 0 0 auto;\n  width: 25%;\n}\n\n.col-4 {\n  flex: 0 0 auto;\n  width: 33.33333333%;\n}\n\n.col-5 {\n  flex: 0 0 auto;\n  width: 41.66666667%;\n}\n\n.col-6 {\n  flex: 0 0 auto;\n  width: 50%;\n}\n\n.col-7 {\n  flex: 0 0 auto;\n  width: 58.33333333%;\n}\n\n.col-8 {\n  flex: 0 0 auto;\n  width: 66.66666667%;\n}\n\n.col-9 {\n  flex: 0 0 auto;\n  width: 75%;\n}\n\n.col-10 {\n  flex: 0 0 auto;\n  width: 83.33333333%;\n}\n\n.col-11 {\n  flex: 0 0 auto;\n  width: 91.66666667%;\n}\n\n.col-12 {\n  flex: 0 0 auto;\n  width: 100%;\n}\n\n.offset-1 {\n  margin-left: 8.33333333%;\n}\n\n.offset-2 {\n  margin-left: 16.66666667%;\n}\n\n.offset-3 {\n  margin-left: 25%;\n}\n\n.offset-4 {\n  margin-left: 33.33333333%;\n}\n\n.offset-5 {\n  margin-left: 41.66666667%;\n}\n\n.offset-6 {\n  margin-left: 50%;\n}\n\n.offset-7 {\n  margin-left: 58.33333333%;\n}\n\n.offset-8 {\n  margin-left: 66.66666667%;\n}\n\n.offset-9 {\n  margin-left: 75%;\n}\n\n.offset-10 {\n  margin-left: 83.33333333%;\n}\n\n.offset-11 {\n  margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n  --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n  --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n  --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n  --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n  --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n  --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n  --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n  --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n  --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n  --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n  --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n  --bs-gutter-y: 3rem;\n}\n\n@media (min-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.33333333%;\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.66666667%;\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.33333333%;\n  }\n  .col-sm-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\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.33333333%;\n  }\n  .col-sm-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\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.33333333%;\n  }\n  .col-sm-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\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.33333333%;\n  }\n  .col-sm-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-sm-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-sm-0 {\n    margin-left: 0;\n  }\n  .offset-sm-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-sm-0,\n  .gx-sm-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-sm-0,\n  .gy-sm-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-sm-1,\n  .gx-sm-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-sm-1,\n  .gy-sm-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-sm-2,\n  .gx-sm-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-sm-2,\n  .gy-sm-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-sm-3,\n  .gx-sm-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-sm-3,\n  .gy-sm-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-sm-4,\n  .gx-sm-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-sm-4,\n  .gy-sm-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-sm-5,\n  .gx-sm-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-sm-5,\n  .gy-sm-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n@media (min-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.33333333%;\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.66666667%;\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.33333333%;\n  }\n  .col-md-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\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.33333333%;\n  }\n  .col-md-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\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.33333333%;\n  }\n  .col-md-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\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.33333333%;\n  }\n  .col-md-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-md-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-md-0 {\n    margin-left: 0;\n  }\n  .offset-md-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-md-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n  .offset-md-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-md-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n  .offset-md-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-md-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n  .offset-md-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-md-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-md-0,\n  .gx-md-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-md-0,\n  .gy-md-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-md-1,\n  .gx-md-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-md-1,\n  .gy-md-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-md-2,\n  .gx-md-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-md-2,\n  .gy-md-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-md-3,\n  .gx-md-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-md-3,\n  .gy-md-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-md-4,\n  .gx-md-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-md-4,\n  .gy-md-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-md-5,\n  .gx-md-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-md-5,\n  .gy-md-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n@media (min-width: 992px) {\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.33333333%;\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.66666667%;\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.33333333%;\n  }\n  .col-lg-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\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.33333333%;\n  }\n  .col-lg-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\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.33333333%;\n  }\n  .col-lg-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\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.33333333%;\n  }\n  .col-lg-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-lg-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-lg-0 {\n    margin-left: 0;\n  }\n  .offset-lg-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-lg-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-lg-3 {\n    margin-left: 25%;\n  }\n  .offset-lg-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-lg-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-lg-6 {\n    margin-left: 50%;\n  }\n  .offset-lg-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-lg-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-lg-9 {\n    margin-left: 75%;\n  }\n  .offset-lg-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-lg-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-lg-0,\n  .gx-lg-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-lg-0,\n  .gy-lg-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-lg-1,\n  .gx-lg-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-lg-1,\n  .gy-lg-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-lg-2,\n  .gx-lg-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-lg-2,\n  .gy-lg-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-lg-3,\n  .gx-lg-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-lg-3,\n  .gy-lg-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-lg-4,\n  .gx-lg-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-lg-4,\n  .gy-lg-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-lg-5,\n  .gx-lg-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-lg-5,\n  .gy-lg-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n@media (min-width: 1200px) {\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.33333333%;\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.66666667%;\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.33333333%;\n  }\n  .col-xl-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\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.33333333%;\n  }\n  .col-xl-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\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.33333333%;\n  }\n  .col-xl-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\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.33333333%;\n  }\n  .col-xl-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-xl-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-xl-0 {\n    margin-left: 0;\n  }\n  .offset-xl-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-xl-0,\n  .gx-xl-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-xl-0,\n  .gy-xl-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-xl-1,\n  .gx-xl-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-xl-1,\n  .gy-xl-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-xl-2,\n  .gx-xl-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-xl-2,\n  .gy-xl-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-xl-3,\n  .gx-xl-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-xl-3,\n  .gy-xl-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-xl-4,\n  .gx-xl-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-xl-4,\n  .gy-xl-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-xl-5,\n  .gx-xl-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-xl-5,\n  .gy-xl-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n@media (min-width: 1400px) {\n  .col-xxl {\n    flex: 1 0 0;\n  }\n  .row-cols-xxl-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-xxl-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-xxl-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-xxl-3 > * {\n    flex: 0 0 auto;\n    width: 33.33333333%;\n  }\n  .row-cols-xxl-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-xxl-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-xxl-6 > * {\n    flex: 0 0 auto;\n    width: 16.66666667%;\n  }\n  .col-xxl-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-xxl-1 {\n    flex: 0 0 auto;\n    width: 8.33333333%;\n  }\n  .col-xxl-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\n  }\n  .col-xxl-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-xxl-4 {\n    flex: 0 0 auto;\n    width: 33.33333333%;\n  }\n  .col-xxl-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\n  }\n  .col-xxl-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-xxl-7 {\n    flex: 0 0 auto;\n    width: 58.33333333%;\n  }\n  .col-xxl-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\n  }\n  .col-xxl-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-xxl-10 {\n    flex: 0 0 auto;\n    width: 83.33333333%;\n  }\n  .col-xxl-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-xxl-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-xxl-0 {\n    margin-left: 0;\n  }\n  .offset-xxl-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-xxl-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-xxl-3 {\n    margin-left: 25%;\n  }\n  .offset-xxl-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-xxl-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-xxl-6 {\n    margin-left: 50%;\n  }\n  .offset-xxl-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-xxl-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-xxl-9 {\n    margin-left: 75%;\n  }\n  .offset-xxl-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-xxl-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-xxl-0,\n  .gx-xxl-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-xxl-0,\n  .gy-xxl-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-xxl-1,\n  .gx-xxl-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-xxl-1,\n  .gy-xxl-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-xxl-2,\n  .gx-xxl-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-xxl-2,\n  .gy-xxl-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-xxl-3,\n  .gx-xxl-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-xxl-3,\n  .gy-xxl-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-xxl-4,\n  .gx-xxl-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-xxl-4,\n  .gy-xxl-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-xxl-5,\n  .gx-xxl-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-xxl-5,\n  .gy-xxl-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-block {\n  display: block !important;\n}\n\n.d-grid {\n  display: grid !important;\n}\n\n.d-inline-grid {\n  display: inline-grid !important;\n}\n\n.d-table {\n  display: table !important;\n}\n\n.d-table-row {\n  display: table-row !important;\n}\n\n.d-table-cell {\n  display: table-cell !important;\n}\n\n.d-flex {\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: inline-flex !important;\n}\n\n.d-none {\n  display: none !important;\n}\n\n.flex-fill {\n  flex: 1 1 auto !important;\n}\n\n.flex-row {\n  flex-direction: row !important;\n}\n\n.flex-column {\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n  flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n  flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n  flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n  flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n  justify-content: space-evenly !important;\n}\n\n.align-items-start {\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  align-content: center !important;\n}\n\n.align-content-between {\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  align-self: auto !important;\n}\n\n.align-self-start {\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  align-self: stretch !important;\n}\n\n.order-first {\n  order: -1 !important;\n}\n\n.order-0 {\n  order: 0 !important;\n}\n\n.order-1 {\n  order: 1 !important;\n}\n\n.order-2 {\n  order: 2 !important;\n}\n\n.order-3 {\n  order: 3 !important;\n}\n\n.order-4 {\n  order: 4 !important;\n}\n\n.order-5 {\n  order: 5 !important;\n}\n\n.order-last {\n  order: 6 !important;\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mx-0 {\n  margin-right: 0 !important;\n  margin-left: 0 !important;\n}\n\n.mx-1 {\n  margin-right: 0.25rem !important;\n  margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n  margin-right: 0.5rem !important;\n  margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n  margin-right: 1rem !important;\n  margin-left: 1rem !important;\n}\n\n.mx-4 {\n  margin-right: 1.5rem !important;\n  margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n  margin-right: 3rem !important;\n  margin-left: 3rem !important;\n}\n\n.mx-auto {\n  margin-right: auto !important;\n  margin-left: auto !important;\n}\n\n.my-0 {\n  margin-top: 0 !important;\n  margin-bottom: 0 !important;\n}\n\n.my-1 {\n  margin-top: 0.25rem !important;\n  margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n  margin-top: 0.5rem !important;\n  margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n  margin-top: 1rem !important;\n  margin-bottom: 1rem !important;\n}\n\n.my-4 {\n  margin-top: 1.5rem !important;\n  margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n  margin-top: 3rem !important;\n  margin-bottom: 3rem !important;\n}\n\n.my-auto {\n  margin-top: auto !important;\n  margin-bottom: auto !important;\n}\n\n.mt-0 {\n  margin-top: 0 !important;\n}\n\n.mt-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n  margin-top: 1rem !important;\n}\n\n.mt-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n  margin-top: 3rem !important;\n}\n\n.mt-auto {\n  margin-top: auto !important;\n}\n\n.me-0 {\n  margin-right: 0 !important;\n}\n\n.me-1 {\n  margin-right: 0.25rem !important;\n}\n\n.me-2 {\n  margin-right: 0.5rem !important;\n}\n\n.me-3 {\n  margin-right: 1rem !important;\n}\n\n.me-4 {\n  margin-right: 1.5rem !important;\n}\n\n.me-5 {\n  margin-right: 3rem !important;\n}\n\n.me-auto {\n  margin-right: auto !important;\n}\n\n.mb-0 {\n  margin-bottom: 0 !important;\n}\n\n.mb-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n  margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n  margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n  margin-bottom: auto !important;\n}\n\n.ms-0 {\n  margin-left: 0 !important;\n}\n\n.ms-1 {\n  margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n  margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n  margin-left: 1rem !important;\n}\n\n.ms-4 {\n  margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n  margin-left: 3rem !important;\n}\n\n.ms-auto {\n  margin-left: auto !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.px-0 {\n  padding-right: 0 !important;\n  padding-left: 0 !important;\n}\n\n.px-1 {\n  padding-right: 0.25rem !important;\n  padding-left: 0.25rem !important;\n}\n\n.px-2 {\n  padding-right: 0.5rem !important;\n  padding-left: 0.5rem !important;\n}\n\n.px-3 {\n  padding-right: 1rem !important;\n  padding-left: 1rem !important;\n}\n\n.px-4 {\n  padding-right: 1.5rem !important;\n  padding-left: 1.5rem !important;\n}\n\n.px-5 {\n  padding-right: 3rem !important;\n  padding-left: 3rem !important;\n}\n\n.py-0 {\n  padding-top: 0 !important;\n  padding-bottom: 0 !important;\n}\n\n.py-1 {\n  padding-top: 0.25rem !important;\n  padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n  padding-top: 0.5rem !important;\n  padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n  padding-top: 1rem !important;\n  padding-bottom: 1rem !important;\n}\n\n.py-4 {\n  padding-top: 1.5rem !important;\n  padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n  padding-top: 3rem !important;\n  padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n  padding-top: 0 !important;\n}\n\n.pt-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n  padding-top: 1rem !important;\n}\n\n.pt-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n  padding-top: 3rem !important;\n}\n\n.pe-0 {\n  padding-right: 0 !important;\n}\n\n.pe-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n  padding-right: 1rem !important;\n}\n\n.pe-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-0 {\n  padding-bottom: 0 !important;\n}\n\n.pb-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n  padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n  padding-left: 0 !important;\n}\n\n.ps-1 {\n  padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n  padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n  padding-left: 1rem !important;\n}\n\n.ps-4 {\n  padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n  padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n  .d-sm-inline {\n    display: inline !important;\n  }\n  .d-sm-inline-block {\n    display: inline-block !important;\n  }\n  .d-sm-block {\n    display: block !important;\n  }\n  .d-sm-grid {\n    display: grid !important;\n  }\n  .d-sm-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-sm-table {\n    display: table !important;\n  }\n  .d-sm-table-row {\n    display: table-row !important;\n  }\n  .d-sm-table-cell {\n    display: table-cell !important;\n  }\n  .d-sm-flex {\n    display: flex !important;\n  }\n  .d-sm-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-sm-none {\n    display: none !important;\n  }\n  .flex-sm-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-sm-row {\n    flex-direction: row !important;\n  }\n  .flex-sm-column {\n    flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-sm-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-sm-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-sm-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-sm-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-sm-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-sm-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-sm-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-sm-start {\n    align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    align-content: center !important;\n  }\n  .align-content-sm-between {\n    align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    align-self: auto !important;\n  }\n  .align-self-sm-start {\n    align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    align-self: stretch !important;\n  }\n  .order-sm-first {\n    order: -1 !important;\n  }\n  .order-sm-0 {\n    order: 0 !important;\n  }\n  .order-sm-1 {\n    order: 1 !important;\n  }\n  .order-sm-2 {\n    order: 2 !important;\n  }\n  .order-sm-3 {\n    order: 3 !important;\n  }\n  .order-sm-4 {\n    order: 4 !important;\n  }\n  .order-sm-5 {\n    order: 5 !important;\n  }\n  .order-sm-last {\n    order: 6 !important;\n  }\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mx-sm-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-sm-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-sm-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-sm-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-sm-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-sm-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mt-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-sm-auto {\n    margin-top: auto !important;\n  }\n  .me-sm-0 {\n    margin-right: 0 !important;\n  }\n  .me-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .me-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .me-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-sm-0 {\n    margin-left: 0 !important;\n  }\n  .ms-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-sm-auto {\n    margin-left: auto !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .px-sm-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-sm-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-sm-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-sm-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-sm-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-sm-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pt-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pe-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-sm-0 {\n    padding-left: 0 !important;\n  }\n  .ps-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-sm-5 {\n    padding-left: 3rem !important;\n  }\n}\n@media (min-width: 768px) {\n  .d-md-inline {\n    display: inline !important;\n  }\n  .d-md-inline-block {\n    display: inline-block !important;\n  }\n  .d-md-block {\n    display: block !important;\n  }\n  .d-md-grid {\n    display: grid !important;\n  }\n  .d-md-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-md-table {\n    display: table !important;\n  }\n  .d-md-table-row {\n    display: table-row !important;\n  }\n  .d-md-table-cell {\n    display: table-cell !important;\n  }\n  .d-md-flex {\n    display: flex !important;\n  }\n  .d-md-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-md-none {\n    display: none !important;\n  }\n  .flex-md-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-md-row {\n    flex-direction: row !important;\n  }\n  .flex-md-column {\n    flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-md-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-md-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-md-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-md-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-md-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-md-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    justify-content: center !important;\n  }\n  .justify-content-md-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-md-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-md-start {\n    align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    align-items: center !important;\n  }\n  .align-items-md-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-md-start {\n    align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    align-content: center !important;\n  }\n  .align-content-md-between {\n    align-content: space-between !important;\n  }\n  .align-content-md-around {\n    align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    align-self: auto !important;\n  }\n  .align-self-md-start {\n    align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    align-self: center !important;\n  }\n  .align-self-md-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    align-self: stretch !important;\n  }\n  .order-md-first {\n    order: -1 !important;\n  }\n  .order-md-0 {\n    order: 0 !important;\n  }\n  .order-md-1 {\n    order: 1 !important;\n  }\n  .order-md-2 {\n    order: 2 !important;\n  }\n  .order-md-3 {\n    order: 3 !important;\n  }\n  .order-md-4 {\n    order: 4 !important;\n  }\n  .order-md-5 {\n    order: 5 !important;\n  }\n  .order-md-last {\n    order: 6 !important;\n  }\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mx-md-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-md-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-md-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-md-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-md-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-md-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-md-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-md-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-md-0 {\n    margin-top: 0 !important;\n  }\n  .mt-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-md-auto {\n    margin-top: auto !important;\n  }\n  .me-md-0 {\n    margin-right: 0 !important;\n  }\n  .me-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-md-3 {\n    margin-right: 1rem !important;\n  }\n  .me-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-md-5 {\n    margin-right: 3rem !important;\n  }\n  .me-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-md-0 {\n    margin-left: 0 !important;\n  }\n  .ms-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-md-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-md-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-md-auto {\n    margin-left: auto !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .px-md-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-md-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-md-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-md-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-md-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-md-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-md-0 {\n    padding-top: 0 !important;\n  }\n  .pt-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-md-0 {\n    padding-right: 0 !important;\n  }\n  .pe-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-md-0 {\n    padding-left: 0 !important;\n  }\n  .ps-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-md-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-md-5 {\n    padding-left: 3rem !important;\n  }\n}\n@media (min-width: 992px) {\n  .d-lg-inline {\n    display: inline !important;\n  }\n  .d-lg-inline-block {\n    display: inline-block !important;\n  }\n  .d-lg-block {\n    display: block !important;\n  }\n  .d-lg-grid {\n    display: grid !important;\n  }\n  .d-lg-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-lg-table {\n    display: table !important;\n  }\n  .d-lg-table-row {\n    display: table-row !important;\n  }\n  .d-lg-table-cell {\n    display: table-cell !important;\n  }\n  .d-lg-flex {\n    display: flex !important;\n  }\n  .d-lg-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-lg-none {\n    display: none !important;\n  }\n  .flex-lg-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-lg-row {\n    flex-direction: row !important;\n  }\n  .flex-lg-column {\n    flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-lg-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-lg-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-lg-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-lg-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-lg-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-lg-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-lg-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-lg-start {\n    align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    align-content: center !important;\n  }\n  .align-content-lg-between {\n    align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    align-self: auto !important;\n  }\n  .align-self-lg-start {\n    align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    align-self: stretch !important;\n  }\n  .order-lg-first {\n    order: -1 !important;\n  }\n  .order-lg-0 {\n    order: 0 !important;\n  }\n  .order-lg-1 {\n    order: 1 !important;\n  }\n  .order-lg-2 {\n    order: 2 !important;\n  }\n  .order-lg-3 {\n    order: 3 !important;\n  }\n  .order-lg-4 {\n    order: 4 !important;\n  }\n  .order-lg-5 {\n    order: 5 !important;\n  }\n  .order-lg-last {\n    order: 6 !important;\n  }\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mx-lg-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-lg-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-lg-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-lg-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-lg-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-lg-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mt-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-lg-auto {\n    margin-top: auto !important;\n  }\n  .me-lg-0 {\n    margin-right: 0 !important;\n  }\n  .me-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .me-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .me-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-lg-0 {\n    margin-left: 0 !important;\n  }\n  .ms-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-lg-auto {\n    margin-left: auto !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .px-lg-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-lg-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-lg-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-lg-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-lg-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-lg-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pt-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pe-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-lg-0 {\n    padding-left: 0 !important;\n  }\n  .ps-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-lg-5 {\n    padding-left: 3rem !important;\n  }\n}\n@media (min-width: 1200px) {\n  .d-xl-inline {\n    display: inline !important;\n  }\n  .d-xl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xl-block {\n    display: block !important;\n  }\n  .d-xl-grid {\n    display: grid !important;\n  }\n  .d-xl-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-xl-table {\n    display: table !important;\n  }\n  .d-xl-table-row {\n    display: table-row !important;\n  }\n  .d-xl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xl-flex {\n    display: flex !important;\n  }\n  .d-xl-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-xl-none {\n    display: none !important;\n  }\n  .flex-xl-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-xl-row {\n    flex-direction: row !important;\n  }\n  .flex-xl-column {\n    flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-xl-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-xl-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-xl-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-xl-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-xl-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xl-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-xl-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-xl-start {\n    align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    align-content: center !important;\n  }\n  .align-content-xl-between {\n    align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    align-self: auto !important;\n  }\n  .align-self-xl-start {\n    align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    align-self: stretch !important;\n  }\n  .order-xl-first {\n    order: -1 !important;\n  }\n  .order-xl-0 {\n    order: 0 !important;\n  }\n  .order-xl-1 {\n    order: 1 !important;\n  }\n  .order-xl-2 {\n    order: 2 !important;\n  }\n  .order-xl-3 {\n    order: 3 !important;\n  }\n  .order-xl-4 {\n    order: 4 !important;\n  }\n  .order-xl-5 {\n    order: 5 !important;\n  }\n  .order-xl-last {\n    order: 6 !important;\n  }\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mx-xl-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-xl-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-xl-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-xl-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-xl-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-xl-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mt-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-xl-auto {\n    margin-top: auto !important;\n  }\n  .me-xl-0 {\n    margin-right: 0 !important;\n  }\n  .me-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .me-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .me-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-xl-0 {\n    margin-left: 0 !important;\n  }\n  .ms-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-xl-auto {\n    margin-left: auto !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .px-xl-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-xl-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-xl-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-xl-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-xl-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-xl-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pt-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pe-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-xl-0 {\n    padding-left: 0 !important;\n  }\n  .ps-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-xl-5 {\n    padding-left: 3rem !important;\n  }\n}\n@media (min-width: 1400px) {\n  .d-xxl-inline {\n    display: inline !important;\n  }\n  .d-xxl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xxl-block {\n    display: block !important;\n  }\n  .d-xxl-grid {\n    display: grid !important;\n  }\n  .d-xxl-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-xxl-table {\n    display: table !important;\n  }\n  .d-xxl-table-row {\n    display: table-row !important;\n  }\n  .d-xxl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xxl-flex {\n    display: flex !important;\n  }\n  .d-xxl-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-xxl-none {\n    display: none !important;\n  }\n  .flex-xxl-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-xxl-row {\n    flex-direction: row !important;\n  }\n  .flex-xxl-column {\n    flex-direction: column !important;\n  }\n  .flex-xxl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-xxl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-xxl-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-xxl-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-xxl-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-xxl-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-xxl-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-xxl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-xxl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xxl-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-xxl-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-xxl-center {\n    justify-content: center !important;\n  }\n  .justify-content-xxl-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-xxl-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-xxl-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-xxl-start {\n    align-items: flex-start !important;\n  }\n  .align-items-xxl-end {\n    align-items: flex-end !important;\n  }\n  .align-items-xxl-center {\n    align-items: center !important;\n  }\n  .align-items-xxl-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-xxl-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-xxl-start {\n    align-content: flex-start !important;\n  }\n  .align-content-xxl-end {\n    align-content: flex-end !important;\n  }\n  .align-content-xxl-center {\n    align-content: center !important;\n  }\n  .align-content-xxl-between {\n    align-content: space-between !important;\n  }\n  .align-content-xxl-around {\n    align-content: space-around !important;\n  }\n  .align-content-xxl-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-xxl-auto {\n    align-self: auto !important;\n  }\n  .align-self-xxl-start {\n    align-self: flex-start !important;\n  }\n  .align-self-xxl-end {\n    align-self: flex-end !important;\n  }\n  .align-self-xxl-center {\n    align-self: center !important;\n  }\n  .align-self-xxl-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-xxl-stretch {\n    align-self: stretch !important;\n  }\n  .order-xxl-first {\n    order: -1 !important;\n  }\n  .order-xxl-0 {\n    order: 0 !important;\n  }\n  .order-xxl-1 {\n    order: 1 !important;\n  }\n  .order-xxl-2 {\n    order: 2 !important;\n  }\n  .order-xxl-3 {\n    order: 3 !important;\n  }\n  .order-xxl-4 {\n    order: 4 !important;\n  }\n  .order-xxl-5 {\n    order: 5 !important;\n  }\n  .order-xxl-last {\n    order: 6 !important;\n  }\n  .m-xxl-0 {\n    margin: 0 !important;\n  }\n  .m-xxl-1 {\n    margin: 0.25rem !important;\n  }\n  .m-xxl-2 {\n    margin: 0.5rem !important;\n  }\n  .m-xxl-3 {\n    margin: 1rem !important;\n  }\n  .m-xxl-4 {\n    margin: 1.5rem !important;\n  }\n  .m-xxl-5 {\n    margin: 3rem !important;\n  }\n  .m-xxl-auto {\n    margin: auto !important;\n  }\n  .mx-xxl-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-xxl-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-xxl-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-xxl-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-xxl-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-xxl-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-xxl-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-xxl-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-xxl-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-xxl-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-xxl-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-xxl-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-xxl-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-xxl-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-xxl-0 {\n    margin-top: 0 !important;\n  }\n  .mt-xxl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-xxl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-xxl-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-xxl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-xxl-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-xxl-auto {\n    margin-top: auto !important;\n  }\n  .me-xxl-0 {\n    margin-right: 0 !important;\n  }\n  .me-xxl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-xxl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-xxl-3 {\n    margin-right: 1rem !important;\n  }\n  .me-xxl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-xxl-5 {\n    margin-right: 3rem !important;\n  }\n  .me-xxl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xxl-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-xxl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-xxl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-xxl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-xxl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-xxl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-xxl-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-xxl-0 {\n    margin-left: 0 !important;\n  }\n  .ms-xxl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-xxl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-xxl-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-xxl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-xxl-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-xxl-auto {\n    margin-left: auto !important;\n  }\n  .p-xxl-0 {\n    padding: 0 !important;\n  }\n  .p-xxl-1 {\n    padding: 0.25rem !important;\n  }\n  .p-xxl-2 {\n    padding: 0.5rem !important;\n  }\n  .p-xxl-3 {\n    padding: 1rem !important;\n  }\n  .p-xxl-4 {\n    padding: 1.5rem !important;\n  }\n  .p-xxl-5 {\n    padding: 3rem !important;\n  }\n  .px-xxl-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-xxl-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-xxl-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-xxl-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-xxl-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-xxl-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-xxl-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-xxl-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-xxl-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-xxl-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-xxl-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-xxl-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-xxl-0 {\n    padding-top: 0 !important;\n  }\n  .pt-xxl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-xxl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-xxl-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-xxl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-xxl-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-xxl-0 {\n    padding-right: 0 !important;\n  }\n  .pe-xxl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-xxl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-xxl-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-xxl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-xxl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xxl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-xxl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-xxl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-xxl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-xxl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-xxl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-xxl-0 {\n    padding-left: 0 !important;\n  }\n  .ps-xxl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-xxl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-xxl-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-xxl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-xxl-5 {\n    padding-left: 3rem !important;\n  }\n}\n@media print {\n  .d-print-inline {\n    display: inline !important;\n  }\n  .d-print-inline-block {\n    display: inline-block !important;\n  }\n  .d-print-block {\n    display: block !important;\n  }\n  .d-print-grid {\n    display: grid !important;\n  }\n  .d-print-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-print-table {\n    display: table !important;\n  }\n  .d-print-table-row {\n    display: table-row !important;\n  }\n  .d-print-table-cell {\n    display: table-cell !important;\n  }\n  .d-print-flex {\n    display: flex !important;\n  }\n  .d-print-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-print-none {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n  }\n  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n//    >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $max: map-get($breakpoints, $name);\n  @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white:    #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black:    #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n  \"100\": $gray-100,\n  \"200\": $gray-200,\n  \"300\": $gray-300,\n  \"400\": $gray-400,\n  \"500\": $gray-500,\n  \"600\": $gray-600,\n  \"700\": $gray-700,\n  \"800\": $gray-800,\n  \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue:    #0d6efd !default;\n$indigo:  #6610f2 !default;\n$purple:  #6f42c1 !default;\n$pink:    #d63384 !default;\n$red:     #dc3545 !default;\n$orange:  #fd7e14 !default;\n$yellow:  #ffc107 !default;\n$green:   #198754 !default;\n$teal:    #20c997 !default;\n$cyan:    #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n  \"blue\":       $blue,\n  \"indigo\":     $indigo,\n  \"purple\":     $purple,\n  \"pink\":       $pink,\n  \"red\":        $red,\n  \"orange\":     $orange,\n  \"yellow\":     $yellow,\n  \"green\":      $green,\n  \"teal\":       $teal,\n  \"cyan\":       $cyan,\n  \"black\":      $black,\n  \"white\":      $white,\n  \"gray\":       $gray-600,\n  \"gray-dark\":  $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.2 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG/#contrast-minimum\n$min-contrast-ratio:   4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark:      $black !default;\n$color-contrast-light:     $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n  \"blue-100\": $blue-100,\n  \"blue-200\": $blue-200,\n  \"blue-300\": $blue-300,\n  \"blue-400\": $blue-400,\n  \"blue-500\": $blue-500,\n  \"blue-600\": $blue-600,\n  \"blue-700\": $blue-700,\n  \"blue-800\": $blue-800,\n  \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n  \"indigo-100\": $indigo-100,\n  \"indigo-200\": $indigo-200,\n  \"indigo-300\": $indigo-300,\n  \"indigo-400\": $indigo-400,\n  \"indigo-500\": $indigo-500,\n  \"indigo-600\": $indigo-600,\n  \"indigo-700\": $indigo-700,\n  \"indigo-800\": $indigo-800,\n  \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n  \"purple-100\": $purple-100,\n  \"purple-200\": $purple-200,\n  \"purple-300\": $purple-300,\n  \"purple-400\": $purple-400,\n  \"purple-500\": $purple-500,\n  \"purple-600\": $purple-600,\n  \"purple-700\": $purple-700,\n  \"purple-800\": $purple-800,\n  \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n  \"pink-100\": $pink-100,\n  \"pink-200\": $pink-200,\n  \"pink-300\": $pink-300,\n  \"pink-400\": $pink-400,\n  \"pink-500\": $pink-500,\n  \"pink-600\": $pink-600,\n  \"pink-700\": $pink-700,\n  \"pink-800\": $pink-800,\n  \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n  \"red-100\": $red-100,\n  \"red-200\": $red-200,\n  \"red-300\": $red-300,\n  \"red-400\": $red-400,\n  \"red-500\": $red-500,\n  \"red-600\": $red-600,\n  \"red-700\": $red-700,\n  \"red-800\": $red-800,\n  \"red-900\": $red-900\n) !default;\n\n$oranges: (\n  \"orange-100\": $orange-100,\n  \"orange-200\": $orange-200,\n  \"orange-300\": $orange-300,\n  \"orange-400\": $orange-400,\n  \"orange-500\": $orange-500,\n  \"orange-600\": $orange-600,\n  \"orange-700\": $orange-700,\n  \"orange-800\": $orange-800,\n  \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n  \"yellow-100\": $yellow-100,\n  \"yellow-200\": $yellow-200,\n  \"yellow-300\": $yellow-300,\n  \"yellow-400\": $yellow-400,\n  \"yellow-500\": $yellow-500,\n  \"yellow-600\": $yellow-600,\n  \"yellow-700\": $yellow-700,\n  \"yellow-800\": $yellow-800,\n  \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n  \"green-100\": $green-100,\n  \"green-200\": $green-200,\n  \"green-300\": $green-300,\n  \"green-400\": $green-400,\n  \"green-500\": $green-500,\n  \"green-600\": $green-600,\n  \"green-700\": $green-700,\n  \"green-800\": $green-800,\n  \"green-900\": $green-900\n) !default;\n\n$teals: (\n  \"teal-100\": $teal-100,\n  \"teal-200\": $teal-200,\n  \"teal-300\": $teal-300,\n  \"teal-400\": $teal-400,\n  \"teal-500\": $teal-500,\n  \"teal-600\": $teal-600,\n  \"teal-700\": $teal-700,\n  \"teal-800\": $teal-800,\n  \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n  \"cyan-100\": $cyan-100,\n  \"cyan-200\": $cyan-200,\n  \"cyan-300\": $cyan-300,\n  \"cyan-400\": $cyan-400,\n  \"cyan-500\": $cyan-500,\n  \"cyan-600\": $cyan-600,\n  \"cyan-700\": $cyan-700,\n  \"cyan-800\": $cyan-800,\n  \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary:       $blue !default;\n$secondary:     $gray-600 !default;\n$success:       $green !default;\n$info:          $cyan !default;\n$warning:       $yellow !default;\n$danger:        $red !default;\n$light:         $gray-100 !default;\n$dark:          $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// scss-docs-start theme-text-variables\n$primary-text-emphasis:   shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis:   shade-color($success, 60%) !default;\n$info-text-emphasis:      shade-color($info, 60%) !default;\n$warning-text-emphasis:   shade-color($warning, 60%) !default;\n$danger-text-emphasis:    shade-color($danger, 60%) !default;\n$light-text-emphasis:     $gray-700 !default;\n$dark-text-emphasis:      $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle:       tint-color($primary, 80%) !default;\n$secondary-bg-subtle:     tint-color($secondary, 80%) !default;\n$success-bg-subtle:       tint-color($success, 80%) !default;\n$info-bg-subtle:          tint-color($info, 80%) !default;\n$warning-bg-subtle:       tint-color($warning, 80%) !default;\n$danger-bg-subtle:        tint-color($danger, 80%) !default;\n$light-bg-subtle:         mix($gray-100, $white) !default;\n$dark-bg-subtle:          $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle:   tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle:   tint-color($success, 60%) !default;\n$info-border-subtle:      tint-color($info, 60%) !default;\n$warning-border-subtle:   tint-color($warning, 60%) !default;\n$danger-border-subtle:    tint-color($danger, 60%) !default;\n$light-border-subtle:     $gray-200 !default;\n$dark-border-subtle:      $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\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$enable-important-utilities:  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\n$variable-prefix:             bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix:                      $variable-prefix !default;\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$body-color:                $gray-900 !default;\n$body-bg:                   $white !default;\n\n$body-secondary-color:      rgba($body-color, .75) !default;\n$body-secondary-bg:         $gray-200 !default;\n\n$body-tertiary-color:       rgba($body-color, .5) !default;\n$body-tertiary-bg:          $gray-100 !default;\n\n$body-emphasis-color:       $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              $primary !default;\n$link-decoration:                         underline !default;\n$link-shade-percentage:                   20% !default;\n$link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration:                   null !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// 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: 992px,\n  xl: 1200px,\n  xxl: 1400px\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\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: 1140px,\n  xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\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// Container padding\n\n$container-padding-x: $grid-gutter-width !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:                $gray-300 !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .375rem !default;\n$border-radius-sm:            .25rem !default;\n$border-radius-lg:            .5rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-xxl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl:           $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\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$component-active-color:      $white !default;\n$component-active-bg:         $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      rgba($primary, $focus-ring-opacity) !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// scss-docs-start caret-variables\n$caret-width:                 .3em !default;\n$caret-vertical-align:        $caret-width * .85 !default;\n$caret-spacing:               $caret-width * .85 !default;\n// scss-docs-end caret-variables\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// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"1x1\": 100%,\n  \"4x3\": calc(3 / 4 * 100%),\n  \"16x9\": calc(9 / 16 * 100%),\n  \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\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(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}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:              null !default;\n$font-size-base:              1rem !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:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n  1: $h1-font-size,\n  2: $h2-font-size,\n  3: $h3-font-size,\n  4: $h4-font-size,\n  5: $h5-font-size,\n  6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\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 display-headings\n$display-font-sizes: (\n  1: 5rem,\n  2: 4.5rem,\n  3: 4rem,\n  4: 3.5rem,\n  5: 3rem,\n  6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style:  null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size:              $font-size-base * 1.25 !default;\n$lead-font-weight:            300 !default;\n\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n// fusv-disable\n$text-muted:                  var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\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:     $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n// fusv-disable\n$hr-bg-color:                 null !default; // Deprecated in v5.2.0\n$hr-height:                   null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}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:                  $body-color !default;\n$mark-bg:                     $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\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(--#{$prefix}emphasis-color) !default;\n$table-bg:                    var(--#{$prefix}body-bg) !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:            rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor:         .2 !default;\n$table-border-width:          var(--#{$prefix}border-width) !default;\n$table-border-color:          var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale:              -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n  \"primary\":    shift-color($primary, $table-bg-scale),\n  \"secondary\":  shift-color($secondary, $table-bg-scale),\n  \"success\":    shift-color($success, $table-bg-scale),\n  \"info\":       shift-color($info, $table-bg-scale),\n  \"warning\":    shift-color($warning, $table-bg-scale),\n  \"danger\":     shift-color($danger, $table-bg-scale),\n  \"light\":      $light,\n  \"dark\":       $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\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(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}body-color) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     $gray-600 !default;\n$btn-link-focus-shadow-rgb:   to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount:       15% !default;\n$btn-hover-bg-tint-amount:        15% !default;\n$btn-hover-border-shade-amount:   20% !default;\n$btn-hover-border-tint-amount:    10% !default;\n$btn-active-bg-shade-amount:      20% !default;\n$btn-active-bg-tint-amount:       20% !default;\n$btn-active-border-shade-amount:  25% !default;\n$btn-active-border-tint-amount:   10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\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(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\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// 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(--#{$prefix}body-bg) !default;\n$input-disabled-color:                  null !default;\n$input-disabled-bg:                     var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color:           null !default;\n\n$input-color:                           var(--#{$prefix}body-color) !default;\n$input-border-color:                    var(--#{$prefix}border-color) !default;\n$input-border-width:                    $input-btn-border-width !default;\n$input-box-shadow:                      var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius:                   var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm:                var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg:                var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              tint-color($component-active-bg, 50%) !default;\n$input-focus-color:                     $input-color !default;\n$input-focus-width:                     $input-btn-focus-width !default;\n$input-focus-box-shadow:                $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color:               var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color:                 var(--#{$prefix}body-color) !default;\n\n$input-height-border:                   calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\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\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-check-variables\n$form-check-input-width:                  1em !default;\n$form-check-min-height:                   $font-size-base * $line-height-base !default;\n$form-check-padding-start:                $form-check-input-width + .5em !default;\n$form-check-margin-bottom:                .125rem !default;\n$form-check-label-color:                  null !default;\n$form-check-label-cursor:                 null !default;\n$form-check-transition:                   null !default;\n\n$form-check-input-active-filter:          brightness(90%) !default;\n\n$form-check-input-bg:                     $input-bg !default;\n$form-check-input-border:                 var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius:          .25em !default;\n$form-check-radio-border-radius:          50% !default;\n$form-check-input-focus-border:           $input-focus-border-color !default;\n$form-check-input-focus-box-shadow:       $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color:          $component-active-color !default;\n$form-check-input-checked-bg-color:       $component-active-bg !default;\n$form-check-input-checked-border-color:   $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color:          $component-active-color !default;\n$form-check-input-indeterminate-bg-color:       $component-active-bg !default;\n$form-check-input-indeterminate-border-color:   $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity:        .5 !default;\n$form-check-label-disabled-opacity:        $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity:    $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end:    1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color:               rgba($black, .25) !default;\n$form-switch-width:               2em !default;\n$form-switch-padding-start:       $form-switch-width + .5em !default;\n$form-switch-bg-image:            url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius:       $form-switch-width !default;\n$form-switch-transition:          background-position .15s ease-in-out !default;\n\n$form-switch-focus-color:         $input-focus-border-color !default;\n$form-switch-focus-bg-image:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color:       $component-active-color !default;\n$form-switch-checked-bg-image:    url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\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(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y:             $input-padding-y !default;\n$form-select-padding-x:             $input-padding-x !default;\n$form-select-font-family:           $input-font-family !default;\n$form-select-font-size:             $input-font-size !default;\n$form-select-indicator-padding:     $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight:           $input-font-weight !default;\n$form-select-line-height:           $input-line-height !default;\n$form-select-color:                 $input-color !default;\n$form-select-bg:                    $input-bg !default;\n$form-select-disabled-color:        null !default;\n$form-select-disabled-bg:           $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position:           right $form-select-padding-x center !default;\n$form-select-bg-size:               16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color:       $gray-800 !default;\n$form-select-indicator:             url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position:    center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size:        $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width:        $input-border-width !default;\n$form-select-border-color:        $input-border-color !default;\n$form-select-border-radius:       $input-border-radius !default;\n$form-select-box-shadow:          var(--#{$prefix}box-shadow-inset) !default;\n\n$form-select-focus-border-color:  $input-focus-border-color !default;\n$form-select-focus-width:         $input-focus-width !default;\n$form-select-focus-box-shadow:    0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm:        $input-padding-y-sm !default;\n$form-select-padding-x-sm:        $input-padding-x-sm !default;\n$form-select-font-size-sm:        $input-font-size-sm !default;\n$form-select-border-radius-sm:    $input-border-radius-sm !default;\n\n$form-select-padding-y-lg:        $input-padding-y-lg !default;\n$form-select-padding-x-lg:        $input-padding-x-lg !default;\n$form-select-font-size-lg:        $input-font-size-lg !default;\n$form-select-border-radius-lg:    $input-border-radius-lg !default;\n\n$form-select-transition:          $input-transition !default;\n// scss-docs-end form-select-variables\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(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--#{$prefix}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-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--#{$prefix}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// scss-docs-start form-file-variables\n$form-file-button-color:          $input-color !default;\n$form-file-button-bg:             var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  add(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:    $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// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          $form-text-margin-top !default;\n$form-feedback-font-size:           $form-text-font-size !default;\n$form-feedback-font-style:          $form-text-font-style !default;\n$form-feedback-valid-color:         $success !default;\n$form-feedback-invalid-color:       $danger !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' 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(--#{$prefix}form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}success),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-valid-border-color),\n  ),\n  \"invalid\": (\n    \"color\": var(--#{$prefix}form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}danger),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-invalid-border-color),\n  )\n) !default;\n// scss-docs-end form-validation-states\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-modal-backdrop:             1050 !default;\n$zindex-modal:                      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// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-font-size:                null !default;\n$nav-link-font-weight:              null !default;\n$nav-link-color:                    var(--#{$prefix}link-color) !default;\n$nav-link-hover-color:              var(--#{$prefix}link-hover-color) !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(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow:         $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color:             var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width:             var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius:            var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color:        var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg:           var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius:           var(--#{$prefix}border-radius) !default;\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(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\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:         .5rem !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$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-padding-y:            ($nav-link-height - $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:      $btn-border-radius !default;\n$navbar-toggler-focus-width:        $btn-focus-width !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color:          rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color:         rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color:       rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color:           rgba($body-color, .75) !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: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !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\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                0 !default;\n$dropdown-padding-y:                .5rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--#{$prefix}body-color) !default;\n$dropdown-bg:                       var(--#{$prefix}body-bg) !default;\n$dropdown-border-color:             var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius:            var(--#{$prefix}border-radius) !default;\n$dropdown-border-width:             var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .5 !default;\n$dropdown-box-shadow:               var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color:               var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--#{$prefix}tertiary-bg) !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(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer !default;\n\n$dropdown-header-color:             $gray-600 !default;\n$dropdown-header-padding-x:         $dropdown-item-padding-x !default;\n$dropdown-header-padding-y:         $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding:           $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color:               $gray-300 !default;\n$dropdown-dark-bg:                  $gray-800 !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: $gray-500 !default;\n$dropdown-dark-header-color:        $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\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(--#{$prefix}link-color) !default;\n$pagination-bg:                     var(--#{$prefix}body-bg) !default;\n$pagination-border-radius:          var(--#{$prefix}border-radius) !default;\n$pagination-border-width:           var(--#{$prefix}border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color:           var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg:               var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow:       $focus-ring-box-shadow !default;\n$pagination-focus-outline:          0 !default;\n\n$pagination-hover-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg:               var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color:     var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg:            var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color:  var(--#{$prefix}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(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\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// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y:                     $spacer !default;\n$card-spacer-x:                     $spacer !default;\n$card-title-spacer-y:               $spacer * .5 !default;\n$card-title-color:                  null !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--#{$prefix}border-width) !default;\n$card-border-color:                 var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius:                var(--#{$prefix}border-radius) !default;\n$card-box-shadow:                   null !default;\n$card-inner-border-radius:          subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y:                $card-spacer-y * .5 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y:                     1rem !default;\n$accordion-padding-x:                     1.25rem !default;\n$accordion-color:                         var(--#{$prefix}body-color) !default;\n$accordion-bg:                            var(--#{$prefix}body-bg) !default;\n$accordion-border-width:                  var(--#{$prefix}border-width) !default;\n$accordion-border-color:                  var(--#{$prefix}border-color) !default;\n$accordion-border-radius:                 var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius:           subtract($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(--#{$prefix}body-color) !default;\n$accordion-button-bg:                     var(--#{$prefix}accordion-bg) !default;\n$accordion-transition:                    $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color:           var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color:     $input-focus-border-color !default; // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow:       $btn-focus-box-shadow !default;\n\n$accordion-icon-width:                    1.25rem !default;\n$accordion-icon-color:                    $body-color !default;\n$accordion-icon-active-color:             $primary-text-emphasis !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n\n$accordion-button-icon:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n$accordion-button-active-icon:  url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 $font-size-sm !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--#{$prefix}body-bg) !default;\n$tooltip-bg:                        var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius:             var(--#{$prefix}border-radius) !default;\n$tooltip-opacity:                   .9 !default;\n$tooltip-padding-y:                 $spacer * .25 !default;\n$tooltip-padding-x:                 $spacer * .5 !default;\n$tooltip-margin:                    null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width:               .8rem !default;\n$tooltip-arrow-height:              .4rem !default;\n// fusv-disable\n$tooltip-arrow-color:               null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\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// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size:                 $font-size-sm !default;\n$popover-bg:                        var(--#{$prefix}body-bg) !default;\n$popover-max-width:                 276px !default;\n$popover-border-width:              var(--#{$prefix}border-width) !default;\n$popover-border-color:              var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius:             var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow:                var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--#{$prefix}secondary-bg) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          .5rem !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--#{$prefix}body-color) !default;\n$popover-body-padding-y:            $spacer !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// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color:               $popover-bg !default;\n$popover-arrow-outer-color:         var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\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(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width:                var(--#{$prefix}border-width) !default;\n$toast-border-color:                var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius:               var(--#{$prefix}border-radius) !default;\n$toast-box-shadow:                  var(--#{$prefix}box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color:     rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color:         $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size:                   .75em !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-color:                       $white !default;\n$badge-padding-y:                   .35em !default;\n$badge-padding-x:                   .65em !default;\n$badge-border-radius:               var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding:               $spacer !default;\n\n$modal-footer-margin-between:       .5rem !default;\n\n$modal-dialog-margin:               .5rem !default;\n$modal-dialog-margin-y-sm-up:       1.75rem !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-color:               var(--#{$prefix}body-color) !default;\n$modal-content-bg:                  var(--#{$prefix}body-bg) !default;\n$modal-content-border-color:        var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width:        var(--#{$prefix}border-width) !default;\n$modal-content-border-radius:       var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs:       var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up:    var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n\n$modal-header-border-color:         var(--#{$prefix}border-color) !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-header-padding-y:            $modal-inner-padding !default;\n$modal-header-padding-x:            $modal-inner-padding !default;\n$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg:                   null !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n\n$modal-sm:                          300px !default;\n$modal-md:                          500px !default;\n$modal-lg:                          800px !default;\n$modal-xl:                          1140px !default;\n\n$modal-fade-transform:              translate(0, -50px) !default;\n$modal-show-transform:              none !default;\n$modal-transition:                  transform .3s ease-out !default;\n$modal-scale-transform:             scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-margin-bottom:           1rem !default;\n$alert-border-radius:           var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight:        $font-weight-bold !default;\n$alert-border-width:            var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r:   $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale:                -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale:            -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale:             40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\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(--#{$prefix}secondary-bg) !default;\n$progress-border-radius:            var(--#{$prefix}border-radius) !default;\n$progress-box-shadow:               var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   $primary !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// List group\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--#{$prefix}body-color) !default;\n$list-group-bg:                     var(--#{$prefix}body-bg) !default;\n$list-group-border-color:           var(--#{$prefix}border-color) !default;\n$list-group-border-width:           var(--#{$prefix}border-width) !default;\n$list-group-border-radius:          var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y:         $spacer * .5 !default;\n$list-group-item-padding-x:         $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale:          -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale:       40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg:               var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color:     var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color:    var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width:            var(--#{$prefix}border-width) !default;\n$thumbnail-border-color:            var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius:           var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow:              var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\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-item-padding-x:         .5rem !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color:           var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider:                quote(\"/\") !default;\n$breadcrumb-divider-flipped:        $breadcrumb-divider !default;\n$breadcrumb-border-radius:          null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\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-dark-indicator-active-bg:  $black !default; // Deprecated in v5.3.4\n$carousel-dark-caption-color:        $black !default; // Deprecated in v5.3.4\n$carousel-dark-control-icon-filter:  invert(1) grayscale(100) !default; // Deprecated in v5.3.4\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\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// Close\n\n// scss-docs-start close-variables\n$btn-close-width:            1em !default;\n$btn-close-height:           $btn-close-width !default;\n$btn-close-padding-x:        .25em !default;\n$btn-close-padding-y:        $btn-close-padding-x !default;\n$btn-close-color:            $black !default;\n$btn-close-bg:               url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>\") !default;\n$btn-close-focus-shadow:     $focus-ring-box-shadow !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-filter:           null !default;\n$btn-close-white-filter:     invert(1) grayscale(100%) brightness(200%) !default; // Deprecated in v5.3.4\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $modal-inner-padding !default;\n$offcanvas-padding-x:               $modal-inner-padding !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            $modal-content-border-color !default;\n$offcanvas-border-width:            $modal-content-border-width !default;\n$offcanvas-title-line-height:       $modal-title-line-height !default;\n$offcanvas-bg-color:                var(--#{$prefix}body-bg) !default;\n$offcanvas-color:                   var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow:              $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg:             $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity:        $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    $small-font-size !default;\n$code-color:                        $pink !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(--#{$prefix}body-bg) !default;\n$kbd-bg:                            var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight:            null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color:                         null !default;\n\n@import \"variables-dark\"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --#{$prefix}breakpoint-#{$name}: #{$value};\n  }\n}\n\n@if $enable-grid-classes {\n  .row {\n    @include make-row();\n\n    > * {\n      @include make-col-ready();\n    }\n  }\n}\n\n@if $enable-cssgrid {\n  .grid {\n    display: grid;\n    grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n    grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n    gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n    @include make-cssgrid();\n  }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n  @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}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-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n  margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n  margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, 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-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n  padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n  margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: percentage(divide($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: divide($size, $columns);\n  margin-left: if($num == 0, 0, 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: percentage(divide(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          --#{$prefix}gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --#{$prefix}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","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n  $values: map-get($utility, values);\n\n  // If the values are a list or string, convert it into a map\n  @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n    $values: zip($values, $values);\n  }\n\n  @each $key, $value in $values {\n    $properties: map-get($utility, property);\n\n    // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n    @if type-of($properties) == \"string\" {\n      $properties: append((), $properties);\n    }\n\n    // Use custom class if present\n    $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n    $property-class: if($property-class == null, \"\", $property-class);\n\n    // Use custom CSS variable name if present, otherwise default to `class`\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 pseudo-classes\n    $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n    $infix: if($property-class == \"\" 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    $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    @if map-get($utility, rfs) {\n      // Inside the media query\n      @if $is-rfs-media-query {\n        $val: rfs-value($value);\n\n        // Do not render anything if fluid and non fluid values are the same\n        $value: if($val == rfs-fluid-value($value), null, $val);\n      }\n      @else {\n        $value: rfs-fluid-value($value);\n      }\n    }\n\n    $is-css-var: map-get($utility, css-var);\n    $is-local-vars: map-get($utility, local-vars);\n    $is-rtl: map-get($utility, rtl);\n\n    @if $value != null {\n      @if $is-rtl == false {\n        /* rtl:begin:remove */\n      }\n\n      @if $is-css-var {\n        .#{$property-class + $infix + $property-class-modifier} {\n          --#{$prefix}#{$css-variable-name}: #{$value};\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            --#{$prefix}#{$css-variable-name}: #{$value};\n          }\n        }\n      } @else {\n        .#{$property-class + $infix + $property-class-modifier} {\n          @each $property in $properties {\n            @if $is-local-vars {\n              @each $local-var, $variable in $is-local-vars {\n                --#{$prefix}#{$local-var}: #{$variable};\n              }\n            }\n            #{$property}: $value if($enable-important-utilities, !important, null);\n          }\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            @each $property in $properties {\n              @if $is-local-vars {\n                @each $local-var, $variable in $is-local-vars {\n                  --#{$prefix}#{$local-var}: #{$variable};\n                }\n              }\n              #{$property}: $value if($enable-important-utilities, !important, null);\n            }\n          }\n        }\n      }\n\n      @if $is-rtl == false {\n        /* rtl:end:remove */\n      }\n    }\n  }\n}\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 type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n        @include generate-utility($utility, $infix);\n      }\n    }\n  }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n  @each $breakpoint in map-keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\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 type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix, true);\n        }\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 type-of($utility) == \"map\" and map-get($utility, print) == true {\n      @include generate-utility($utility, \"-print\");\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../scss/_banner.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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BAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EHjFjB;IG0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;EHjFjB;IG0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;EHjFjB;IG0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;EHjFjB;IG0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;EHjFjB;IG0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;EDxGnB;IACE;;EAGF;IACE;IAEA;IACA;IACA;IACA;;EAIF;IACE;;EAIF;IACE;;EAEF;IACE;;EAEF;IACE;;;AE7DJ;ECoEQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;ELjBR;IKUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;ELjBR;IKUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;ELjBR;IKUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;ELjBR;IKUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;ELjBR;IKUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;EDpCV;IC6BM;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI","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@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  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  width: 100%;\n  padding-right: calc(var(--#{$prefix}gutter-x) * .5);\n  padding-left: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-right: auto;\n  margin-left: 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        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\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: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\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 `#{$breakpoints}`\";\n  }\n  @return if($n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n//    >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $max: map.get($breakpoints, $name);\n  @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($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$prefix: bs- !default;\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:              true !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$enable-important-utilities:  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// 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: 992px,\n  xl: 1200px,\n  xxl: 1400px\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: 1140px,\n  xxl: 1320px\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    --#{$prefix}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      --#{$prefix}columns: #{$grid-columns};\n      --#{$prefix}rows: 1;\n      --#{$prefix}gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--#{$prefix}rows), 1fr);\n      grid-template-columns: repeat(var(--#{$prefix}columns), 1fr);\n      gap: var(--#{$prefix}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    --#{$prefix}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(--#{$prefix}gap);\n  }\n\n  // mdo-do: add to utilities?\n  .g-col-auto {\n    grid-column: auto/auto;\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-3 {\n    --#{$prefix}columns: 3;\n  }\n  .grid-cols-4 {\n    --#{$prefix}columns: 4;\n  }\n  .grid-cols-6 {\n    --#{$prefix}columns: 6;\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  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}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-top: calc(-1 * var(--#{$prefix}gutter-y));\n  margin-right: calc(-.5 * var(--#{$prefix}gutter-x));\n  margin-left: calc(-.5 * var(--#{$prefix}gutter-x));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  box-sizing: if(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, 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-right: calc(var(--#{$prefix}gutter-x) * .5);\n  padding-left: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-top: var(--#{$prefix}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  margin-left: if($num == 0, 0, 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          --#{$prefix}gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --#{$prefix}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 \"../vendor/rfs\" 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  // RFS rescaling\n  @media (min-width: $rfs-mq-value) {\n    @each $breakpoint in map.keys($grid-breakpoints) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      @if (map.get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\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, rfs) and (map.get($utility, responsive) or $infix == \"\") {\n            @include generate-utility($utility, $infix, true);\n          }\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// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n  $values: map.get($utility, values);\n\n  // If the values are a list or string, convert it into a map\n  @if meta.type-of($values) == \"string\" or meta.type-of(list.nth($values, 1)) != \"list\" {\n    // A single value is converted to a map with a null key.\n    @if list.length($values) == 1 {\n      $values: (null: list.nth($values, 1));\n    } @else {\n      $values: list.zip($values, $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n\n    // 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\n    // Use custom class if present\n    $property-class: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));\n    $property-class: if($property-class == null, \"\", $property-class);\n\n    // Use custom CSS variable name if present, otherwise default to `class`\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 pseudo-classes\n    $state: if(map.has-key($utility, state), map.get($utility, state), ());\n\n    $infix: if($property-class == \"\" and string.slice($infix, 1, 1) == \"-\", string.slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    @if map.get($utility, rfs) {\n      // Inside the media query\n      @if $is-rfs-media-query {\n        $val: rfs-value($value);\n\n        // Do not render anything if fluid and non fluid values are the same\n        $value: if($val == rfs-fluid-value($value), null, $val);\n      }\n      @else {\n        $value: rfs-fluid-value($value);\n      }\n    }\n\n    $is-css-var: map.get($utility, css-var);\n    $is-local-vars: map.get($utility, local-vars);\n    $is-rtl: map.get($utility, rtl);\n\n    @if $value != null {\n      @if $is-rtl == false {\n        /* rtl:begin:remove */\n      }\n\n      @if $is-css-var {\n        .#{$property-class + $infix + $property-class-modifier} {\n          --#{$prefix}#{$css-variable-name}: #{$value};\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            --#{$prefix}#{$css-variable-name}: #{$value};\n          }\n        }\n      } @else {\n        .#{$property-class + $infix + $property-class-modifier} {\n          @each $property in $properties {\n            @if $is-local-vars {\n              @each $local-var, $variable in $is-local-vars {\n                --#{$prefix}#{$local-var}: #{$variable};\n              }\n            }\n            #{$property}: $value if($enable-important-utilities, !important, null);\n          }\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            @each $property in $properties {\n              @if $is-local-vars {\n                @each $local-var, $variable in $is-local-vars {\n                  --#{$prefix}#{$local-var}: #{$variable};\n                }\n              }\n              #{$property}: $value if($enable-important-utilities, !important, null);\n            }\n          }\n        }\n      }\n\n      @if $is-rtl == false {\n        /* rtl:end:remove */\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index a95f4eb49f6e88f7040464efdec869ec3a1e0422..e1f4c18745f36ff94dd432b3b9bba693d2604b98 100644 (file)
@@ -1,24 +1,11 @@
 /*!
- * Bootstrap Reboot v5.3.8 (https://getbootstrap.com/)
- * Copyright 2011-2025 The Bootstrap Authors
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */
-:root,
-[data-bs-theme=light] {
-  --bs-blue: #0d6efd;
-  --bs-indigo: #6610f2;
-  --bs-purple: #6f42c1;
-  --bs-pink: #d63384;
-  --bs-red: #dc3545;
-  --bs-orange: #fd7e14;
-  --bs-yellow: #ffc107;
-  --bs-green: #198754;
-  --bs-teal: #20c997;
-  --bs-cyan: #0dcaf0;
-  --bs-black: #000;
-  --bs-white: #fff;
-  --bs-gray: #6c757d;
-  --bs-gray-dark: #343a40;
+  * Bootstrap Reboot v6.0.0-dev (https://getbootstrap.com/)
+  * Copyright 2011-2025 The Bootstrap Authors
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+@layer colors, theme, config, root, reboot, layout, content, forms, components, helpers, custom, utilities;
+:root {
+  color-scheme: light dark;
   --bs-gray-100: #f8f9fa;
   --bs-gray-200: #e9ecef;
   --bs-gray-300: #dee2e6;
   --bs-gray-700: #495057;
   --bs-gray-800: #343a40;
   --bs-gray-900: #212529;
-  --bs-primary: #0d6efd;
+  --bs-blue-100: #cfe2ff;
+  --bs-blue-200: #9ec5fe;
+  --bs-blue-300: #6ea8fe;
+  --bs-blue-400: #3d8bfd;
+  --bs-blue-500: #0d6efd;
+  --bs-blue-600: #0a58ca;
+  --bs-blue-700: #084298;
+  --bs-blue-800: #052c65;
+  --bs-blue-900: #031633;
+  --bs-indigo-100: #e0cffc;
+  --bs-indigo-200: #c29ffa;
+  --bs-indigo-300: #a370f7;
+  --bs-indigo-400: #8540f5;
+  --bs-indigo-500: #6610f2;
+  --bs-indigo-600: #520dc2;
+  --bs-indigo-700: #3d0a91;
+  --bs-indigo-800: #290661;
+  --bs-indigo-900: #140330;
+  --bs-purple-100: #e2d9f3;
+  --bs-purple-200: #c5b3e6;
+  --bs-purple-300: #a98eda;
+  --bs-purple-400: #8c68cd;
+  --bs-purple-500: #6f42c1;
+  --bs-purple-600: #59359a;
+  --bs-purple-700: #432874;
+  --bs-purple-800: #2c1a4d;
+  --bs-purple-900: #160d27;
+  --bs-pink-100: #f7d6e6;
+  --bs-pink-200: #efadce;
+  --bs-pink-300: #e685b5;
+  --bs-pink-400: #de5c9d;
+  --bs-pink-500: #d63384;
+  --bs-pink-600: #ab296a;
+  --bs-pink-700: #801f4f;
+  --bs-pink-800: #561435;
+  --bs-pink-900: #2b0a1a;
+  --bs-red-100: #f8d7da;
+  --bs-red-200: #f1aeb5;
+  --bs-red-300: #ea868f;
+  --bs-red-400: #e35d6a;
+  --bs-red-500: #dc3545;
+  --bs-red-600: #b02a37;
+  --bs-red-700: #842029;
+  --bs-red-800: #58151c;
+  --bs-red-900: #2c0b0e;
+  --bs-orange-100: #ffe5d0;
+  --bs-orange-200: #fecba1;
+  --bs-orange-300: #feb272;
+  --bs-orange-400: #fd9843;
+  --bs-orange-500: #fd7e14;
+  --bs-orange-600: #ca6510;
+  --bs-orange-700: #984c0c;
+  --bs-orange-800: #653208;
+  --bs-orange-900: #331904;
+  --bs-yellow-100: #fff3cd;
+  --bs-yellow-200: #ffe69c;
+  --bs-yellow-300: #ffda6a;
+  --bs-yellow-400: #ffcd39;
+  --bs-yellow-500: #ffc107;
+  --bs-yellow-600: #cc9a06;
+  --bs-yellow-700: #997404;
+  --bs-yellow-800: #664d03;
+  --bs-yellow-900: #332701;
+  --bs-green-100: #d1e7dd;
+  --bs-green-200: #a3cfbb;
+  --bs-green-300: #75b798;
+  --bs-green-400: #479f76;
+  --bs-green-500: #198754;
+  --bs-green-600: #146c43;
+  --bs-green-700: #0f5132;
+  --bs-green-800: #0a3622;
+  --bs-green-900: #051b11;
+  --bs-teal-100: #d2f4ea;
+  --bs-teal-200: #a6e9d5;
+  --bs-teal-300: #79dfc1;
+  --bs-teal-400: #4dd4ac;
+  --bs-teal-500: #20c997;
+  --bs-teal-600: #1aa179;
+  --bs-teal-700: #13795b;
+  --bs-teal-800: #0d503c;
+  --bs-teal-900: #06281e;
+  --bs-cyan-100: #cff4fc;
+  --bs-cyan-200: #9eeaf9;
+  --bs-cyan-300: #6edff6;
+  --bs-cyan-400: #3dd5f3;
+  --bs-cyan-500: #0dcaf0;
+  --bs-cyan-600: #0aa2c0;
+  --bs-cyan-700: #087990;
+  --bs-cyan-800: #055160;
+  --bs-cyan-900: #032830;
+  --bs-primary: #6f42c1;
   --bs-secondary: #6c757d;
   --bs-success: #198754;
   --bs-info: #0dcaf0;
   --bs-danger: #dc3545;
   --bs-light: #f8f9fa;
   --bs-dark: #212529;
-  --bs-primary-rgb: 13, 110, 253;
-  --bs-secondary-rgb: 108, 117, 125;
-  --bs-success-rgb: 25, 135, 84;
-  --bs-info-rgb: 13, 202, 240;
-  --bs-warning-rgb: 255, 193, 7;
-  --bs-danger-rgb: 220, 53, 69;
-  --bs-light-rgb: 248, 249, 250;
-  --bs-dark-rgb: 33, 37, 41;
-  --bs-primary-text-emphasis: #052c65;
-  --bs-secondary-text-emphasis: #2b2f32;
-  --bs-success-text-emphasis: #0a3622;
-  --bs-info-text-emphasis: #055160;
-  --bs-warning-text-emphasis: #664d03;
-  --bs-danger-text-emphasis: #58151c;
-  --bs-light-text-emphasis: #495057;
-  --bs-dark-text-emphasis: #495057;
-  --bs-primary-bg-subtle: #cfe2ff;
-  --bs-secondary-bg-subtle: #e2e3e5;
-  --bs-success-bg-subtle: #d1e7dd;
-  --bs-info-bg-subtle: #cff4fc;
-  --bs-warning-bg-subtle: #fff3cd;
-  --bs-danger-bg-subtle: #f8d7da;
-  --bs-light-bg-subtle: #fcfcfd;
-  --bs-dark-bg-subtle: #ced4da;
-  --bs-primary-border-subtle: #9ec5fe;
-  --bs-secondary-border-subtle: #c4c8cb;
-  --bs-success-border-subtle: #a3cfbb;
-  --bs-info-border-subtle: #9eeaf9;
-  --bs-warning-border-subtle: #ffe69c;
-  --bs-danger-border-subtle: #f1aeb5;
-  --bs-light-border-subtle: #e9ecef;
-  --bs-dark-border-subtle: #adb5bd;
-  --bs-white-rgb: 255, 255, 255;
-  --bs-black-rgb: 0, 0, 0;
+  --bs-primary-base: var(--bs-blue-500);
+  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-300));
+  --bs-primary-bg: light-dark(var(--bs-blue-500), var(--bs-blue-500));
+  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));
+  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));
+  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));
+  --bs-primary-focus-ring: color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg));
+  --bs-primary-contrast: var(--bs-white);
+  --bs-accent-base: var(--bs-indigo-500);
+  --bs-accent-text: light-dark(var(--bs-indigo-600), var(--bs-indigo-300));
+  --bs-accent-bg: light-dark(var(--bs-indigo-500), var(--bs-indigo-500));
+  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));
+  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));
+  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));
+  --bs-accent-focus-ring: color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg));
+  --bs-accent-contrast: var(--bs-white);
+  --bs-danger-base: var(--bs-red-500);
+  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-300));
+  --bs-danger-bg: light-dark(var(--bs-red-500), var(--bs-red-500));
+  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));
+  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));
+  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));
+  --bs-danger-focus-ring: color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg));
+  --bs-danger-contrast: var(--bs-white);
+  --bs-warning-base: var(--bs-yellow-500);
+  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-300));
+  --bs-warning-bg: light-dark(var(--bs-yellow-500), var(--bs-yellow-500));
+  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));
+  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));
+  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));
+  --bs-warning-focus-ring: color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg));
+  --bs-warning-contrast: var(--bs-gray-900);
+  --bs-success-base: var(--bs-green-500);
+  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-300));
+  --bs-success-bg: light-dark(var(--bs-green-500), var(--bs-green-500));
+  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));
+  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));
+  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));
+  --bs-success-focus-ring: color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg));
+  --bs-success-contrast: var(--bs-white);
+  --bs-info-base: var(--bs-cyan-500);
+  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-300));
+  --bs-info-bg: light-dark(var(--bs-cyan-500), var(--bs-cyan-500));
+  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));
+  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));
+  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));
+  --bs-info-focus-ring: color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg));
+  --bs-info-contrast: var(--bs-gray-900);
+  --bs-secondary-base: var(--bs-gray-300);
+  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));
+  --bs-secondary-bg: light-dark(var(--bs-gray-300), var(--bs-gray-600));
+  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-800));
+  --bs-secondary-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-700));
+  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));
+  --bs-secondary-focus-ring: color-mix(in oklch, var(--bs-gray-500) 50%, var(--bs-bg));
+  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));
+  --bs-black: #000;
+  --bs-white: #fff;
+}
+
+:root,
+[data-bs-theme=light] {
+  --bs-white-rgb: to-rgb(#fff);
+  --bs-black-rgb: to-rgb(#000);
   --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-size: 1rem;
   --bs-body-font-weight: 400;
   --bs-body-line-height: 1.5;
+  --bs-bg: light-dark(var(--bs-white), var(--bs-gray-900));
+  --bs-bg-1: light-dark(var(--bs-gray-100), color-mix(in srgb, var(--bs-gray-900), var(--bs-gray-800)));
+  --bs-bg-2: light-dark(color-mix(in srgb, var(--bs-gray-100), var(--bs-gray-200)), color-mix(in srgb, var(--bs-gray-800), var(--bs-gray-700)));
+  --bs-bg-3: light-dark(color-mix(in srgb, var(--bs-gray-200), var(--bs-gray-300)), color-mix(in srgb, var(--bs-gray-700), var(--bs-gray-600)));
+  --bs-bg-white: var(--bs-white);
+  --bs-bg-black: var(--bs-black);
+  --bs-bg-transparent: transparent;
+  --bs-bg-inherit: inherit;
+  --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-100));
+  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));
+  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));
+  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-400));
+  --bs-fg-white: var(--bs-white);
+  --bs-fg-black: var(--bs-black);
+  --bs-fg-inherit: inherit;
+  --bs-border: light-dark(var(--bs-gray-300), var(--bs-gray-700));
+  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));
+  --bs-border-subtle: light-dark(var(--bs-gray-100), color-mix(in srgb, var(--bs-gray-800), var(--bs-gray-900)));
+  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));
   --bs-body-color: #212529;
-  --bs-body-color-rgb: 33, 37, 41;
+  --bs-body-color-rgb: to-rgb(#212529);
   --bs-body-bg: #fff;
-  --bs-body-bg-rgb: 255, 255, 255;
-  --bs-emphasis-color: #000;
-  --bs-emphasis-color-rgb: 0, 0, 0;
-  --bs-secondary-color: rgba(33, 37, 41, 0.75);
-  --bs-secondary-color-rgb: 33, 37, 41;
-  --bs-secondary-bg: #e9ecef;
-  --bs-secondary-bg-rgb: 233, 236, 239;
-  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
-  --bs-tertiary-color-rgb: 33, 37, 41;
-  --bs-tertiary-bg: #f8f9fa;
-  --bs-tertiary-bg-rgb: 248, 249, 250;
+  --bs-body-bg-rgb: to-rgb(#fff);
   --bs-heading-color: inherit;
-  --bs-link-color: #0d6efd;
-  --bs-link-color-rgb: 13, 110, 253;
+  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
   --bs-link-decoration: underline;
-  --bs-link-hover-color: #0a58ca;
-  --bs-link-hover-color-rgb: 10, 88, 202;
+  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
   --bs-code-color: #d63384;
   --bs-highlight-color: #212529;
   --bs-highlight-bg: #fff3cd;
   --bs-border-radius-lg: 0.5rem;
   --bs-border-radius-xl: 1rem;
   --bs-border-radius-xxl: 2rem;
-  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
   --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: 0.25rem;
-  --bs-focus-ring-opacity: 0.25;
-  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
-  --bs-form-valid-color: #198754;
-  --bs-form-valid-border-color: #198754;
-  --bs-form-invalid-color: #dc3545;
-  --bs-form-invalid-border-color: #dc3545;
+  --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);
 }
 
 [data-bs-theme=dark] {
   color-scheme: dark;
   --bs-body-color: #dee2e6;
-  --bs-body-color-rgb: 222, 226, 230;
+  --bs-body-color-rgb: to-rgb(#dee2e6);
   --bs-body-bg: #212529;
-  --bs-body-bg-rgb: 33, 37, 41;
+  --bs-body-bg-rgb: to-rgb(#212529);
   --bs-emphasis-color: #fff;
-  --bs-emphasis-color-rgb: 255, 255, 255;
+  --bs-emphasis-color-rgb: to-rgb(#fff);
   --bs-secondary-color: rgba(222, 226, 230, 0.75);
-  --bs-secondary-color-rgb: 222, 226, 230;
+  --bs-secondary-color-rgb: to-rgb(rgba(222, 226, 230, 0.75));
   --bs-secondary-bg: #343a40;
-  --bs-secondary-bg-rgb: 52, 58, 64;
+  --bs-secondary-bg-rgb: to-rgb(#343a40);
   --bs-tertiary-color: rgba(222, 226, 230, 0.5);
-  --bs-tertiary-color-rgb: 222, 226, 230;
-  --bs-tertiary-bg: #2b3035;
-  --bs-tertiary-bg-rgb: 43, 48, 53;
-  --bs-primary-text-emphasis: #6ea8fe;
-  --bs-secondary-text-emphasis: #a7acb1;
-  --bs-success-text-emphasis: #75b798;
-  --bs-info-text-emphasis: #6edff6;
-  --bs-warning-text-emphasis: #ffda6a;
-  --bs-danger-text-emphasis: #ea868f;
-  --bs-light-text-emphasis: #f8f9fa;
-  --bs-dark-text-emphasis: #dee2e6;
-  --bs-primary-bg-subtle: #031633;
-  --bs-secondary-bg-subtle: #161719;
-  --bs-success-bg-subtle: #051b11;
-  --bs-info-bg-subtle: #032830;
-  --bs-warning-bg-subtle: #332701;
-  --bs-danger-bg-subtle: #2c0b0e;
-  --bs-light-bg-subtle: #343a40;
-  --bs-dark-bg-subtle: #1a1d20;
-  --bs-primary-border-subtle: #084298;
-  --bs-secondary-border-subtle: #41464b;
-  --bs-success-border-subtle: #0f5132;
-  --bs-info-border-subtle: #087990;
-  --bs-warning-border-subtle: #997404;
-  --bs-danger-border-subtle: #842029;
-  --bs-light-border-subtle: #495057;
-  --bs-dark-border-subtle: #343a40;
+  --bs-tertiary-color-rgb: to-rgb(rgba(222, 226, 230, 0.5));
+  --bs-tertiary-bg: rgb(42.5, 47.5, 52.5);
+  --bs-tertiary-bg-rgb: to-rgb(rgb(42.5, 47.5, 52.5));
   --bs-heading-color: inherit;
-  --bs-link-color: #6ea8fe;
-  --bs-link-hover-color: #8bb9fe;
-  --bs-link-color-rgb: 110, 168, 254;
-  --bs-link-hover-color-rgb: 139, 185, 254;
-  --bs-code-color: #e685b5;
+  --bs-link-color: rgb(168.6, 141.6, 217.8);
+  --bs-link-hover-color: rgb(185.88, 164.28, 225.24);
+  --bs-link-color-rgb: to-rgb(rgb(168.6, 141.6, 217.8));
+  --bs-link-hover-color-rgb: to-rgb(rgb(185.88, 164.28, 225.24));
+  --bs-code-color: rgb(230.4, 132.6, 181.2);
   --bs-highlight-color: #dee2e6;
   --bs-highlight-bg: #664d03;
   --bs-border-color: #495057;
   --bs-form-invalid-border-color: #ea868f;
 }
 
-*,
-*::before,
-*::after {
-  box-sizing: border-box;
-}
-
-@media (prefers-reduced-motion: no-preference) {
-  :root {
-    scroll-behavior: smooth;
+@layer reboot {
+  *,
+  *::before,
+  *::after {
+    box-sizing: border-box;
   }
-}
-
-body {
-  margin: 0;
-  font-family: var(--bs-body-font-family);
-  font-size: var(--bs-body-font-size);
-  font-weight: var(--bs-body-font-weight);
-  line-height: var(--bs-body-line-height);
-  color: var(--bs-body-color);
-  text-align: var(--bs-body-text-align);
-  background-color: var(--bs-body-bg);
-  -webkit-text-size-adjust: 100%;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-hr {
-  margin: 1rem 0;
-  color: inherit;
-  border: 0;
-  border-top: var(--bs-border-width) solid;
-  opacity: 0.25;
-}
-
-h6, h5, h4, h3, h2, h1 {
-  margin-top: 0;
-  margin-bottom: 0.5rem;
-  font-weight: 500;
-  line-height: 1.2;
-  color: var(--bs-heading-color);
-}
-
-h1 {
-  font-size: calc(1.375rem + 1.5vw);
-}
-@media (min-width: 1200px) {
-  h1 {
-    font-size: 2.5rem;
+  @media (prefers-reduced-motion: no-preference) {
+    :root {
+      scroll-behavior: smooth;
+    }
   }
-}
-
-h2 {
-  font-size: calc(1.325rem + 0.9vw);
-}
-@media (min-width: 1200px) {
-  h2 {
-    font-size: 2rem;
+  body {
+    margin: 0;
+    font-family: var(--bs-body-font-family);
+    font-size: var(--bs-body-font-size);
+    font-weight: var(--bs-body-font-weight);
+    line-height: var(--bs-body-line-height);
+    color: var(--bs-body-color);
+    text-align: var(--bs-body-text-align);
+    background-color: var(--bs-body-bg);
+    -webkit-text-size-adjust: 100%;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
   }
-}
-
-h3 {
-  font-size: calc(1.3rem + 0.6vw);
-}
-@media (min-width: 1200px) {
-  h3 {
-    font-size: 1.75rem;
+  hr {
+    margin: 1rem 0;
+    color: inherit;
+    border: 0;
+    border-top: var(--bs-border-width) solid;
+    opacity: 0.25;
   }
-}
-
-h4 {
-  font-size: calc(1.275rem + 0.3vw);
-}
-@media (min-width: 1200px) {
-  h4 {
-    font-size: 1.5rem;
+  h6,
+  .h6, h5,
+  .h5, h4,
+  .h4, h3,
+  .h3, h2,
+  .h2, h1,
+  .h1 {
+    margin-top: 0;
+    margin-bottom: 0.5rem;
+    font-weight: 500;
+    line-height: 1.2;
+    color: var(--bs-heading-color);
+  }
+  h1,
+  .h1 {
+    font-size: calc(1.375rem + 1.5vw);
+  }
+  @media (min-width: 1200px) {
+    h1,
+    .h1 {
+      font-size: 2.5rem;
+    }
+  }
+  h2,
+  .h2 {
+    font-size: calc(1.325rem + 0.9vw);
+  }
+  @media (min-width: 1200px) {
+    h2,
+    .h2 {
+      font-size: 2rem;
+    }
+  }
+  h3,
+  .h3 {
+    font-size: calc(1.3rem + 0.6vw);
+  }
+  @media (min-width: 1200px) {
+    h3,
+    .h3 {
+      font-size: 1.75rem;
+    }
+  }
+  h4,
+  .h4 {
+    font-size: calc(1.275rem + 0.3vw);
+  }
+  @media (min-width: 1200px) {
+    h4,
+    .h4 {
+      font-size: 1.5rem;
+    }
+  }
+  h5,
+  .h5 {
+    font-size: 1.25rem;
+  }
+  h6,
+  .h6 {
+    font-size: 1rem;
+  }
+  p {
+    margin-top: 0;
+    margin-bottom: 1rem;
+  }
+  abbr[title] {
+    text-decoration: underline dotted;
+    cursor: help;
+    text-decoration-skip-ink: none;
+  }
+  address {
+    margin-bottom: 1rem;
+    font-style: normal;
+    line-height: inherit;
+  }
+  ol,
+  ul {
+    padding-left: 2rem;
+  }
+  ol,
+  ul,
+  dl {
+    margin-top: 0;
+    margin-bottom: 1rem;
+  }
+  ol ol,
+  ul ul,
+  ol ul,
+  ul ol {
+    margin-bottom: 0;
+  }
+  dt {
+    font-weight: 700;
+  }
+  dd {
+    margin-bottom: 0.5rem;
+    margin-left: 0;
+  }
+  blockquote {
+    margin: 0 0 1rem;
+  }
+  b,
+  strong {
+    font-weight: bolder;
+  }
+  small,
+  .small {
+    font-size: 0.875em;
+  }
+  mark,
+  .mark {
+    padding: 0.1875em;
+    color: var(--bs-highlight-color);
+    background-color: var(--bs-highlight-bg);
+  }
+  sub,
+  sup {
+    position: relative;
+    font-size: 0.75em;
+    line-height: 0;
+    vertical-align: baseline;
+  }
+  sub {
+    bottom: -0.25em;
+  }
+  sup {
+    top: -0.5em;
+  }
+  a {
+    color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
+    text-decoration: underline;
+  }
+  a:hover {
+    --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
+  }
+  a:not([href]):not([class]), a:not([href]):not([class]):hover {
+    color: inherit;
+    text-decoration: none;
+  }
+  pre,
+  code,
+  kbd,
+  samp {
+    font-family: var(--bs-font-monospace);
+    font-size: 1em;
+  }
+  pre {
+    display: block;
+    margin-top: 0;
+    margin-bottom: 1rem;
+    overflow: auto;
+    font-size: 0.875em;
+  }
+  pre code {
+    font-size: inherit;
+    color: inherit;
+    word-break: normal;
+  }
+  code {
+    font-size: 0.875em;
+    color: var(--bs-code-color);
+    word-wrap: break-word;
+  }
+  a > code {
+    color: inherit;
+  }
+  kbd {
+    padding: 0.1875rem 0.375rem;
+    font-size: 0.875em;
+    color: var(--bs-body-bg);
+    background-color: var(--bs-body-color);
+    border-radius: 0.25rem;
+  }
+  kbd kbd {
+    padding: 0;
+    font-size: 1em;
+    font-weight: inherit;
+  }
+  figure {
+    margin: 0 0 1rem;
+  }
+  img,
+  svg {
+    vertical-align: middle;
+  }
+  table {
+    caption-side: bottom;
+    border-collapse: collapse;
+  }
+  caption {
+    padding-block: 0.5rem;
+    color: var(--bs-secondary-color);
+    text-align: left;
+  }
+  th {
+    text-align: inherit;
+    text-align: -webkit-match-parent;
+  }
+  thead,
+  tbody,
+  tfoot,
+  tr,
+  td,
+  th {
+    border-color: inherit;
+    border-style: solid;
+    border-width: 0;
+  }
+  label {
+    display: inline-block;
+  }
+  button {
+    border-radius: 0;
+  }
+  button:focus:not(:focus-visible) {
+    outline: 0;
+  }
+  input,
+  button,
+  select,
+  optgroup,
+  textarea {
+    margin: 0;
+    font-family: inherit;
+    font-size: inherit;
+    line-height: inherit;
+  }
+  button,
+  select {
+    text-transform: none;
+  }
+  [role=button] {
+    cursor: pointer;
+  }
+  select {
+    word-wrap: normal;
+  }
+  select:disabled {
+    opacity: 1;
+  }
+  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
+    display: none !important;
+  }
+  button,
+  [type=button],
+  [type=reset],
+  [type=submit] {
+    -webkit-appearance: button;
+  }
+  button:not(:disabled),
+  [type=button]:not(:disabled),
+  [type=reset]:not(:disabled),
+  [type=submit]:not(:disabled) {
+    cursor: pointer;
+  }
+  ::-moz-focus-inner {
+    padding: 0;
+    border-style: none;
+  }
+  textarea {
+    resize: vertical;
+  }
+  fieldset {
+    min-width: 0;
+    padding: 0;
+    margin: 0;
+    border: 0;
   }
-}
-
-h5 {
-  font-size: 1.25rem;
-}
-
-h6 {
-  font-size: 1rem;
-}
-
-p {
-  margin-top: 0;
-  margin-bottom: 1rem;
-}
-
-abbr[title] {
-  -webkit-text-decoration: underline dotted;
-  text-decoration: underline dotted;
-  cursor: help;
-  -webkit-text-decoration-skip-ink: none;
-  text-decoration-skip-ink: none;
-}
-
-address {
-  margin-bottom: 1rem;
-  font-style: normal;
-  line-height: inherit;
-}
-
-ol,
-ul {
-  padding-left: 2rem;
-}
-
-ol,
-ul,
-dl {
-  margin-top: 0;
-  margin-bottom: 1rem;
-}
-
-ol ol,
-ul ul,
-ol ul,
-ul ol {
-  margin-bottom: 0;
-}
-
-dt {
-  font-weight: 700;
-}
-
-dd {
-  margin-bottom: 0.5rem;
-  margin-left: 0;
-}
-
-blockquote {
-  margin: 0 0 1rem;
-}
-
-b,
-strong {
-  font-weight: bolder;
-}
-
-small {
-  font-size: 0.875em;
-}
-
-mark {
-  padding: 0.1875em;
-  color: var(--bs-highlight-color);
-  background-color: var(--bs-highlight-bg);
-}
-
-sub,
-sup {
-  position: relative;
-  font-size: 0.75em;
-  line-height: 0;
-  vertical-align: baseline;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-sup {
-  top: -0.5em;
-}
-
-a {
-  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
-  text-decoration: underline;
-}
-a:hover {
-  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
-}
-
-a:not([href]):not([class]), a:not([href]):not([class]):hover {
-  color: inherit;
-  text-decoration: none;
-}
-
-pre,
-code,
-kbd,
-samp {
-  font-family: var(--bs-font-monospace);
-  font-size: 1em;
-}
-
-pre {
-  display: block;
-  margin-top: 0;
-  margin-bottom: 1rem;
-  overflow: auto;
-  font-size: 0.875em;
-}
-pre code {
-  font-size: inherit;
-  color: inherit;
-  word-break: normal;
-}
-
-code {
-  font-size: 0.875em;
-  color: var(--bs-code-color);
-  word-wrap: break-word;
-}
-a > code {
-  color: inherit;
-}
-
-kbd {
-  padding: 0.1875rem 0.375rem;
-  font-size: 0.875em;
-  color: var(--bs-body-bg);
-  background-color: var(--bs-body-color);
-  border-radius: 0.25rem;
-}
-kbd kbd {
-  padding: 0;
-  font-size: 1em;
-}
-
-figure {
-  margin: 0 0 1rem;
-}
-
-img,
-svg {
-  vertical-align: middle;
-}
-
-table {
-  caption-side: bottom;
-  border-collapse: collapse;
-}
-
-caption {
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-  color: var(--bs-secondary-color);
-  text-align: left;
-}
-
-th {
-  text-align: inherit;
-  text-align: -webkit-match-parent;
-}
-
-thead,
-tbody,
-tfoot,
-tr,
-td,
-th {
-  border-color: inherit;
-  border-style: solid;
-  border-width: 0;
-}
-
-label {
-  display: inline-block;
-}
-
-button {
-  border-radius: 0;
-}
-
-button:focus:not(:focus-visible) {
-  outline: 0;
-}
-
-input,
-button,
-select,
-optgroup,
-textarea {
-  margin: 0;
-  font-family: inherit;
-  font-size: inherit;
-  line-height: inherit;
-}
-
-button,
-select {
-  text-transform: none;
-}
-
-[role=button] {
-  cursor: pointer;
-}
-
-select {
-  word-wrap: normal;
-}
-select:disabled {
-  opacity: 1;
-}
-
-[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
-  display: none !important;
-}
-
-button,
-[type=button],
-[type=reset],
-[type=submit] {
-  -webkit-appearance: button;
-}
-button:not(:disabled),
-[type=button]:not(:disabled),
-[type=reset]:not(:disabled),
-[type=submit]:not(:disabled) {
-  cursor: pointer;
-}
-
-::-moz-focus-inner {
-  padding: 0;
-  border-style: none;
-}
-
-textarea {
-  resize: vertical;
-}
-
-fieldset {
-  min-width: 0;
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-legend {
-  float: left;
-  width: 100%;
-  padding: 0;
-  margin-bottom: 0.5rem;
-  line-height: inherit;
-  font-size: calc(1.275rem + 0.3vw);
-}
-@media (min-width: 1200px) {
   legend {
-    font-size: 1.5rem;
+    float: left;
+    width: 100%;
+    padding: 0;
+    margin-bottom: 0.5rem;
+    line-height: inherit;
+    font-size: calc(1.275rem + 0.3vw);
+  }
+  @media (min-width: 1200px) {
+    legend {
+      font-size: 1.5rem;
+    }
+  }
+  legend + * {
+    clear: left;
+  }
+  ::-webkit-datetime-edit-fields-wrapper,
+  ::-webkit-datetime-edit-text,
+  ::-webkit-datetime-edit-minute,
+  ::-webkit-datetime-edit-hour-field,
+  ::-webkit-datetime-edit-day-field,
+  ::-webkit-datetime-edit-month-field,
+  ::-webkit-datetime-edit-year-field {
+    padding: 0;
+  }
+  ::-webkit-inner-spin-button {
+    height: auto;
+  }
+  [type=search] {
+    -webkit-appearance: textfield;
+    outline-offset: -2px;
+  }
+  [type=search]::-webkit-search-cancel-button {
+    cursor: pointer;
+    filter: grayscale(1);
+  }
+  /* rtl:raw:
+  [type="tel"],
+  [type="url"],
+  [type="email"],
+  [type="number"] {
+    direction: ltr;
+  }
+  */
+  ::-webkit-search-decoration {
+    -webkit-appearance: none;
+  }
+  ::-webkit-color-swatch-wrapper {
+    padding: 0;
+  }
+  ::file-selector-button {
+    font: inherit;
+    -webkit-appearance: button;
+  }
+  output {
+    display: inline-block;
+  }
+  iframe {
+    border: 0;
+  }
+  summary {
+    display: list-item;
+    cursor: pointer;
+  }
+  progress {
+    vertical-align: baseline;
+  }
+  [hidden] {
+    display: none !important;
   }
-}
-legend + * {
-  clear: left;
-}
-
-::-webkit-datetime-edit-fields-wrapper,
-::-webkit-datetime-edit-text,
-::-webkit-datetime-edit-minute,
-::-webkit-datetime-edit-hour-field,
-::-webkit-datetime-edit-day-field,
-::-webkit-datetime-edit-month-field,
-::-webkit-datetime-edit-year-field {
-  padding: 0;
-}
-
-::-webkit-inner-spin-button {
-  height: auto;
-}
-
-[type=search] {
-  -webkit-appearance: textfield;
-  outline-offset: -2px;
-}
-[type=search]::-webkit-search-cancel-button {
-  cursor: pointer;
-  filter: grayscale(1);
-}
-
-/* rtl:raw:
-[type="tel"],
-[type="url"],
-[type="email"],
-[type="number"] {
-  direction: ltr;
-}
-*/
-::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-
-::-webkit-color-swatch-wrapper {
-  padding: 0;
-}
-
-::-webkit-file-upload-button {
-  font: inherit;
-  -webkit-appearance: button;
-}
-
-::file-selector-button {
-  font: inherit;
-  -webkit-appearance: button;
-}
-
-output {
-  display: inline-block;
-}
-
-iframe {
-  border: 0;
-}
-
-summary {
-  display: list-item;
-  cursor: pointer;
-}
-
-progress {
-  vertical-align: baseline;
-}
-
-[hidden] {
-  display: none !important;
 }
 
-/*# sourceMappingURL=bootstrap-reboot.css.map */
\ No newline at end of file
+/*# sourceMappingURL=bootstrap-reboot.css.map */
index d7184513853c0a2aee9b4b04bc6952c30aedf431..ccc4836d57bb25b8c3c4868fb436456530d69a77 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","bootstrap-reboot.css","../../scss/mixins/_color-mode.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","file":"bootstrap-reboot.css","sourcesContent":["@mixin bsBanner($file) {\n  /*!\n   * Bootstrap #{$file} v5.3.8 (https://getbootstrap.com/)\n   * Copyright 2011-2025 The Bootstrap Authors\n   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n   */\n}\n",":root,\n[data-bs-theme=\"light\"] {\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Colors\n  //\n  // Generate palettes for full colors, grays, and theme colors.\n\n  @each $color, $value in $colors {\n    --#{$prefix}#{$color}: #{$value};\n  }\n\n  @each $color, $value in $grays {\n    --#{$prefix}gray-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-colors {\n    --#{$prefix}#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-rgb {\n    --#{$prefix}#{$color}-rgb: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-text {\n    --#{$prefix}#{$color}-text-emphasis: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-bg-subtle {\n    --#{$prefix}#{$color}-bg-subtle: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-border-subtle {\n    --#{$prefix}#{$color}-border-subtle: #{$value};\n  }\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\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  --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{inspect($font-family-base)};\n  @include rfs($font-size-base, --#{$prefix}body-font-size);\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  --#{$prefix}body-color: #{$body-color};\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg: #{$body-bg};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n  --#{$prefix}emphasis-color: #{$body-emphasis-color};\n  --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n  --#{$prefix}secondary-color: #{$body-secondary-color};\n  --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n  --#{$prefix}secondary-bg: #{$body-secondary-bg};\n  --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n  --#{$prefix}tertiary-color: #{$body-tertiary-color};\n  --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n  --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n  --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  --#{$prefix}link-color: #{$link-color};\n  --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n  --#{$prefix}link-decoration: #{$link-decoration};\n\n  --#{$prefix}link-hover-color: #{$link-hover-color};\n  --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n  @if $link-hover-decoration != null {\n    --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n  }\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n  --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --#{$prefix}focus-ring-width: #{$focus-ring-width};\n  --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n  --#{$prefix}focus-ring-color: #{$focus-ring-color};\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}body-color: #{$body-color-dark};\n    --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n    --#{$prefix}body-bg: #{$body-bg-dark};\n    --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n    --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n    --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n    --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n    --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n    --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n    --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n    --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n    --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n    @each $color, $value in $theme-colors-text-dark {\n      --#{$prefix}#{$color}-text-emphasis: #{$value};\n    }\n\n    @each $color, $value in $theme-colors-bg-subtle-dark {\n      --#{$prefix}#{$color}-bg-subtle: #{$value};\n    }\n\n    @each $color, $value in $theme-colors-border-subtle-dark {\n      --#{$prefix}#{$color}-border-subtle: #{$value};\n    }\n\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}link-color: #{$link-color-dark};\n    --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n    --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n    --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n    --#{$prefix}code-color: #{$code-color-dark};\n    --#{$prefix}highlight-color: #{$mark-color-dark};\n    --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n  @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n  @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n  @error \"`#{$rfs-factor}` is not a valid  $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n  $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n  $dividend: abs($dividend);\n  $divisor: abs($divisor);\n  @if $dividend == 0 {\n    @return 0;\n  }\n  @if $divisor == 0 {\n    @error \"Cannot divide by 0\";\n  }\n  $remainder: $dividend;\n  $result: 0;\n  $factor: 10;\n  @while ($remainder > 0 and $precision >= 0) {\n    $quotient: 0;\n    @while ($remainder >= $divisor) {\n      $remainder: $remainder - $divisor;\n      $quotient: $quotient + 1;\n    }\n    $result: $result * 10 + $quotient;\n    $factor: $factor * .1;\n    $remainder: $remainder * 10;\n    $precision: $precision - 1;\n    @if ($precision < 0 and $remainder >= $divisor * 5) {\n      $result: $result + 1;\n    }\n  }\n  $result: $result * $factor * $sign;\n  $dividend-unit: unit($dividend);\n  $divisor-unit: unit($divisor);\n  $unit-map: (\n    \"px\": 1px,\n    \"rem\": 1rem,\n    \"em\": 1em,\n    \"%\": 1%\n  );\n  @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n    $result: $result * map-get($unit-map, $dividend-unit);\n  }\n  @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n  $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n  $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n  $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n  $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n  @if $rfs-two-dimensional {\n    @if $rfs-mode == max-media-query {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n    @else {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n  }\n  @else {\n    @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n      @content;\n    }\n  }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n  @if $rfs-class == disable and $rfs-mode == max-media-query {\n    // Adding an extra class increases specificity, which prevents the media query to override the property\n    &,\n    .disable-rfs &,\n    &.disable-rfs {\n      @content;\n    }\n  }\n  @else if $rfs-class == enable and $rfs-mode == min-media-query {\n    .enable-rfs &,\n    &.enable-rfs {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n  @if $rfs-class == enable {\n    @if $rfs-mode == min-media-query {\n      @content;\n    }\n\n    @include _rfs-media-query () {\n      .enable-rfs &,\n      &.enable-rfs {\n        @content;\n      }\n    }\n  }\n  @else {\n    @if $rfs-class == disable and $rfs-mode == min-media-query {\n      .disable-rfs &,\n      &.disable-rfs {\n        @content;\n      }\n    }\n    @include _rfs-media-query () {\n      @content;\n    }\n  }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n  // Convert to list\n  $values: if(type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    }\n    @else {\n      // Cache $value unit\n      $unit: if(type-of($value) == \"number\", unit($value), false);\n\n      @if $unit == px {\n        // Convert to rem if needed\n        $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n      }\n      @else if $unit == rem {\n        // Convert to px if needed\n        $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n      } @else {\n        // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n        $val: $val + \" \" + $value;\n      }\n    }\n  }\n\n  // Remove first space\n  @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n  // Convert to list\n  $values: if(type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    } @else {\n      // Cache $value unit\n      $unit: if(type-of($value) == \"number\", unit($value), false);\n\n      // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n      @if not $unit or $unit != px and $unit != rem {\n        $val: $val + \" \" + $value;\n      } @else {\n        // Remove unit from $value for calculations\n        $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n        // Only add the media query if the value is greater than the minimum value\n        @if abs($value) <= $rfs-base-value or not $enable-rfs {\n          $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n        }\n        @else {\n          // Calculate the minimum value\n          $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n          // Calculate difference between $value and the minimum value\n          $value-diff: abs($value) - $value-min;\n\n          // Base value formatting\n          $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n          // Use negative value if needed\n          $min-width: if($value < 0, -$min-width, $min-width);\n\n          // Use `vmin` if two-dimensional is enabled\n          $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n          // Calculate the variable width between 0 and $rfs-breakpoint\n          $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n          // Return the calculated value\n          $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n        }\n      }\n    }\n  }\n\n  // Remove first space\n  @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n  @if $values != null {\n    $val: rfs-value($values);\n    $fluid-val: rfs-fluid-value($values);\n\n    // Do not print the media query if responsive & non-responsive values are the same\n    @if $val == $fluid-val {\n      #{$property}: $val;\n    }\n    @else {\n      @include _rfs-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n        // Include safari iframe resize fix if needed\n        min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n      }\n\n      @include _rfs-media-query-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n      }\n    }\n  }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n  @include rfs($value);\n}\n\n@mixin padding($value) {\n  @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n  @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n  @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n  @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n  @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n  @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n  @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n  @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n  @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n  @include rfs($value, margin-left);\n}\n","/*!\n * Bootstrap Reboot v5.3.8 (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[data-bs-theme=light] {\n  --bs-blue: #0d6efd;\n  --bs-indigo: #6610f2;\n  --bs-purple: #6f42c1;\n  --bs-pink: #d63384;\n  --bs-red: #dc3545;\n  --bs-orange: #fd7e14;\n  --bs-yellow: #ffc107;\n  --bs-green: #198754;\n  --bs-teal: #20c997;\n  --bs-cyan: #0dcaf0;\n  --bs-black: #000;\n  --bs-white: #fff;\n  --bs-gray: #6c757d;\n  --bs-gray-dark: #343a40;\n  --bs-gray-100: #f8f9fa;\n  --bs-gray-200: #e9ecef;\n  --bs-gray-300: #dee2e6;\n  --bs-gray-400: #ced4da;\n  --bs-gray-500: #adb5bd;\n  --bs-gray-600: #6c757d;\n  --bs-gray-700: #495057;\n  --bs-gray-800: #343a40;\n  --bs-gray-900: #212529;\n  --bs-primary: #0d6efd;\n  --bs-secondary: #6c757d;\n  --bs-success: #198754;\n  --bs-info: #0dcaf0;\n  --bs-warning: #ffc107;\n  --bs-danger: #dc3545;\n  --bs-light: #f8f9fa;\n  --bs-dark: #212529;\n  --bs-primary-rgb: 13, 110, 253;\n  --bs-secondary-rgb: 108, 117, 125;\n  --bs-success-rgb: 25, 135, 84;\n  --bs-info-rgb: 13, 202, 240;\n  --bs-warning-rgb: 255, 193, 7;\n  --bs-danger-rgb: 220, 53, 69;\n  --bs-light-rgb: 248, 249, 250;\n  --bs-dark-rgb: 33, 37, 41;\n  --bs-primary-text-emphasis: #052c65;\n  --bs-secondary-text-emphasis: #2b2f32;\n  --bs-success-text-emphasis: #0a3622;\n  --bs-info-text-emphasis: #055160;\n  --bs-warning-text-emphasis: #664d03;\n  --bs-danger-text-emphasis: #58151c;\n  --bs-light-text-emphasis: #495057;\n  --bs-dark-text-emphasis: #495057;\n  --bs-primary-bg-subtle: #cfe2ff;\n  --bs-secondary-bg-subtle: #e2e3e5;\n  --bs-success-bg-subtle: #d1e7dd;\n  --bs-info-bg-subtle: #cff4fc;\n  --bs-warning-bg-subtle: #fff3cd;\n  --bs-danger-bg-subtle: #f8d7da;\n  --bs-light-bg-subtle: #fcfcfd;\n  --bs-dark-bg-subtle: #ced4da;\n  --bs-primary-border-subtle: #9ec5fe;\n  --bs-secondary-border-subtle: #c4c8cb;\n  --bs-success-border-subtle: #a3cfbb;\n  --bs-info-border-subtle: #9eeaf9;\n  --bs-warning-border-subtle: #ffe69c;\n  --bs-danger-border-subtle: #f1aeb5;\n  --bs-light-border-subtle: #e9ecef;\n  --bs-dark-border-subtle: #adb5bd;\n  --bs-white-rgb: 255, 255, 255;\n  --bs-black-rgb: 0, 0, 0;\n  --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\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-body-font-size: 1rem;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color: #212529;\n  --bs-body-color-rgb: 33, 37, 41;\n  --bs-body-bg: #fff;\n  --bs-body-bg-rgb: 255, 255, 255;\n  --bs-emphasis-color: #000;\n  --bs-emphasis-color-rgb: 0, 0, 0;\n  --bs-secondary-color: rgba(33, 37, 41, 0.75);\n  --bs-secondary-color-rgb: 33, 37, 41;\n  --bs-secondary-bg: #e9ecef;\n  --bs-secondary-bg-rgb: 233, 236, 239;\n  --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n  --bs-tertiary-color-rgb: 33, 37, 41;\n  --bs-tertiary-bg: #f8f9fa;\n  --bs-tertiary-bg-rgb: 248, 249, 250;\n  --bs-heading-color: inherit;\n  --bs-link-color: #0d6efd;\n  --bs-link-color-rgb: 13, 110, 253;\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: #0a58ca;\n  --bs-link-hover-color-rgb: 10, 88, 202;\n  --bs-code-color: #d63384;\n  --bs-highlight-color: #212529;\n  --bs-highlight-bg: #fff3cd;\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: #dee2e6;\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.375rem;\n  --bs-border-radius-sm: 0.25rem;\n  --bs-border-radius-lg: 0.5rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-xxl: 2rem;\n  --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 0.25rem;\n  --bs-focus-ring-opacity: 0.25;\n  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);\n  --bs-form-valid-color: #198754;\n  --bs-form-valid-border-color: #198754;\n  --bs-form-invalid-color: #dc3545;\n  --bs-form-invalid-border-color: #dc3545;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n  --bs-body-color: #dee2e6;\n  --bs-body-color-rgb: 222, 226, 230;\n  --bs-body-bg: #212529;\n  --bs-body-bg-rgb: 33, 37, 41;\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: 255, 255, 255;\n  --bs-secondary-color: rgba(222, 226, 230, 0.75);\n  --bs-secondary-color-rgb: 222, 226, 230;\n  --bs-secondary-bg: #343a40;\n  --bs-secondary-bg-rgb: 52, 58, 64;\n  --bs-tertiary-color: rgba(222, 226, 230, 0.5);\n  --bs-tertiary-color-rgb: 222, 226, 230;\n  --bs-tertiary-bg: #2b3035;\n  --bs-tertiary-bg-rgb: 43, 48, 53;\n  --bs-primary-text-emphasis: #6ea8fe;\n  --bs-secondary-text-emphasis: #a7acb1;\n  --bs-success-text-emphasis: #75b798;\n  --bs-info-text-emphasis: #6edff6;\n  --bs-warning-text-emphasis: #ffda6a;\n  --bs-danger-text-emphasis: #ea868f;\n  --bs-light-text-emphasis: #f8f9fa;\n  --bs-dark-text-emphasis: #dee2e6;\n  --bs-primary-bg-subtle: #031633;\n  --bs-secondary-bg-subtle: #161719;\n  --bs-success-bg-subtle: #051b11;\n  --bs-info-bg-subtle: #032830;\n  --bs-warning-bg-subtle: #332701;\n  --bs-danger-bg-subtle: #2c0b0e;\n  --bs-light-bg-subtle: #343a40;\n  --bs-dark-bg-subtle: #1a1d20;\n  --bs-primary-border-subtle: #084298;\n  --bs-secondary-border-subtle: #41464b;\n  --bs-success-border-subtle: #0f5132;\n  --bs-info-border-subtle: #087990;\n  --bs-warning-border-subtle: #997404;\n  --bs-danger-border-subtle: #842029;\n  --bs-light-border-subtle: #495057;\n  --bs-dark-border-subtle: #343a40;\n  --bs-heading-color: inherit;\n  --bs-link-color: #6ea8fe;\n  --bs-link-hover-color: #8bb9fe;\n  --bs-link-color-rgb: 110, 168, 254;\n  --bs-link-hover-color-rgb: 139, 185, 254;\n  --bs-code-color: #e685b5;\n  --bs-highlight-color: #dee2e6;\n  --bs-highlight-bg: #664d03;\n  --bs-border-color: #495057;\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: #75b798;\n  --bs-form-valid-border-color: #75b798;\n  --bs-form-invalid-color: #ea868f;\n  --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  :root {\n    scroll-behavior: smooth;\n  }\n}\n\nbody {\n  margin: 0;\n  font-family: var(--bs-body-font-family);\n  font-size: var(--bs-body-font-size);\n  font-weight: var(--bs-body-font-weight);\n  line-height: var(--bs-body-line-height);\n  color: var(--bs-body-color);\n  text-align: var(--bs-body-text-align);\n  background-color: var(--bs-body-bg);\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n  margin: 1rem 0;\n  color: inherit;\n  border: 0;\n  border-top: var(--bs-border-width) solid;\n  opacity: 0.25;\n}\n\nh6, h5, h4, h3, h2, h1 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n  font-weight: 500;\n  line-height: 1.2;\n  color: var(--bs-heading-color);\n}\n\nh1 {\n  font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n  h1 {\n    font-size: 2.5rem;\n  }\n}\n\nh2 {\n  font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n  h2 {\n    font-size: 2rem;\n  }\n}\n\nh3 {\n  font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n  h3 {\n    font-size: 1.75rem;\n  }\n}\n\nh4 {\n  font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n  h4 {\n    font-size: 1.5rem;\n  }\n}\n\nh5 {\n  font-size: 1.25rem;\n}\n\nh6 {\n  font-size: 1rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title] {\n  text-decoration: underline dotted;\n  cursor: help;\n  text-decoration-skip-ink: none;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul {\n  padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: 0.5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall {\n  font-size: 0.875em;\n}\n\nmark {\n  padding: 0.1875em;\n  color: var(--bs-highlight-color);\n  background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 0.75em;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\na {\n  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n  text-decoration: underline;\n}\na:hover {\n  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: var(--bs-font-monospace);\n  font-size: 1em;\n}\n\npre {\n  display: block;\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n  font-size: 0.875em;\n}\npre code {\n  font-size: inherit;\n  color: inherit;\n  word-break: normal;\n}\n\ncode {\n  font-size: 0.875em;\n  color: var(--bs-code-color);\n  word-wrap: break-word;\n}\na > code {\n  color: inherit;\n}\n\nkbd {\n  padding: 0.1875rem 0.375rem;\n  font-size: 0.875em;\n  color: var(--bs-body-bg);\n  background-color: var(--bs-body-color);\n  border-radius: 0.25rem;\n}\nkbd kbd {\n  padding: 0;\n  font-size: 1em;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n  vertical-align: middle;\n}\n\ntable {\n  caption-side: bottom;\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n  color: var(--bs-secondary-color);\n  text-align: left;\n}\n\nth {\n  text-align: inherit;\n  text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n  border-color: inherit;\n  border-style: solid;\n  border-width: 0;\n}\n\nlabel {\n  display: inline-block;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n  outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n[role=button] {\n  cursor: pointer;\n}\n\nselect {\n  word-wrap: normal;\n}\nselect:disabled {\n  opacity: 1;\n}\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\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n  -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n  cursor: pointer;\n}\n\n::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ntextarea {\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  float: left;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 0.5rem;\n  line-height: inherit;\n  font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n  legend {\n    font-size: 1.5rem;\n  }\n}\nlegend + * {\n  clear: left;\n}\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[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\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n  direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n  padding: 0;\n}\n\n::file-selector-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\niframe {\n  border: 0;\n}\n\nsummary {\n  display: list-item;\n  cursor: pointer;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[hidden] {\n  display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\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","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\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    @include font-size(var(--#{$prefix}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\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\nbody {\n  margin: 0; // 1\n  font-family: var(--#{$prefix}body-font-family);\n  @include font-size(var(--#{$prefix}body-font-size));\n  font-weight: var(--#{$prefix}body-font-weight);\n  line-height: var(--#{$prefix}body-line-height);\n  color: var(--#{$prefix}body-color);\n  text-align: var(--#{$prefix}body-text-align);\n  background-color: var(--#{$prefix}body-bg); // 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\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n  margin: $hr-margin-y 0;\n  color: $hr-color; // 1\n  border: 0;\n  border-top: $hr-border-width solid $hr-border-color;\n  opacity: $hr-opacity;\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(--#{$prefix}heading-color);\n}\n\nh1 {\n  @extend %heading;\n  @include font-size($h1-font-size);\n}\n\nh2 {\n  @extend %heading;\n  @include font-size($h2-font-size);\n}\n\nh3 {\n  @extend %heading;\n  @include font-size($h3-font-size);\n}\n\nh4 {\n  @extend %heading;\n  @include font-size($h4-font-size);\n}\n\nh5 {\n  @extend %heading;\n  @include font-size($h5-font-size);\n}\n\nh6 {\n  @extend %heading;\n  @include 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\np {\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\nabbr[title] {\n  text-decoration: underline dotted; // 1\n  cursor: help; // 2\n  text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n  padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n  font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n  @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n  padding: $mark-padding;\n  color: var(--#{$prefix}highlight-color);\n  background-color: var(--#{$prefix}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\nsub,\nsup {\n  position: relative;\n  @include font-size($sub-sup-font-size);\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n  color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n  text-decoration: $link-decoration;\n\n  &:hover {\n    --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n    text-decoration: $link-hover-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\na:not([href]):not([class]) {\n  &,\n  &:hover {\n    color: inherit;\n    text-decoration: none;\n  }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: $font-family-code;\n  @include 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\npre {\n  display: block;\n  margin-top: 0; // 1\n  margin-bottom: 1rem; // 2\n  overflow: auto; // 3\n  @include 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    @include font-size(inherit);\n    color: inherit;\n    word-break: normal;\n  }\n}\n\ncode {\n  @include font-size($code-font-size);\n  color: var(--#{$prefix}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\nkbd {\n  padding: $kbd-padding-y $kbd-padding-x;\n  @include 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    @include font-size(1em);\n    font-weight: $nested-kbd-font-weight;\n  }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n  margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n  vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n  caption-side: bottom;\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: $table-cell-padding-y;\n  padding-bottom: $table-cell-padding-y;\n  color: $table-caption-color;\n  text-align: left;\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\nth {\n  font-weight: $table-th-font-weight; // 1\n  text-align: inherit; // 2\n  text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\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\nlabel {\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\nbutton {\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\nbutton:focus:not(:focus-visible) {\n  outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // 1\n  font-family: inherit;\n  @include font-size(inherit);\n  line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\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\nselect {\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\nbutton,\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\ntextarea {\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\nfieldset {\n  min-width: 0; // 1\n  padding: 0; // 2\n  margin: 0; // 2\n  border: 0; // 2\n}\n\n// 1. By using `float: left`, 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\nlegend {\n  float: left; // 1\n  width: 100%;\n  padding: 0;\n  margin-bottom: $legend-margin-bottom;\n  font-weight: $legend-font-weight;\n  line-height: inherit;\n  @include font-size($legend-font-size);\n\n  + * {\n    clear: left; // 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// 1. A few input types should stay LTR\n// See https://rtlstyling.com/posts/rtl-styling#form-inputs\n// 2. RTL only output\n// See https://rtlcss.com/learn/usage-guide/control-directives/#raw\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n  direction: ltr;\n}\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\noutput {\n  display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n  border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\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\nprogress {\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","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white:    #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black:    #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n  \"100\": $gray-100,\n  \"200\": $gray-200,\n  \"300\": $gray-300,\n  \"400\": $gray-400,\n  \"500\": $gray-500,\n  \"600\": $gray-600,\n  \"700\": $gray-700,\n  \"800\": $gray-800,\n  \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue:    #0d6efd !default;\n$indigo:  #6610f2 !default;\n$purple:  #6f42c1 !default;\n$pink:    #d63384 !default;\n$red:     #dc3545 !default;\n$orange:  #fd7e14 !default;\n$yellow:  #ffc107 !default;\n$green:   #198754 !default;\n$teal:    #20c997 !default;\n$cyan:    #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n  \"blue\":       $blue,\n  \"indigo\":     $indigo,\n  \"purple\":     $purple,\n  \"pink\":       $pink,\n  \"red\":        $red,\n  \"orange\":     $orange,\n  \"yellow\":     $yellow,\n  \"green\":      $green,\n  \"teal\":       $teal,\n  \"cyan\":       $cyan,\n  \"black\":      $black,\n  \"white\":      $white,\n  \"gray\":       $gray-600,\n  \"gray-dark\":  $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.2 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG/#contrast-minimum\n$min-contrast-ratio:   4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark:      $black !default;\n$color-contrast-light:     $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n  \"blue-100\": $blue-100,\n  \"blue-200\": $blue-200,\n  \"blue-300\": $blue-300,\n  \"blue-400\": $blue-400,\n  \"blue-500\": $blue-500,\n  \"blue-600\": $blue-600,\n  \"blue-700\": $blue-700,\n  \"blue-800\": $blue-800,\n  \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n  \"indigo-100\": $indigo-100,\n  \"indigo-200\": $indigo-200,\n  \"indigo-300\": $indigo-300,\n  \"indigo-400\": $indigo-400,\n  \"indigo-500\": $indigo-500,\n  \"indigo-600\": $indigo-600,\n  \"indigo-700\": $indigo-700,\n  \"indigo-800\": $indigo-800,\n  \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n  \"purple-100\": $purple-100,\n  \"purple-200\": $purple-200,\n  \"purple-300\": $purple-300,\n  \"purple-400\": $purple-400,\n  \"purple-500\": $purple-500,\n  \"purple-600\": $purple-600,\n  \"purple-700\": $purple-700,\n  \"purple-800\": $purple-800,\n  \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n  \"pink-100\": $pink-100,\n  \"pink-200\": $pink-200,\n  \"pink-300\": $pink-300,\n  \"pink-400\": $pink-400,\n  \"pink-500\": $pink-500,\n  \"pink-600\": $pink-600,\n  \"pink-700\": $pink-700,\n  \"pink-800\": $pink-800,\n  \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n  \"red-100\": $red-100,\n  \"red-200\": $red-200,\n  \"red-300\": $red-300,\n  \"red-400\": $red-400,\n  \"red-500\": $red-500,\n  \"red-600\": $red-600,\n  \"red-700\": $red-700,\n  \"red-800\": $red-800,\n  \"red-900\": $red-900\n) !default;\n\n$oranges: (\n  \"orange-100\": $orange-100,\n  \"orange-200\": $orange-200,\n  \"orange-300\": $orange-300,\n  \"orange-400\": $orange-400,\n  \"orange-500\": $orange-500,\n  \"orange-600\": $orange-600,\n  \"orange-700\": $orange-700,\n  \"orange-800\": $orange-800,\n  \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n  \"yellow-100\": $yellow-100,\n  \"yellow-200\": $yellow-200,\n  \"yellow-300\": $yellow-300,\n  \"yellow-400\": $yellow-400,\n  \"yellow-500\": $yellow-500,\n  \"yellow-600\": $yellow-600,\n  \"yellow-700\": $yellow-700,\n  \"yellow-800\": $yellow-800,\n  \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n  \"green-100\": $green-100,\n  \"green-200\": $green-200,\n  \"green-300\": $green-300,\n  \"green-400\": $green-400,\n  \"green-500\": $green-500,\n  \"green-600\": $green-600,\n  \"green-700\": $green-700,\n  \"green-800\": $green-800,\n  \"green-900\": $green-900\n) !default;\n\n$teals: (\n  \"teal-100\": $teal-100,\n  \"teal-200\": $teal-200,\n  \"teal-300\": $teal-300,\n  \"teal-400\": $teal-400,\n  \"teal-500\": $teal-500,\n  \"teal-600\": $teal-600,\n  \"teal-700\": $teal-700,\n  \"teal-800\": $teal-800,\n  \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n  \"cyan-100\": $cyan-100,\n  \"cyan-200\": $cyan-200,\n  \"cyan-300\": $cyan-300,\n  \"cyan-400\": $cyan-400,\n  \"cyan-500\": $cyan-500,\n  \"cyan-600\": $cyan-600,\n  \"cyan-700\": $cyan-700,\n  \"cyan-800\": $cyan-800,\n  \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary:       $blue !default;\n$secondary:     $gray-600 !default;\n$success:       $green !default;\n$info:          $cyan !default;\n$warning:       $yellow !default;\n$danger:        $red !default;\n$light:         $gray-100 !default;\n$dark:          $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// scss-docs-start theme-text-variables\n$primary-text-emphasis:   shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis:   shade-color($success, 60%) !default;\n$info-text-emphasis:      shade-color($info, 60%) !default;\n$warning-text-emphasis:   shade-color($warning, 60%) !default;\n$danger-text-emphasis:    shade-color($danger, 60%) !default;\n$light-text-emphasis:     $gray-700 !default;\n$dark-text-emphasis:      $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle:       tint-color($primary, 80%) !default;\n$secondary-bg-subtle:     tint-color($secondary, 80%) !default;\n$success-bg-subtle:       tint-color($success, 80%) !default;\n$info-bg-subtle:          tint-color($info, 80%) !default;\n$warning-bg-subtle:       tint-color($warning, 80%) !default;\n$danger-bg-subtle:        tint-color($danger, 80%) !default;\n$light-bg-subtle:         mix($gray-100, $white) !default;\n$dark-bg-subtle:          $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle:   tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle:   tint-color($success, 60%) !default;\n$info-border-subtle:      tint-color($info, 60%) !default;\n$warning-border-subtle:   tint-color($warning, 60%) !default;\n$danger-border-subtle:    tint-color($danger, 60%) !default;\n$light-border-subtle:     $gray-200 !default;\n$dark-border-subtle:      $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\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$enable-important-utilities:  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\n$variable-prefix:             bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix:                      $variable-prefix !default;\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$body-color:                $gray-900 !default;\n$body-bg:                   $white !default;\n\n$body-secondary-color:      rgba($body-color, .75) !default;\n$body-secondary-bg:         $gray-200 !default;\n\n$body-tertiary-color:       rgba($body-color, .5) !default;\n$body-tertiary-bg:          $gray-100 !default;\n\n$body-emphasis-color:       $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              $primary !default;\n$link-decoration:                         underline !default;\n$link-shade-percentage:                   20% !default;\n$link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration:                   null !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// 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: 992px,\n  xl: 1200px,\n  xxl: 1400px\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\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: 1140px,\n  xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\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// Container padding\n\n$container-padding-x: $grid-gutter-width !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:                $gray-300 !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .375rem !default;\n$border-radius-sm:            .25rem !default;\n$border-radius-lg:            .5rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-xxl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl:           $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\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$component-active-color:      $white !default;\n$component-active-bg:         $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      rgba($primary, $focus-ring-opacity) !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// scss-docs-start caret-variables\n$caret-width:                 .3em !default;\n$caret-vertical-align:        $caret-width * .85 !default;\n$caret-spacing:               $caret-width * .85 !default;\n// scss-docs-end caret-variables\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// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"1x1\": 100%,\n  \"4x3\": calc(3 / 4 * 100%),\n  \"16x9\": calc(9 / 16 * 100%),\n  \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\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(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}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:              null !default;\n$font-size-base:              1rem !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:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n  1: $h1-font-size,\n  2: $h2-font-size,\n  3: $h3-font-size,\n  4: $h4-font-size,\n  5: $h5-font-size,\n  6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\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 display-headings\n$display-font-sizes: (\n  1: 5rem,\n  2: 4.5rem,\n  3: 4rem,\n  4: 3.5rem,\n  5: 3rem,\n  6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style:  null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size:              $font-size-base * 1.25 !default;\n$lead-font-weight:            300 !default;\n\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n// fusv-disable\n$text-muted:                  var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\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:     $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n// fusv-disable\n$hr-bg-color:                 null !default; // Deprecated in v5.2.0\n$hr-height:                   null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}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:                  $body-color !default;\n$mark-bg:                     $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\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(--#{$prefix}emphasis-color) !default;\n$table-bg:                    var(--#{$prefix}body-bg) !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:            rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor:         .2 !default;\n$table-border-width:          var(--#{$prefix}border-width) !default;\n$table-border-color:          var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale:              -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n  \"primary\":    shift-color($primary, $table-bg-scale),\n  \"secondary\":  shift-color($secondary, $table-bg-scale),\n  \"success\":    shift-color($success, $table-bg-scale),\n  \"info\":       shift-color($info, $table-bg-scale),\n  \"warning\":    shift-color($warning, $table-bg-scale),\n  \"danger\":     shift-color($danger, $table-bg-scale),\n  \"light\":      $light,\n  \"dark\":       $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\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(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}body-color) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     $gray-600 !default;\n$btn-link-focus-shadow-rgb:   to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount:       15% !default;\n$btn-hover-bg-tint-amount:        15% !default;\n$btn-hover-border-shade-amount:   20% !default;\n$btn-hover-border-tint-amount:    10% !default;\n$btn-active-bg-shade-amount:      20% !default;\n$btn-active-bg-tint-amount:       20% !default;\n$btn-active-border-shade-amount:  25% !default;\n$btn-active-border-tint-amount:   10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\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(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\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// 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(--#{$prefix}body-bg) !default;\n$input-disabled-color:                  null !default;\n$input-disabled-bg:                     var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color:           null !default;\n\n$input-color:                           var(--#{$prefix}body-color) !default;\n$input-border-color:                    var(--#{$prefix}border-color) !default;\n$input-border-width:                    $input-btn-border-width !default;\n$input-box-shadow:                      var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius:                   var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm:                var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg:                var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              tint-color($component-active-bg, 50%) !default;\n$input-focus-color:                     $input-color !default;\n$input-focus-width:                     $input-btn-focus-width !default;\n$input-focus-box-shadow:                $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color:               var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color:                 var(--#{$prefix}body-color) !default;\n\n$input-height-border:                   calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\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\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-check-variables\n$form-check-input-width:                  1em !default;\n$form-check-min-height:                   $font-size-base * $line-height-base !default;\n$form-check-padding-start:                $form-check-input-width + .5em !default;\n$form-check-margin-bottom:                .125rem !default;\n$form-check-label-color:                  null !default;\n$form-check-label-cursor:                 null !default;\n$form-check-transition:                   null !default;\n\n$form-check-input-active-filter:          brightness(90%) !default;\n\n$form-check-input-bg:                     $input-bg !default;\n$form-check-input-border:                 var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius:          .25em !default;\n$form-check-radio-border-radius:          50% !default;\n$form-check-input-focus-border:           $input-focus-border-color !default;\n$form-check-input-focus-box-shadow:       $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color:          $component-active-color !default;\n$form-check-input-checked-bg-color:       $component-active-bg !default;\n$form-check-input-checked-border-color:   $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color:          $component-active-color !default;\n$form-check-input-indeterminate-bg-color:       $component-active-bg !default;\n$form-check-input-indeterminate-border-color:   $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity:        .5 !default;\n$form-check-label-disabled-opacity:        $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity:    $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end:    1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color:               rgba($black, .25) !default;\n$form-switch-width:               2em !default;\n$form-switch-padding-start:       $form-switch-width + .5em !default;\n$form-switch-bg-image:            url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius:       $form-switch-width !default;\n$form-switch-transition:          background-position .15s ease-in-out !default;\n\n$form-switch-focus-color:         $input-focus-border-color !default;\n$form-switch-focus-bg-image:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color:       $component-active-color !default;\n$form-switch-checked-bg-image:    url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\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(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y:             $input-padding-y !default;\n$form-select-padding-x:             $input-padding-x !default;\n$form-select-font-family:           $input-font-family !default;\n$form-select-font-size:             $input-font-size !default;\n$form-select-indicator-padding:     $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight:           $input-font-weight !default;\n$form-select-line-height:           $input-line-height !default;\n$form-select-color:                 $input-color !default;\n$form-select-bg:                    $input-bg !default;\n$form-select-disabled-color:        null !default;\n$form-select-disabled-bg:           $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position:           right $form-select-padding-x center !default;\n$form-select-bg-size:               16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color:       $gray-800 !default;\n$form-select-indicator:             url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position:    center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size:        $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width:        $input-border-width !default;\n$form-select-border-color:        $input-border-color !default;\n$form-select-border-radius:       $input-border-radius !default;\n$form-select-box-shadow:          var(--#{$prefix}box-shadow-inset) !default;\n\n$form-select-focus-border-color:  $input-focus-border-color !default;\n$form-select-focus-width:         $input-focus-width !default;\n$form-select-focus-box-shadow:    0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm:        $input-padding-y-sm !default;\n$form-select-padding-x-sm:        $input-padding-x-sm !default;\n$form-select-font-size-sm:        $input-font-size-sm !default;\n$form-select-border-radius-sm:    $input-border-radius-sm !default;\n\n$form-select-padding-y-lg:        $input-padding-y-lg !default;\n$form-select-padding-x-lg:        $input-padding-x-lg !default;\n$form-select-font-size-lg:        $input-font-size-lg !default;\n$form-select-border-radius-lg:    $input-border-radius-lg !default;\n\n$form-select-transition:          $input-transition !default;\n// scss-docs-end form-select-variables\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(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--#{$prefix}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-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--#{$prefix}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// scss-docs-start form-file-variables\n$form-file-button-color:          $input-color !default;\n$form-file-button-bg:             var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  add(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:    $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// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          $form-text-margin-top !default;\n$form-feedback-font-size:           $form-text-font-size !default;\n$form-feedback-font-style:          $form-text-font-style !default;\n$form-feedback-valid-color:         $success !default;\n$form-feedback-invalid-color:       $danger !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' 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(--#{$prefix}form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}success),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-valid-border-color),\n  ),\n  \"invalid\": (\n    \"color\": var(--#{$prefix}form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}danger),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-invalid-border-color),\n  )\n) !default;\n// scss-docs-end form-validation-states\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-modal-backdrop:             1050 !default;\n$zindex-modal:                      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// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-font-size:                null !default;\n$nav-link-font-weight:              null !default;\n$nav-link-color:                    var(--#{$prefix}link-color) !default;\n$nav-link-hover-color:              var(--#{$prefix}link-hover-color) !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(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow:         $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color:             var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width:             var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius:            var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color:        var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg:           var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius:           var(--#{$prefix}border-radius) !default;\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(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\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:         .5rem !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$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-padding-y:            ($nav-link-height - $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:      $btn-border-radius !default;\n$navbar-toggler-focus-width:        $btn-focus-width !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color:          rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color:         rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color:       rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color:           rgba($body-color, .75) !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: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !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\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                0 !default;\n$dropdown-padding-y:                .5rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--#{$prefix}body-color) !default;\n$dropdown-bg:                       var(--#{$prefix}body-bg) !default;\n$dropdown-border-color:             var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius:            var(--#{$prefix}border-radius) !default;\n$dropdown-border-width:             var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .5 !default;\n$dropdown-box-shadow:               var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color:               var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--#{$prefix}tertiary-bg) !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(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer !default;\n\n$dropdown-header-color:             $gray-600 !default;\n$dropdown-header-padding-x:         $dropdown-item-padding-x !default;\n$dropdown-header-padding-y:         $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding:           $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color:               $gray-300 !default;\n$dropdown-dark-bg:                  $gray-800 !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: $gray-500 !default;\n$dropdown-dark-header-color:        $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\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(--#{$prefix}link-color) !default;\n$pagination-bg:                     var(--#{$prefix}body-bg) !default;\n$pagination-border-radius:          var(--#{$prefix}border-radius) !default;\n$pagination-border-width:           var(--#{$prefix}border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color:           var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg:               var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow:       $focus-ring-box-shadow !default;\n$pagination-focus-outline:          0 !default;\n\n$pagination-hover-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg:               var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color:     var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg:            var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color:  var(--#{$prefix}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(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\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// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y:                     $spacer !default;\n$card-spacer-x:                     $spacer !default;\n$card-title-spacer-y:               $spacer * .5 !default;\n$card-title-color:                  null !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--#{$prefix}border-width) !default;\n$card-border-color:                 var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius:                var(--#{$prefix}border-radius) !default;\n$card-box-shadow:                   null !default;\n$card-inner-border-radius:          subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y:                $card-spacer-y * .5 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y:                     1rem !default;\n$accordion-padding-x:                     1.25rem !default;\n$accordion-color:                         var(--#{$prefix}body-color) !default;\n$accordion-bg:                            var(--#{$prefix}body-bg) !default;\n$accordion-border-width:                  var(--#{$prefix}border-width) !default;\n$accordion-border-color:                  var(--#{$prefix}border-color) !default;\n$accordion-border-radius:                 var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius:           subtract($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(--#{$prefix}body-color) !default;\n$accordion-button-bg:                     var(--#{$prefix}accordion-bg) !default;\n$accordion-transition:                    $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color:           var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color:     $input-focus-border-color !default; // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow:       $btn-focus-box-shadow !default;\n\n$accordion-icon-width:                    1.25rem !default;\n$accordion-icon-color:                    $body-color !default;\n$accordion-icon-active-color:             $primary-text-emphasis !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n\n$accordion-button-icon:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n$accordion-button-active-icon:  url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 $font-size-sm !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--#{$prefix}body-bg) !default;\n$tooltip-bg:                        var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius:             var(--#{$prefix}border-radius) !default;\n$tooltip-opacity:                   .9 !default;\n$tooltip-padding-y:                 $spacer * .25 !default;\n$tooltip-padding-x:                 $spacer * .5 !default;\n$tooltip-margin:                    null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width:               .8rem !default;\n$tooltip-arrow-height:              .4rem !default;\n// fusv-disable\n$tooltip-arrow-color:               null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\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// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size:                 $font-size-sm !default;\n$popover-bg:                        var(--#{$prefix}body-bg) !default;\n$popover-max-width:                 276px !default;\n$popover-border-width:              var(--#{$prefix}border-width) !default;\n$popover-border-color:              var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius:             var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow:                var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--#{$prefix}secondary-bg) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          .5rem !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--#{$prefix}body-color) !default;\n$popover-body-padding-y:            $spacer !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// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color:               $popover-bg !default;\n$popover-arrow-outer-color:         var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\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(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width:                var(--#{$prefix}border-width) !default;\n$toast-border-color:                var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius:               var(--#{$prefix}border-radius) !default;\n$toast-box-shadow:                  var(--#{$prefix}box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color:     rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color:         $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size:                   .75em !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-color:                       $white !default;\n$badge-padding-y:                   .35em !default;\n$badge-padding-x:                   .65em !default;\n$badge-border-radius:               var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding:               $spacer !default;\n\n$modal-footer-margin-between:       .5rem !default;\n\n$modal-dialog-margin:               .5rem !default;\n$modal-dialog-margin-y-sm-up:       1.75rem !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-color:               var(--#{$prefix}body-color) !default;\n$modal-content-bg:                  var(--#{$prefix}body-bg) !default;\n$modal-content-border-color:        var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width:        var(--#{$prefix}border-width) !default;\n$modal-content-border-radius:       var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs:       var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up:    var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n\n$modal-header-border-color:         var(--#{$prefix}border-color) !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-header-padding-y:            $modal-inner-padding !default;\n$modal-header-padding-x:            $modal-inner-padding !default;\n$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg:                   null !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n\n$modal-sm:                          300px !default;\n$modal-md:                          500px !default;\n$modal-lg:                          800px !default;\n$modal-xl:                          1140px !default;\n\n$modal-fade-transform:              translate(0, -50px) !default;\n$modal-show-transform:              none !default;\n$modal-transition:                  transform .3s ease-out !default;\n$modal-scale-transform:             scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-margin-bottom:           1rem !default;\n$alert-border-radius:           var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight:        $font-weight-bold !default;\n$alert-border-width:            var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r:   $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale:                -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale:            -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale:             40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\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(--#{$prefix}secondary-bg) !default;\n$progress-border-radius:            var(--#{$prefix}border-radius) !default;\n$progress-box-shadow:               var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   $primary !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// List group\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--#{$prefix}body-color) !default;\n$list-group-bg:                     var(--#{$prefix}body-bg) !default;\n$list-group-border-color:           var(--#{$prefix}border-color) !default;\n$list-group-border-width:           var(--#{$prefix}border-width) !default;\n$list-group-border-radius:          var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y:         $spacer * .5 !default;\n$list-group-item-padding-x:         $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale:          -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale:       40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg:               var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color:     var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color:    var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width:            var(--#{$prefix}border-width) !default;\n$thumbnail-border-color:            var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius:           var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow:              var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\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-item-padding-x:         .5rem !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color:           var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider:                quote(\"/\") !default;\n$breadcrumb-divider-flipped:        $breadcrumb-divider !default;\n$breadcrumb-border-radius:          null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\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-dark-indicator-active-bg:  $black !default; // Deprecated in v5.3.4\n$carousel-dark-caption-color:        $black !default; // Deprecated in v5.3.4\n$carousel-dark-control-icon-filter:  invert(1) grayscale(100) !default; // Deprecated in v5.3.4\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\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// Close\n\n// scss-docs-start close-variables\n$btn-close-width:            1em !default;\n$btn-close-height:           $btn-close-width !default;\n$btn-close-padding-x:        .25em !default;\n$btn-close-padding-y:        $btn-close-padding-x !default;\n$btn-close-color:            $black !default;\n$btn-close-bg:               url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>\") !default;\n$btn-close-focus-shadow:     $focus-ring-box-shadow !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-filter:           null !default;\n$btn-close-white-filter:     invert(1) grayscale(100%) brightness(200%) !default; // Deprecated in v5.3.4\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $modal-inner-padding !default;\n$offcanvas-padding-x:               $modal-inner-padding !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            $modal-content-border-color !default;\n$offcanvas-border-width:            $modal-content-border-width !default;\n$offcanvas-title-line-height:       $modal-title-line-height !default;\n$offcanvas-bg-color:                var(--#{$prefix}body-bg) !default;\n$offcanvas-color:                   var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow:              $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg:             $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity:        $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    $small-font-size !default;\n$code-color:                        $pink !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(--#{$prefix}body-bg) !default;\n$kbd-bg:                            var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight:            null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color:                         null !default;\n\n@import \"variables-dark\"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\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 type-of($value) == number {\n      $return: append($return, max($value, 0));\n    } @else {\n      $return: append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// 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-top-left-radius: valid-radius($radius);\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../scss/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.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 \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"vendor/rfs\" 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, helpers, custom, utilities;\n\n:root {\n  color-scheme: light dark;\n\n  @each $color-group-name, $color-group in $all-colors {\n    @if meta.type-of($color-group) == \"map\" {\n      @each $color-name, $color-value in $color-group {\n        --#{$prefix}#{$color-name}: #{$color-value};\n      }\n    } @else {\n      --#{$prefix}#{$color-group-name}: #{$color-group};\n    }\n  }\n\n  @each $color, $value in $theme-colors {\n    --#{$prefix}#{$color}: #{$value};\n  }\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$prefix}#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  --#{$prefix}black: #{$black};\n  --#{$prefix}white: #{$white};\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Colors\n  //\n  // Generate palettes for full colors, grays, and theme colors.\n\n  // @each $color, $value in $colors {\n  //   --#{$prefix}#{$color}: #{$value};\n  // }\n\n  // @each $color, $value in $grays {\n  //   --#{$prefix}gray-#{$color}: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors {\n  //   --#{$prefix}#{$color}: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-rgb {\n  //   --#{$prefix}#{$color}-rgb: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-text {\n  //   --#{$prefix}#{$color}-text-emphasis: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-bg-subtle {\n  //   --#{$prefix}#{$color}-bg-subtle: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-border-subtle {\n  //   --#{$prefix}#{$color}-border-subtle: #{$value};\n  // }\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\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  --#{$prefix}font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{meta.inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{meta.inspect($font-family-base)};\n  @include rfs($font-size-base, --#{$prefix}body-font-size);\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  @each $key, $value in $theme-bgs {\n    $key: if($key == null, \"\", \"-\" + $key);\n    --#{$prefix}bg#{$key}: #{$value};\n  }\n\n  @each $key, $value in $theme-fgs {\n    $key: if($key == null, \"\", \"-\" + $key);\n    --#{$prefix}fg#{$key}: #{$value};\n  }\n\n  @each $key, $value in $theme-borders {\n    $key: if($key == null, \"\", \"-\" + $key);\n    --#{$prefix}border#{$key}: #{$value};\n  }\n\n  --#{$prefix}body-color: #{$body-color};\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg: #{$body-bg};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n  // --#{$prefix}emphasis-color: #{$body-emphasis-color};\n  // --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n  // --#{$prefix}secondary-color: #{$body-secondary-color};\n  // --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n  // --#{$prefix}secondary-bg: #{$body-secondary-bg};\n  // --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n  // --#{$prefix}tertiary-color: #{$body-tertiary-color};\n  // --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n  // --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n  // --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  // --#{$prefix}link-color: #{$link-color};\n  // --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n  // --#{$prefix}link-decoration: #{$link-decoration};\n\n  // --#{$prefix}link-hover-color: #{$link-hover-color};\n  // --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n  --#{$prefix}link-color: light-dark(var(--#{$prefix}primary-base), var(--#{$prefix}primary-text));\n  --#{$prefix}link-decoration: #{$link-decoration};\n  --#{$prefix}link-hover-color: color-mix(in oklch, var(--#{$prefix}link-color) 90%, #000);\n\n  @if $link-hover-decoration != null {\n    --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n  }\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  // --#{$prefix}focus-ring-width: #{$focus-ring-width};\n  // --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n  // --#{$prefix}focus-ring-color: #{$focus-ring-color};\n\n  --#{$prefix}focus-ring-width: 3px;\n  --#{$prefix}focus-ring-offset: -1px;\n  --#{$prefix}focus-ring-color: var(--#{$prefix}primary-focus-ring);\n  --#{$prefix}focus-ring: var(--#{$prefix}focus-ring-width) solid var(--#{$prefix}focus-ring-color);\n\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}body-color: #{$body-color-dark};\n    --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n    --#{$prefix}body-bg: #{$body-bg-dark};\n    --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n    --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n    --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n    --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n    --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n    --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n    --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n    --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n    --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n    // @each $color, $value in $theme-colors-text-dark {\n    //   --#{$prefix}#{$color}-text-emphasis: #{$value};\n    // }\n\n    // @each $color, $value in $theme-colors-bg-subtle-dark {\n    //   --#{$prefix}#{$color}-bg-subtle: #{$value};\n    // }\n\n    // @each $color, $value in $theme-colors-border-subtle-dark {\n    //   --#{$prefix}#{$color}-border-subtle: #{$value};\n    // }\n\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}link-color: #{$link-color-dark};\n    --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n    --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n    --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n    --#{$prefix}code-color: #{$code-color-dark};\n    --#{$prefix}highlight-color: #{$mark-color-dark};\n    --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"sass:string\";\n\n// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n  @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n  @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if meta.type-of($rfs-factor) != number or $rfs-factor <= 1 {\n  @error \"`#{$rfs-factor}` is not a valid  $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: math.unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n  $rfs-base-value: math.div($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n  $rfs-base-value: math.div($rfs-base-value, math.div($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: math.unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n  $rfs-breakpoint: math.div($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n  $rfs-breakpoint: math.div($rfs-breakpoint, math.div($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{math.div($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n  @if $rfs-two-dimensional {\n    @if $rfs-mode == max-media-query {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n    @else {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n  }\n  @else {\n    @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n      @content;\n    }\n  }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n  @if $rfs-class == disable and $rfs-mode == max-media-query {\n    // Adding an extra class increases specificity, which prevents the media query to override the property\n    &,\n    .disable-rfs &,\n    &.disable-rfs {\n      @content;\n    }\n  }\n  @else if $rfs-class == enable and $rfs-mode == min-media-query {\n    .enable-rfs &,\n    &.enable-rfs {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n  @if $rfs-class == enable {\n    @if $rfs-mode == min-media-query {\n      @content;\n    }\n\n    @include _rfs-media-query () {\n      .enable-rfs &,\n      &.enable-rfs {\n        @content;\n      }\n    }\n  }\n  @else {\n    @if $rfs-class == disable and $rfs-mode == min-media-query {\n      .disable-rfs &,\n      &.disable-rfs {\n        @content;\n      }\n    }\n    @include _rfs-media-query () {\n      @content;\n    }\n  }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n  // Convert to list\n  $values: if(meta.type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    }\n    @else {\n      // Cache $value unit\n      $unit: if(meta.type-of($value) == \"number\", math.unit($value), false);\n\n      @if $unit == px {\n        // Convert to rem if needed\n        $val: $val + \" \" + if($rfs-unit == rem, #{math.div($value, $value * 0 + $rfs-rem-value)}rem, $value);\n      }\n      @else if $unit == rem {\n        // Convert to px if needed\n        $val: $val + \" \" + if($rfs-unit == px, #{math.div($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n      } @else {\n        // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n        $val: $val + \" \" + $value;\n      }\n    }\n  }\n\n  // Remove first space\n  @return string.unquote(string.slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n  // Convert to list\n  $values: if(meta.type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    } @else {\n      // Cache $value unit\n      $unit: if(meta.type-of($value) == \"number\", math.unit($value), false);\n\n      // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n      @if not $unit or $unit != px and $unit != rem {\n        $val: $val + \" \" + $value;\n      } @else {\n        // Remove unit from $value for calculations\n        $value: math.div($value, $value * 0 + if($unit == px, 1, math.div(1, $rfs-rem-value)));\n\n        // Only add the media query if the value is greater than the minimum value\n        @if abs($value) <= $rfs-base-value or not $enable-rfs {\n          $val: $val + \" \" + if($rfs-unit == rem, #{math.div($value, $rfs-rem-value)}rem, #{$value}px);\n        }\n        @else {\n          // Calculate the minimum value\n          $value-min: $rfs-base-value + math.div(abs($value) - $rfs-base-value, $rfs-factor);\n\n          // Calculate difference between $value and the minimum value\n          $value-diff: abs($value) - $value-min;\n\n          // Base value formatting\n          $min-width: if($rfs-unit == rem, #{math.div($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n          // Use negative value if needed\n          $min-width: if($value < 0, -$min-width, $min-width);\n\n          // Use `vmin` if two-dimensional is enabled\n          $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n          // Calculate the variable width between 0 and $rfs-breakpoint\n          $variable-width: #{math.div($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n          // Return the calculated value\n          $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n        }\n      }\n    }\n  }\n\n  // Remove first space\n  @return string.unquote(string.slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n  @if $values != null {\n    $val: rfs-value($values);\n    $fluid-val: rfs-fluid-value($values);\n\n    // Do not print the media query if responsive & non-responsive values are the same\n    @if $val == $fluid-val {\n      #{$property}: $val;\n    }\n    @else {\n      @include _rfs-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n        // Include safari iframe resize fix if needed\n        min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n      }\n\n      @include _rfs-media-query-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n      }\n    }\n  }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n  @include rfs($value);\n}\n\n@mixin padding($value) {\n  @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n  @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n  @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n  @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n  @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n  @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n  @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n  @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n  @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n  @include rfs($value, margin-left);\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 \"../vendor/rfs\" 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      @include font-size(var(--#{$prefix}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\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(--#{$prefix}body-font-family);\n    @include font-size(var(--#{$prefix}body-font-size));\n    font-weight: var(--#{$prefix}body-font-weight);\n    line-height: var(--#{$prefix}body-line-height);\n    color: var(--#{$prefix}body-color);\n    text-align: var(--#{$prefix}body-text-align);\n    background-color: var(--#{$prefix}body-bg); // 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\n  // Content grouping\n  //\n  // 1. Reset Firefox's gray color\n\n  hr {\n    margin: $hr-margin-y 0;\n    color: $hr-color; // 1\n    border: 0;\n    border-top: $hr-border-width solid $hr-border-color;\n    opacity: $hr-opacity;\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(--#{$prefix}heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    @include font-size($h1-font-size);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    @include font-size($h2-font-size);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    @include font-size($h3-font-size);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    @include font-size($h4-font-size);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    @include font-size($h5-font-size);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    @include 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-left: 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-bottom: .5rem;\n    margin-left: 0; // 1\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    @include font-size($small-font-size);\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--#{$prefix}highlight-color);\n    background-color: var(--#{$prefix}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    @include 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: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n    text-decoration: $link-decoration;\n\n    &:hover {\n      --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n      text-decoration: $link-hover-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    @include 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    @include 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      @include font-size(inherit);\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    @include font-size($code-font-size);\n    color: var(--#{$prefix}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    @include 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      @include 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(--#{$prefix}secondary-color);\n    text-align: left;\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    @include 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: left`, 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: left; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n    @include font-size($legend-font-size);\n\n    + * {\n      clear: left; // 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  // 1. A few input types should stay LTR\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n  // 2. RTL only output\n  // See https://rtlcss.com/learn/usage-guide/control-directives/#raw\n\n  /* rtl:raw:\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\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 $modal-content-box-shadow-xs.\n\n// scss-docs-start theme-color-variables\n$primary:       $purple-500 !default;\n$secondary:     $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:         $gray-100 !default;\n$dark:          $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// // scss-docs-start theme-text-variables\n// $primary-text-emphasis:   shade-color($primary, 60%) !default;\n// $secondary-text-emphasis: shade-color($secondary, 60%) !default;\n// $success-text-emphasis:   shade-color($success, 60%) !default;\n// $info-text-emphasis:      shade-color($info, 60%) !default;\n// $warning-text-emphasis:   shade-color($warning, 60%) !default;\n// $danger-text-emphasis:    shade-color($danger, 60%) !default;\n// $light-text-emphasis:     $gray-700 !default;\n// $dark-text-emphasis:      $gray-700 !default;\n// // scss-docs-end theme-text-variables\n\n// // scss-docs-start theme-bg-subtle-variables\n// $primary-bg-subtle:       tint-color($primary, 80%) !default;\n// $secondary-bg-subtle:     tint-color($secondary, 80%) !default;\n// $success-bg-subtle:       tint-color($success, 80%) !default;\n// $info-bg-subtle:          tint-color($info, 80%) !default;\n// $warning-bg-subtle:       tint-color($warning, 80%) !default;\n// $danger-bg-subtle:        tint-color($danger, 80%) !default;\n// $light-bg-subtle:         color.mix($gray-100, $white) !default;\n// $dark-bg-subtle:          $gray-400 !default;\n// // scss-docs-end theme-bg-subtle-variables\n\n// // scss-docs-start theme-border-subtle-variables\n// $primary-border-subtle:   tint-color($primary, 60%) !default;\n// $secondary-border-subtle: tint-color($secondary, 60%) !default;\n// $success-border-subtle:   tint-color($success, 60%) !default;\n// $info-border-subtle:      tint-color($info, 60%) !default;\n// $warning-border-subtle:   tint-color($warning, 60%) !default;\n// $danger-border-subtle:    tint-color($danger, 60%) !default;\n// $light-border-subtle:     $gray-200 !default;\n// $dark-border-subtle:      $gray-500 !default;\n// // scss-docs-end theme-border-subtle-variables\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// $enable-important-utilities:  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// $prefix:                      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$body-color:                $gray-900 !default;\n$body-bg:                   $white !default;\n\n$body-secondary-color:      rgba($body-color, .75) !default;\n$body-secondary-bg:         $gray-200 !default;\n\n$body-tertiary-color:       rgba($body-color, .5) !default;\n$body-tertiary-bg:          $gray-100 !default;\n\n$body-emphasis-color:       $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              $primary !default;\n$link-decoration:                         underline !default;\n$link-shade-percentage:                   20% !default;\n$link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration:                   null !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:                $gray-300 !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .375rem !default;\n$border-radius-sm:            .25rem !default;\n$border-radius-lg:            .5rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-xxl:           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$component-active-color:      $white !default;\n$component-active-bg:         $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      rgba($primary, $focus-ring-opacity) !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$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(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}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:              null !default;\n$font-size-base:              1rem !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:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n  1: $h1-font-size,\n  2: $h2-font-size,\n  3: $h3-font-size,\n  4: $h4-font-size,\n  5: $h5-font-size,\n  6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\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 display-headings\n$display-font-sizes: (\n  1: 5rem,\n  2: 4.5rem,\n  3: 4rem,\n  4: 3.5rem,\n  5: 3rem,\n  6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style:  null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size:              $font-size-base * 1.25 !default;\n$lead-font-weight:            300 !default;\n\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:     $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}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:                  $body-color !default;\n$mark-bg:                     $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\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(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}body-color) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     $gray-600 !default;\n$btn-link-color-contrast:     color-contrast($link-color) !default;\n$btn-link-focus-shadow-rgb:   to-rgb(color.mix($btn-link-color-contrast, $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount:       15% !default;\n$btn-hover-bg-tint-amount:        15% !default;\n$btn-hover-border-shade-amount:   20% !default;\n$btn-hover-border-tint-amount:    10% !default;\n$btn-active-bg-shade-amount:      20% !default;\n$btn-active-bg-tint-amount:       20% !default;\n$btn-active-border-shade-amount:  25% !default;\n$btn-active-border-tint-amount:   10% !default;\n// scss-docs-end btn-variables\n\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-modal-backdrop:             1050 !default;\n$zindex-modal:                      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// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding:               $spacer !default;\n\n$modal-footer-margin-between:       .5rem !default;\n\n$modal-dialog-margin:               .5rem !default;\n$modal-dialog-margin-y-sm-up:       1.75rem !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-color:               var(--#{$prefix}body-color) !default;\n$modal-content-bg:                  var(--#{$prefix}body-bg) !default;\n$modal-content-border-color:        var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width:        var(--#{$prefix}border-width) !default;\n$modal-content-border-radius:       var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: calc(#{$modal-content-border-radius} - #{$modal-content-border-width}) !default;\n$modal-content-box-shadow-xs:       var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up:    var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n\n$modal-header-border-color:         var(--#{$prefix}border-color) !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-header-padding-y:            $modal-inner-padding !default;\n$modal-header-padding-x:            $modal-inner-padding !default;\n$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg:                   null !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n\n$modal-sm:                          300px !default;\n$modal-md:                          500px !default;\n$modal-lg:                          800px !default;\n$modal-xl:                          1140px !default;\n\n$modal-fade-transform:              translate(0, -50px) !default;\n$modal-show-transform:              none !default;\n$modal-transition:                  transform .3s ease-out !default;\n$modal-scale-transform:             scale(1.02) !default;\n// scss-docs-end modal-variables\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $modal-inner-padding !default;\n$offcanvas-padding-x:               $modal-inner-padding !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            $modal-content-border-color !default;\n$offcanvas-border-width:            $modal-content-border-width !default;\n$offcanvas-title-line-height:       $modal-title-line-height !default;\n$offcanvas-bg-color:                var(--#{$prefix}body-bg) !default;\n$offcanvas-color:                   var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow:              $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg:             $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity:        $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    $small-font-size !default;\n$code-color:                        $pink !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(--#{$prefix}body-bg) !default;\n$kbd-bg:                            var(--#{$prefix}body-color) !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:                   $gray-300 !default;\n$body-bg-dark:                      $gray-900 !default;\n$body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n$body-secondary-bg-dark:            $gray-800 !default;\n$body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n$body-tertiary-bg-dark:             color.mix($gray-800, $gray-900, 50%) !default;\n$body-emphasis-color-dark:          $white !default;\n$border-color-dark:                 $gray-700 !default;\n$border-color-translucent-dark:     rgba($white, .15) !default;\n$headings-color-dark:               inherit !default;\n$link-color-dark:                   tint-color($primary, 40%) !default;\n$link-hover-color-dark:             shift-color($link-color-dark, -$link-shade-percentage) !default;\n$code-color-dark:                   tint-color($code-color, 40%) !default;\n$mark-color-dark:                   $body-color-dark !default;\n$mark-bg-dark:                      $yellow-800 !default;\n\n\n//\n// Forms\n//\n\n$form-select-indicator-color-dark:  $body-color-dark !default;\n$form-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='#{$form-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n$form-switch-color-dark:            rgba($white, .25) !default;\n$form-switch-bg-image-dark:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color-dark}'/></svg>\") !default;\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             $green-300 !default;\n$form-valid-border-color-dark:      $green-300 !default;\n$form-invalid-color-dark:           $red-300 !default;\n$form-invalid-border-color-dark:    $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-top-left-radius: valid-radius($radius);\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n"]}
\ No newline at end of file
index 5c4a95f877f6a83b42789402d4498dbfdb155eaf..c1b874eb89cd862df8cef76e9bbd06d1f7615a5c 100644 (file)
@@ -1,24 +1,11 @@
 /*!
- * Bootstrap Utilities v5.3.8 (https://getbootstrap.com/)
- * Copyright 2011-2025 The Bootstrap Authors
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */
-:root,
-[data-bs-theme=light] {
-  --bs-blue: #0d6efd;
-  --bs-indigo: #6610f2;
-  --bs-purple: #6f42c1;
-  --bs-pink: #d63384;
-  --bs-red: #dc3545;
-  --bs-orange: #fd7e14;
-  --bs-yellow: #ffc107;
-  --bs-green: #198754;
-  --bs-teal: #20c997;
-  --bs-cyan: #0dcaf0;
-  --bs-black: #000;
-  --bs-white: #fff;
-  --bs-gray: #6c757d;
-  --bs-gray-dark: #343a40;
+  * Bootstrap Utilities v6.0.0-dev (https://getbootstrap.com/)
+  * Copyright 2011-2025 The Bootstrap Authors
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+@layer colors, theme, config, root, reboot, layout, content, forms, components, helpers, custom, utilities;
+:root {
+  color-scheme: light dark;
   --bs-gray-100: #f8f9fa;
   --bs-gray-200: #e9ecef;
   --bs-gray-300: #dee2e6;
   --bs-gray-700: #495057;
   --bs-gray-800: #343a40;
   --bs-gray-900: #212529;
-  --bs-primary: #0d6efd;
+  --bs-blue-100: #cfe2ff;
+  --bs-blue-200: #9ec5fe;
+  --bs-blue-300: #6ea8fe;
+  --bs-blue-400: #3d8bfd;
+  --bs-blue-500: #0d6efd;
+  --bs-blue-600: #0a58ca;
+  --bs-blue-700: #084298;
+  --bs-blue-800: #052c65;
+  --bs-blue-900: #031633;
+  --bs-indigo-100: #e0cffc;
+  --bs-indigo-200: #c29ffa;
+  --bs-indigo-300: #a370f7;
+  --bs-indigo-400: #8540f5;
+  --bs-indigo-500: #6610f2;
+  --bs-indigo-600: #520dc2;
+  --bs-indigo-700: #3d0a91;
+  --bs-indigo-800: #290661;
+  --bs-indigo-900: #140330;
+  --bs-purple-100: #e2d9f3;
+  --bs-purple-200: #c5b3e6;
+  --bs-purple-300: #a98eda;
+  --bs-purple-400: #8c68cd;
+  --bs-purple-500: #6f42c1;
+  --bs-purple-600: #59359a;
+  --bs-purple-700: #432874;
+  --bs-purple-800: #2c1a4d;
+  --bs-purple-900: #160d27;
+  --bs-pink-100: #f7d6e6;
+  --bs-pink-200: #efadce;
+  --bs-pink-300: #e685b5;
+  --bs-pink-400: #de5c9d;
+  --bs-pink-500: #d63384;
+  --bs-pink-600: #ab296a;
+  --bs-pink-700: #801f4f;
+  --bs-pink-800: #561435;
+  --bs-pink-900: #2b0a1a;
+  --bs-red-100: #f8d7da;
+  --bs-red-200: #f1aeb5;
+  --bs-red-300: #ea868f;
+  --bs-red-400: #e35d6a;
+  --bs-red-500: #dc3545;
+  --bs-red-600: #b02a37;
+  --bs-red-700: #842029;
+  --bs-red-800: #58151c;
+  --bs-red-900: #2c0b0e;
+  --bs-orange-100: #ffe5d0;
+  --bs-orange-200: #fecba1;
+  --bs-orange-300: #feb272;
+  --bs-orange-400: #fd9843;
+  --bs-orange-500: #fd7e14;
+  --bs-orange-600: #ca6510;
+  --bs-orange-700: #984c0c;
+  --bs-orange-800: #653208;
+  --bs-orange-900: #331904;
+  --bs-yellow-100: #fff3cd;
+  --bs-yellow-200: #ffe69c;
+  --bs-yellow-300: #ffda6a;
+  --bs-yellow-400: #ffcd39;
+  --bs-yellow-500: #ffc107;
+  --bs-yellow-600: #cc9a06;
+  --bs-yellow-700: #997404;
+  --bs-yellow-800: #664d03;
+  --bs-yellow-900: #332701;
+  --bs-green-100: #d1e7dd;
+  --bs-green-200: #a3cfbb;
+  --bs-green-300: #75b798;
+  --bs-green-400: #479f76;
+  --bs-green-500: #198754;
+  --bs-green-600: #146c43;
+  --bs-green-700: #0f5132;
+  --bs-green-800: #0a3622;
+  --bs-green-900: #051b11;
+  --bs-teal-100: #d2f4ea;
+  --bs-teal-200: #a6e9d5;
+  --bs-teal-300: #79dfc1;
+  --bs-teal-400: #4dd4ac;
+  --bs-teal-500: #20c997;
+  --bs-teal-600: #1aa179;
+  --bs-teal-700: #13795b;
+  --bs-teal-800: #0d503c;
+  --bs-teal-900: #06281e;
+  --bs-cyan-100: #cff4fc;
+  --bs-cyan-200: #9eeaf9;
+  --bs-cyan-300: #6edff6;
+  --bs-cyan-400: #3dd5f3;
+  --bs-cyan-500: #0dcaf0;
+  --bs-cyan-600: #0aa2c0;
+  --bs-cyan-700: #087990;
+  --bs-cyan-800: #055160;
+  --bs-cyan-900: #032830;
+  --bs-primary: #6f42c1;
   --bs-secondary: #6c757d;
   --bs-success: #198754;
   --bs-info: #0dcaf0;
   --bs-danger: #dc3545;
   --bs-light: #f8f9fa;
   --bs-dark: #212529;
-  --bs-primary-rgb: 13, 110, 253;
-  --bs-secondary-rgb: 108, 117, 125;
-  --bs-success-rgb: 25, 135, 84;
-  --bs-info-rgb: 13, 202, 240;
-  --bs-warning-rgb: 255, 193, 7;
-  --bs-danger-rgb: 220, 53, 69;
-  --bs-light-rgb: 248, 249, 250;
-  --bs-dark-rgb: 33, 37, 41;
-  --bs-primary-text-emphasis: #052c65;
-  --bs-secondary-text-emphasis: #2b2f32;
-  --bs-success-text-emphasis: #0a3622;
-  --bs-info-text-emphasis: #055160;
-  --bs-warning-text-emphasis: #664d03;
-  --bs-danger-text-emphasis: #58151c;
-  --bs-light-text-emphasis: #495057;
-  --bs-dark-text-emphasis: #495057;
-  --bs-primary-bg-subtle: #cfe2ff;
-  --bs-secondary-bg-subtle: #e2e3e5;
-  --bs-success-bg-subtle: #d1e7dd;
-  --bs-info-bg-subtle: #cff4fc;
-  --bs-warning-bg-subtle: #fff3cd;
-  --bs-danger-bg-subtle: #f8d7da;
-  --bs-light-bg-subtle: #fcfcfd;
-  --bs-dark-bg-subtle: #ced4da;
-  --bs-primary-border-subtle: #9ec5fe;
-  --bs-secondary-border-subtle: #c4c8cb;
-  --bs-success-border-subtle: #a3cfbb;
-  --bs-info-border-subtle: #9eeaf9;
-  --bs-warning-border-subtle: #ffe69c;
-  --bs-danger-border-subtle: #f1aeb5;
-  --bs-light-border-subtle: #e9ecef;
-  --bs-dark-border-subtle: #adb5bd;
-  --bs-white-rgb: 255, 255, 255;
-  --bs-black-rgb: 0, 0, 0;
+  --bs-primary-base: var(--bs-blue-500);
+  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-300));
+  --bs-primary-bg: light-dark(var(--bs-blue-500), var(--bs-blue-500));
+  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));
+  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));
+  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));
+  --bs-primary-focus-ring: color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg));
+  --bs-primary-contrast: var(--bs-white);
+  --bs-accent-base: var(--bs-indigo-500);
+  --bs-accent-text: light-dark(var(--bs-indigo-600), var(--bs-indigo-300));
+  --bs-accent-bg: light-dark(var(--bs-indigo-500), var(--bs-indigo-500));
+  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));
+  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));
+  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));
+  --bs-accent-focus-ring: color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg));
+  --bs-accent-contrast: var(--bs-white);
+  --bs-danger-base: var(--bs-red-500);
+  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-300));
+  --bs-danger-bg: light-dark(var(--bs-red-500), var(--bs-red-500));
+  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));
+  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));
+  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));
+  --bs-danger-focus-ring: color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg));
+  --bs-danger-contrast: var(--bs-white);
+  --bs-warning-base: var(--bs-yellow-500);
+  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-300));
+  --bs-warning-bg: light-dark(var(--bs-yellow-500), var(--bs-yellow-500));
+  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));
+  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));
+  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));
+  --bs-warning-focus-ring: color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg));
+  --bs-warning-contrast: var(--bs-gray-900);
+  --bs-success-base: var(--bs-green-500);
+  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-300));
+  --bs-success-bg: light-dark(var(--bs-green-500), var(--bs-green-500));
+  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));
+  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));
+  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));
+  --bs-success-focus-ring: color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg));
+  --bs-success-contrast: var(--bs-white);
+  --bs-info-base: var(--bs-cyan-500);
+  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-300));
+  --bs-info-bg: light-dark(var(--bs-cyan-500), var(--bs-cyan-500));
+  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));
+  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));
+  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));
+  --bs-info-focus-ring: color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg));
+  --bs-info-contrast: var(--bs-gray-900);
+  --bs-secondary-base: var(--bs-gray-300);
+  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));
+  --bs-secondary-bg: light-dark(var(--bs-gray-300), var(--bs-gray-600));
+  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-800));
+  --bs-secondary-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-700));
+  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));
+  --bs-secondary-focus-ring: color-mix(in oklch, var(--bs-gray-500) 50%, var(--bs-bg));
+  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));
+  --bs-black: #000;
+  --bs-white: #fff;
+}
+
+:root,
+[data-bs-theme=light] {
+  --bs-white-rgb: to-rgb(#fff);
+  --bs-black-rgb: to-rgb(#000);
   --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-size: 1rem;
   --bs-body-font-weight: 400;
   --bs-body-line-height: 1.5;
+  --bs-bg: light-dark(var(--bs-white), var(--bs-gray-900));
+  --bs-bg-1: light-dark(var(--bs-gray-100), color-mix(in srgb, var(--bs-gray-900), var(--bs-gray-800)));
+  --bs-bg-2: light-dark(color-mix(in srgb, var(--bs-gray-100), var(--bs-gray-200)), color-mix(in srgb, var(--bs-gray-800), var(--bs-gray-700)));
+  --bs-bg-3: light-dark(color-mix(in srgb, var(--bs-gray-200), var(--bs-gray-300)), color-mix(in srgb, var(--bs-gray-700), var(--bs-gray-600)));
+  --bs-bg-white: var(--bs-white);
+  --bs-bg-black: var(--bs-black);
+  --bs-bg-transparent: transparent;
+  --bs-bg-inherit: inherit;
+  --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-100));
+  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));
+  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));
+  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-400));
+  --bs-fg-white: var(--bs-white);
+  --bs-fg-black: var(--bs-black);
+  --bs-fg-inherit: inherit;
+  --bs-border: light-dark(var(--bs-gray-300), var(--bs-gray-700));
+  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));
+  --bs-border-subtle: light-dark(var(--bs-gray-100), color-mix(in srgb, var(--bs-gray-800), var(--bs-gray-900)));
+  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));
   --bs-body-color: #212529;
-  --bs-body-color-rgb: 33, 37, 41;
+  --bs-body-color-rgb: to-rgb(#212529);
   --bs-body-bg: #fff;
-  --bs-body-bg-rgb: 255, 255, 255;
-  --bs-emphasis-color: #000;
-  --bs-emphasis-color-rgb: 0, 0, 0;
-  --bs-secondary-color: rgba(33, 37, 41, 0.75);
-  --bs-secondary-color-rgb: 33, 37, 41;
-  --bs-secondary-bg: #e9ecef;
-  --bs-secondary-bg-rgb: 233, 236, 239;
-  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
-  --bs-tertiary-color-rgb: 33, 37, 41;
-  --bs-tertiary-bg: #f8f9fa;
-  --bs-tertiary-bg-rgb: 248, 249, 250;
+  --bs-body-bg-rgb: to-rgb(#fff);
   --bs-heading-color: inherit;
-  --bs-link-color: #0d6efd;
-  --bs-link-color-rgb: 13, 110, 253;
+  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
   --bs-link-decoration: underline;
-  --bs-link-hover-color: #0a58ca;
-  --bs-link-hover-color-rgb: 10, 88, 202;
+  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
   --bs-code-color: #d63384;
   --bs-highlight-color: #212529;
   --bs-highlight-bg: #fff3cd;
   --bs-border-radius-lg: 0.5rem;
   --bs-border-radius-xl: 1rem;
   --bs-border-radius-xxl: 2rem;
-  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
   --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: 0.25rem;
-  --bs-focus-ring-opacity: 0.25;
-  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
-  --bs-form-valid-color: #198754;
-  --bs-form-valid-border-color: #198754;
-  --bs-form-invalid-color: #dc3545;
-  --bs-form-invalid-border-color: #dc3545;
+  --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);
 }
 
 [data-bs-theme=dark] {
   color-scheme: dark;
   --bs-body-color: #dee2e6;
-  --bs-body-color-rgb: 222, 226, 230;
+  --bs-body-color-rgb: to-rgb(#dee2e6);
   --bs-body-bg: #212529;
-  --bs-body-bg-rgb: 33, 37, 41;
+  --bs-body-bg-rgb: to-rgb(#212529);
   --bs-emphasis-color: #fff;
-  --bs-emphasis-color-rgb: 255, 255, 255;
-  --bs-secondary-color: rgba(222, 226, 230, 0.75);
-  --bs-secondary-color-rgb: 222, 226, 230;
-  --bs-secondary-bg: #343a40;
-  --bs-secondary-bg-rgb: 52, 58, 64;
-  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
-  --bs-tertiary-color-rgb: 222, 226, 230;
-  --bs-tertiary-bg: #2b3035;
-  --bs-tertiary-bg-rgb: 43, 48, 53;
-  --bs-primary-text-emphasis: #6ea8fe;
-  --bs-secondary-text-emphasis: #a7acb1;
-  --bs-success-text-emphasis: #75b798;
-  --bs-info-text-emphasis: #6edff6;
-  --bs-warning-text-emphasis: #ffda6a;
-  --bs-danger-text-emphasis: #ea868f;
-  --bs-light-text-emphasis: #f8f9fa;
-  --bs-dark-text-emphasis: #dee2e6;
-  --bs-primary-bg-subtle: #031633;
-  --bs-secondary-bg-subtle: #161719;
-  --bs-success-bg-subtle: #051b11;
-  --bs-info-bg-subtle: #032830;
-  --bs-warning-bg-subtle: #332701;
-  --bs-danger-bg-subtle: #2c0b0e;
-  --bs-light-bg-subtle: #343a40;
-  --bs-dark-bg-subtle: #1a1d20;
-  --bs-primary-border-subtle: #084298;
-  --bs-secondary-border-subtle: #41464b;
-  --bs-success-border-subtle: #0f5132;
-  --bs-info-border-subtle: #087990;
-  --bs-warning-border-subtle: #997404;
-  --bs-danger-border-subtle: #842029;
-  --bs-light-border-subtle: #495057;
-  --bs-dark-border-subtle: #343a40;
-  --bs-heading-color: inherit;
-  --bs-link-color: #6ea8fe;
-  --bs-link-hover-color: #8bb9fe;
-  --bs-link-color-rgb: 110, 168, 254;
-  --bs-link-hover-color-rgb: 139, 185, 254;
-  --bs-code-color: #e685b5;
-  --bs-highlight-color: #dee2e6;
-  --bs-highlight-bg: #664d03;
-  --bs-border-color: #495057;
-  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
-  --bs-form-valid-color: #75b798;
-  --bs-form-valid-border-color: #75b798;
-  --bs-form-invalid-color: #ea868f;
-  --bs-form-invalid-border-color: #ea868f;
-}
-
-.clearfix::after {
-  display: block;
-  clear: both;
-  content: "";
-}
-
-.text-bg-primary {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-secondary {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-success {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-info {
-  color: #000 !important;
-  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-warning {
-  color: #000 !important;
-  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-danger {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-light {
-  color: #000 !important;
-  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-dark {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.link-primary {
-  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-primary:hover, .link-primary:focus {
-  color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-secondary {
-  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-secondary:hover, .link-secondary:focus {
-  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-success {
-  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-success:hover, .link-success:focus {
-  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-info {
-  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-info:hover, .link-info:focus {
-  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-warning {
-  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-warning:hover, .link-warning:focus {
-  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-danger {
-  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-danger:hover, .link-danger:focus {
-  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-light {
-  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-light:hover, .link-light:focus {
-  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-dark {
-  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-dark:hover, .link-dark:focus {
-  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-body-emphasis {
-  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-body-emphasis:hover, .link-body-emphasis:focus {
-  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
-  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
-}
-
-.focus-ring:focus {
-  outline: 0;
-  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
-}
-
-.icon-link {
-  display: inline-flex;
-  gap: 0.375rem;
-  align-items: center;
-  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
-  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
-  text-underline-offset: 0.25em;
-  -webkit-backface-visibility: hidden;
-  backface-visibility: hidden;
-}
-.icon-link > .bi {
-  flex-shrink: 0;
-  width: 1em;
-  height: 1em;
-  fill: currentcolor;
-  transition: 0.2s ease-in-out transform;
-}
-@media (prefers-reduced-motion: reduce) {
-  .icon-link > .bi {
-    transition: none;
-  }
-}
-
-.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
-  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
-}
-
-.ratio {
-  position: relative;
-  width: 100%;
-}
-.ratio::before {
-  display: block;
-  padding-top: var(--bs-aspect-ratio);
-  content: "";
-}
-.ratio > * {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-}
-
-.ratio-1x1 {
-  --bs-aspect-ratio: 100%;
-}
-
-.ratio-4x3 {
-  --bs-aspect-ratio: 75%;
-}
-
-.ratio-16x9 {
-  --bs-aspect-ratio: 56.25%;
-}
-
-.ratio-21x9 {
-  --bs-aspect-ratio: 42.8571428571%;
-}
-
-.fixed-top {
-  position: fixed;
-  top: 0;
-  right: 0;
-  left: 0;
-  z-index: 1030;
-}
-
-.fixed-bottom {
-  position: fixed;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1030;
-}
-
-.sticky-top {
-  position: -webkit-sticky;
-  position: sticky;
-  top: 0;
-  z-index: 1020;
-}
-
-.sticky-bottom {
-  position: -webkit-sticky;
-  position: sticky;
-  bottom: 0;
-  z-index: 1020;
-}
-
-@media (min-width: 576px) {
-  .sticky-sm-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-sm-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-@media (min-width: 768px) {
-  .sticky-md-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-md-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-@media (min-width: 992px) {
-  .sticky-lg-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-lg-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-@media (min-width: 1200px) {
-  .sticky-xl-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-xl-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-@media (min-width: 1400px) {
-  .sticky-xxl-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-xxl-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-.hstack {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  align-self: stretch;
-}
-
-.vstack {
-  display: flex;
-  flex: 1 1 auto;
-  flex-direction: column;
-  align-self: stretch;
-}
-
-.visually-hidden,
-.visually-hidden-focusable:not(:focus):not(:focus-within) {
-  width: 1px !important;
-  height: 1px !important;
-  padding: 0 !important;
-  margin: -1px !important;
-  overflow: hidden !important;
-  clip: rect(0, 0, 0, 0) !important;
-  white-space: nowrap !important;
-  border: 0 !important;
-}
-.visually-hidden:not(caption),
-.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
-  position: absolute !important;
-}
-.visually-hidden *,
-.visually-hidden-focusable:not(:focus):not(:focus-within) * {
-  overflow: hidden !important;
-}
-
-.stretched-link::after {
-  position: absolute;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1;
-  content: "";
-}
-
-.text-truncate {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.vr {
-  display: inline-block;
-  align-self: stretch;
-  width: var(--bs-border-width);
-  min-height: 1em;
-  background-color: currentcolor;
-  opacity: 0.25;
-}
-
-.align-baseline {
-  vertical-align: baseline !important;
-}
-
-.align-top {
-  vertical-align: top !important;
-}
-
-.align-middle {
-  vertical-align: middle !important;
-}
-
-.align-bottom {
-  vertical-align: bottom !important;
-}
-
-.align-text-bottom {
-  vertical-align: text-bottom !important;
-}
-
-.align-text-top {
-  vertical-align: text-top !important;
-}
-
-.float-start {
-  float: left !important;
-}
-
-.float-end {
-  float: right !important;
-}
-
-.float-none {
-  float: none !important;
-}
-
-.object-fit-contain {
-  -o-object-fit: contain !important;
-  object-fit: contain !important;
-}
-
-.object-fit-cover {
-  -o-object-fit: cover !important;
-  object-fit: cover !important;
-}
-
-.object-fit-fill {
-  -o-object-fit: fill !important;
-  object-fit: fill !important;
-}
-
-.object-fit-scale {
-  -o-object-fit: scale-down !important;
-  object-fit: scale-down !important;
-}
-
-.object-fit-none {
-  -o-object-fit: none !important;
-  object-fit: none !important;
-}
-
-.opacity-0 {
-  opacity: 0 !important;
-}
-
-.opacity-25 {
-  opacity: 0.25 !important;
-}
-
-.opacity-50 {
-  opacity: 0.5 !important;
-}
-
-.opacity-75 {
-  opacity: 0.75 !important;
-}
-
-.opacity-100 {
-  opacity: 1 !important;
-}
-
-.overflow-auto {
-  overflow: auto !important;
-}
-
-.overflow-hidden {
-  overflow: hidden !important;
-}
-
-.overflow-visible {
-  overflow: visible !important;
-}
-
-.overflow-scroll {
-  overflow: scroll !important;
-}
-
-.overflow-x-auto {
-  overflow-x: auto !important;
-}
-
-.overflow-x-hidden {
-  overflow-x: hidden !important;
-}
-
-.overflow-x-visible {
-  overflow-x: visible !important;
-}
-
-.overflow-x-scroll {
-  overflow-x: scroll !important;
-}
-
-.overflow-y-auto {
-  overflow-y: auto !important;
-}
-
-.overflow-y-hidden {
-  overflow-y: hidden !important;
-}
-
-.overflow-y-visible {
-  overflow-y: visible !important;
-}
-
-.overflow-y-scroll {
-  overflow-y: scroll !important;
-}
-
-.d-inline {
-  display: inline !important;
-}
-
-.d-inline-block {
-  display: inline-block !important;
-}
-
-.d-block {
-  display: block !important;
-}
-
-.d-grid {
-  display: grid !important;
-}
-
-.d-inline-grid {
-  display: inline-grid !important;
-}
-
-.d-table {
-  display: table !important;
-}
-
-.d-table-row {
-  display: table-row !important;
-}
-
-.d-table-cell {
-  display: table-cell !important;
-}
-
-.d-flex {
-  display: flex !important;
-}
-
-.d-inline-flex {
-  display: inline-flex !important;
-}
-
-.d-none {
-  display: none !important;
-}
-
-.shadow {
-  box-shadow: var(--bs-box-shadow) !important;
-}
-
-.shadow-sm {
-  box-shadow: var(--bs-box-shadow-sm) !important;
-}
-
-.shadow-lg {
-  box-shadow: var(--bs-box-shadow-lg) !important;
-}
-
-.shadow-none {
-  box-shadow: none !important;
-}
-
-.focus-ring-primary {
-  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-secondary {
-  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-success {
-  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-info {
-  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-warning {
-  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-danger {
-  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-light {
-  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-dark {
-  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
-}
-
-.position-static {
-  position: static !important;
-}
-
-.position-relative {
-  position: relative !important;
-}
-
-.position-absolute {
-  position: absolute !important;
-}
-
-.position-fixed {
-  position: fixed !important;
-}
-
-.position-sticky {
-  position: -webkit-sticky !important;
-  position: sticky !important;
-}
-
-.top-0 {
-  top: 0 !important;
-}
-
-.top-50 {
-  top: 50% !important;
-}
-
-.top-100 {
-  top: 100% !important;
-}
-
-.bottom-0 {
-  bottom: 0 !important;
-}
-
-.bottom-50 {
-  bottom: 50% !important;
-}
-
-.bottom-100 {
-  bottom: 100% !important;
-}
-
-.start-0 {
-  left: 0 !important;
-}
-
-.start-50 {
-  left: 50% !important;
-}
-
-.start-100 {
-  left: 100% !important;
-}
-
-.end-0 {
-  right: 0 !important;
-}
-
-.end-50 {
-  right: 50% !important;
-}
-
-.end-100 {
-  right: 100% !important;
-}
-
-.translate-middle {
-  transform: translate(-50%, -50%) !important;
-}
-
-.translate-middle-x {
-  transform: translateX(-50%) !important;
-}
-
-.translate-middle-y {
-  transform: translateY(-50%) !important;
-}
-
-.border {
-  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-0 {
-  border: 0 !important;
-}
-
-.border-top {
-  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-top-0 {
-  border-top: 0 !important;
-}
-
-.border-end {
-  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-end-0 {
-  border-right: 0 !important;
-}
-
-.border-bottom {
-  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-bottom-0 {
-  border-bottom: 0 !important;
-}
-
-.border-start {
-  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-start-0 {
-  border-left: 0 !important;
-}
-
-.border-primary {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-secondary {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-success {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-info {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-warning {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-danger {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-light {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-dark {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-black {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-white {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-primary-subtle {
-  border-color: var(--bs-primary-border-subtle) !important;
-}
-
-.border-secondary-subtle {
-  border-color: var(--bs-secondary-border-subtle) !important;
-}
-
-.border-success-subtle {
-  border-color: var(--bs-success-border-subtle) !important;
-}
-
-.border-info-subtle {
-  border-color: var(--bs-info-border-subtle) !important;
-}
-
-.border-warning-subtle {
-  border-color: var(--bs-warning-border-subtle) !important;
-}
-
-.border-danger-subtle {
-  border-color: var(--bs-danger-border-subtle) !important;
-}
-
-.border-light-subtle {
-  border-color: var(--bs-light-border-subtle) !important;
-}
-
-.border-dark-subtle {
-  border-color: var(--bs-dark-border-subtle) !important;
-}
-
-.border-1 {
-  border-width: 1px !important;
-}
-
-.border-2 {
-  border-width: 2px !important;
-}
-
-.border-3 {
-  border-width: 3px !important;
-}
-
-.border-4 {
-  border-width: 4px !important;
-}
-
-.border-5 {
-  border-width: 5px !important;
-}
-
-.border-opacity-10 {
-  --bs-border-opacity: 0.1;
-}
-
-.border-opacity-25 {
-  --bs-border-opacity: 0.25;
-}
-
-.border-opacity-50 {
-  --bs-border-opacity: 0.5;
-}
-
-.border-opacity-75 {
-  --bs-border-opacity: 0.75;
-}
-
-.border-opacity-100 {
-  --bs-border-opacity: 1;
-}
-
-.w-25 {
-  width: 25% !important;
-}
-
-.w-50 {
-  width: 50% !important;
-}
-
-.w-75 {
-  width: 75% !important;
-}
-
-.w-100 {
-  width: 100% !important;
-}
-
-.w-auto {
-  width: auto !important;
-}
-
-.mw-100 {
-  max-width: 100% !important;
-}
-
-.vw-100 {
-  width: 100vw !important;
-}
-
-.min-vw-100 {
-  min-width: 100vw !important;
-}
-
-.h-25 {
-  height: 25% !important;
-}
-
-.h-50 {
-  height: 50% !important;
-}
-
-.h-75 {
-  height: 75% !important;
-}
-
-.h-100 {
-  height: 100% !important;
-}
-
-.h-auto {
-  height: auto !important;
-}
-
-.mh-100 {
-  max-height: 100% !important;
-}
-
-.vh-100 {
-  height: 100vh !important;
-}
-
-.min-vh-100 {
-  min-height: 100vh !important;
-}
-
-.flex-fill {
-  flex: 1 1 auto !important;
-}
-
-.flex-row {
-  flex-direction: row !important;
-}
-
-.flex-column {
-  flex-direction: column !important;
-}
-
-.flex-row-reverse {
-  flex-direction: row-reverse !important;
-}
-
-.flex-column-reverse {
-  flex-direction: column-reverse !important;
-}
-
-.flex-grow-0 {
-  flex-grow: 0 !important;
-}
-
-.flex-grow-1 {
-  flex-grow: 1 !important;
-}
-
-.flex-shrink-0 {
-  flex-shrink: 0 !important;
-}
-
-.flex-shrink-1 {
-  flex-shrink: 1 !important;
-}
-
-.flex-wrap {
-  flex-wrap: wrap !important;
-}
-
-.flex-nowrap {
-  flex-wrap: nowrap !important;
-}
-
-.flex-wrap-reverse {
-  flex-wrap: wrap-reverse !important;
-}
-
-.justify-content-start {
-  justify-content: flex-start !important;
-}
-
-.justify-content-end {
-  justify-content: flex-end !important;
-}
-
-.justify-content-center {
-  justify-content: center !important;
-}
-
-.justify-content-between {
-  justify-content: space-between !important;
-}
-
-.justify-content-around {
-  justify-content: space-around !important;
-}
-
-.justify-content-evenly {
-  justify-content: space-evenly !important;
-}
-
-.align-items-start {
-  align-items: flex-start !important;
-}
-
-.align-items-end {
-  align-items: flex-end !important;
-}
-
-.align-items-center {
-  align-items: center !important;
-}
-
-.align-items-baseline {
-  align-items: baseline !important;
-}
-
-.align-items-stretch {
-  align-items: stretch !important;
-}
-
-.align-content-start {
-  align-content: flex-start !important;
-}
-
-.align-content-end {
-  align-content: flex-end !important;
-}
-
-.align-content-center {
-  align-content: center !important;
-}
-
-.align-content-between {
-  align-content: space-between !important;
-}
-
-.align-content-around {
-  align-content: space-around !important;
-}
-
-.align-content-stretch {
-  align-content: stretch !important;
-}
-
-.align-self-auto {
-  align-self: auto !important;
-}
-
-.align-self-start {
-  align-self: flex-start !important;
-}
-
-.align-self-end {
-  align-self: flex-end !important;
-}
-
-.align-self-center {
-  align-self: center !important;
-}
-
-.align-self-baseline {
-  align-self: baseline !important;
-}
-
-.align-self-stretch {
-  align-self: stretch !important;
-}
-
-.order-first {
-  order: -1 !important;
-}
-
-.order-0 {
-  order: 0 !important;
-}
-
-.order-1 {
-  order: 1 !important;
-}
-
-.order-2 {
-  order: 2 !important;
-}
-
-.order-3 {
-  order: 3 !important;
-}
-
-.order-4 {
-  order: 4 !important;
-}
-
-.order-5 {
-  order: 5 !important;
-}
-
-.order-last {
-  order: 6 !important;
-}
-
-.m-0 {
-  margin: 0 !important;
-}
-
-.m-1 {
-  margin: 0.25rem !important;
-}
-
-.m-2 {
-  margin: 0.5rem !important;
-}
-
-.m-3 {
-  margin: 1rem !important;
-}
-
-.m-4 {
-  margin: 1.5rem !important;
-}
-
-.m-5 {
-  margin: 3rem !important;
-}
-
-.m-auto {
-  margin: auto !important;
-}
-
-.mx-0 {
-  margin-right: 0 !important;
-  margin-left: 0 !important;
-}
-
-.mx-1 {
-  margin-right: 0.25rem !important;
-  margin-left: 0.25rem !important;
-}
-
-.mx-2 {
-  margin-right: 0.5rem !important;
-  margin-left: 0.5rem !important;
-}
-
-.mx-3 {
-  margin-right: 1rem !important;
-  margin-left: 1rem !important;
-}
-
-.mx-4 {
-  margin-right: 1.5rem !important;
-  margin-left: 1.5rem !important;
-}
-
-.mx-5 {
-  margin-right: 3rem !important;
-  margin-left: 3rem !important;
-}
-
-.mx-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.my-0 {
-  margin-top: 0 !important;
-  margin-bottom: 0 !important;
-}
-
-.my-1 {
-  margin-top: 0.25rem !important;
-  margin-bottom: 0.25rem !important;
-}
-
-.my-2 {
-  margin-top: 0.5rem !important;
-  margin-bottom: 0.5rem !important;
-}
-
-.my-3 {
-  margin-top: 1rem !important;
-  margin-bottom: 1rem !important;
-}
-
-.my-4 {
-  margin-top: 1.5rem !important;
-  margin-bottom: 1.5rem !important;
-}
-
-.my-5 {
-  margin-top: 3rem !important;
-  margin-bottom: 3rem !important;
-}
-
-.my-auto {
-  margin-top: auto !important;
-  margin-bottom: auto !important;
-}
-
-.mt-0 {
-  margin-top: 0 !important;
-}
-
-.mt-1 {
-  margin-top: 0.25rem !important;
-}
-
-.mt-2 {
-  margin-top: 0.5rem !important;
-}
-
-.mt-3 {
-  margin-top: 1rem !important;
-}
-
-.mt-4 {
-  margin-top: 1.5rem !important;
-}
-
-.mt-5 {
-  margin-top: 3rem !important;
-}
-
-.mt-auto {
-  margin-top: auto !important;
-}
-
-.me-0 {
-  margin-right: 0 !important;
-}
-
-.me-1 {
-  margin-right: 0.25rem !important;
-}
-
-.me-2 {
-  margin-right: 0.5rem !important;
-}
-
-.me-3 {
-  margin-right: 1rem !important;
-}
-
-.me-4 {
-  margin-right: 1.5rem !important;
-}
-
-.me-5 {
-  margin-right: 3rem !important;
-}
-
-.me-auto {
-  margin-right: auto !important;
-}
-
-.mb-0 {
-  margin-bottom: 0 !important;
-}
-
-.mb-1 {
-  margin-bottom: 0.25rem !important;
-}
-
-.mb-2 {
-  margin-bottom: 0.5rem !important;
-}
-
-.mb-3 {
-  margin-bottom: 1rem !important;
-}
-
-.mb-4 {
-  margin-bottom: 1.5rem !important;
-}
-
-.mb-5 {
-  margin-bottom: 3rem !important;
-}
-
-.mb-auto {
-  margin-bottom: auto !important;
-}
-
-.ms-0 {
-  margin-left: 0 !important;
-}
-
-.ms-1 {
-  margin-left: 0.25rem !important;
-}
-
-.ms-2 {
-  margin-left: 0.5rem !important;
-}
-
-.ms-3 {
-  margin-left: 1rem !important;
-}
-
-.ms-4 {
-  margin-left: 1.5rem !important;
-}
-
-.ms-5 {
-  margin-left: 3rem !important;
-}
-
-.ms-auto {
-  margin-left: auto !important;
-}
-
-.p-0 {
-  padding: 0 !important;
-}
-
-.p-1 {
-  padding: 0.25rem !important;
-}
-
-.p-2 {
-  padding: 0.5rem !important;
-}
-
-.p-3 {
-  padding: 1rem !important;
-}
-
-.p-4 {
-  padding: 1.5rem !important;
-}
-
-.p-5 {
-  padding: 3rem !important;
-}
-
-.px-0 {
-  padding-right: 0 !important;
-  padding-left: 0 !important;
-}
-
-.px-1 {
-  padding-right: 0.25rem !important;
-  padding-left: 0.25rem !important;
-}
-
-.px-2 {
-  padding-right: 0.5rem !important;
-  padding-left: 0.5rem !important;
-}
-
-.px-3 {
-  padding-right: 1rem !important;
-  padding-left: 1rem !important;
-}
-
-.px-4 {
-  padding-right: 1.5rem !important;
-  padding-left: 1.5rem !important;
-}
-
-.px-5 {
-  padding-right: 3rem !important;
-  padding-left: 3rem !important;
-}
-
-.py-0 {
-  padding-top: 0 !important;
-  padding-bottom: 0 !important;
-}
-
-.py-1 {
-  padding-top: 0.25rem !important;
-  padding-bottom: 0.25rem !important;
-}
-
-.py-2 {
-  padding-top: 0.5rem !important;
-  padding-bottom: 0.5rem !important;
-}
-
-.py-3 {
-  padding-top: 1rem !important;
-  padding-bottom: 1rem !important;
-}
-
-.py-4 {
-  padding-top: 1.5rem !important;
-  padding-bottom: 1.5rem !important;
-}
-
-.py-5 {
-  padding-top: 3rem !important;
-  padding-bottom: 3rem !important;
-}
-
-.pt-0 {
-  padding-top: 0 !important;
-}
-
-.pt-1 {
-  padding-top: 0.25rem !important;
-}
-
-.pt-2 {
-  padding-top: 0.5rem !important;
-}
-
-.pt-3 {
-  padding-top: 1rem !important;
-}
-
-.pt-4 {
-  padding-top: 1.5rem !important;
-}
-
-.pt-5 {
-  padding-top: 3rem !important;
-}
-
-.pe-0 {
-  padding-right: 0 !important;
-}
-
-.pe-1 {
-  padding-right: 0.25rem !important;
-}
-
-.pe-2 {
-  padding-right: 0.5rem !important;
-}
-
-.pe-3 {
-  padding-right: 1rem !important;
-}
-
-.pe-4 {
-  padding-right: 1.5rem !important;
-}
-
-.pe-5 {
-  padding-right: 3rem !important;
-}
-
-.pb-0 {
-  padding-bottom: 0 !important;
-}
-
-.pb-1 {
-  padding-bottom: 0.25rem !important;
-}
-
-.pb-2 {
-  padding-bottom: 0.5rem !important;
-}
-
-.pb-3 {
-  padding-bottom: 1rem !important;
-}
-
-.pb-4 {
-  padding-bottom: 1.5rem !important;
-}
-
-.pb-5 {
-  padding-bottom: 3rem !important;
-}
-
-.ps-0 {
-  padding-left: 0 !important;
-}
-
-.ps-1 {
-  padding-left: 0.25rem !important;
-}
-
-.ps-2 {
-  padding-left: 0.5rem !important;
-}
-
-.ps-3 {
-  padding-left: 1rem !important;
-}
-
-.ps-4 {
-  padding-left: 1.5rem !important;
-}
-
-.ps-5 {
-  padding-left: 3rem !important;
-}
-
-.gap-0 {
-  gap: 0 !important;
-}
-
-.gap-1 {
-  gap: 0.25rem !important;
-}
-
-.gap-2 {
-  gap: 0.5rem !important;
-}
-
-.gap-3 {
-  gap: 1rem !important;
-}
-
-.gap-4 {
-  gap: 1.5rem !important;
-}
-
-.gap-5 {
-  gap: 3rem !important;
-}
-
-.row-gap-0 {
-  row-gap: 0 !important;
-}
-
-.row-gap-1 {
-  row-gap: 0.25rem !important;
-}
-
-.row-gap-2 {
-  row-gap: 0.5rem !important;
-}
-
-.row-gap-3 {
-  row-gap: 1rem !important;
-}
-
-.row-gap-4 {
-  row-gap: 1.5rem !important;
-}
-
-.row-gap-5 {
-  row-gap: 3rem !important;
-}
-
-.column-gap-0 {
-  -moz-column-gap: 0 !important;
-  column-gap: 0 !important;
-}
-
-.column-gap-1 {
-  -moz-column-gap: 0.25rem !important;
-  column-gap: 0.25rem !important;
-}
-
-.column-gap-2 {
-  -moz-column-gap: 0.5rem !important;
-  column-gap: 0.5rem !important;
-}
-
-.column-gap-3 {
-  -moz-column-gap: 1rem !important;
-  column-gap: 1rem !important;
-}
-
-.column-gap-4 {
-  -moz-column-gap: 1.5rem !important;
-  column-gap: 1.5rem !important;
-}
-
-.column-gap-5 {
-  -moz-column-gap: 3rem !important;
-  column-gap: 3rem !important;
-}
-
-.font-monospace {
-  font-family: var(--bs-font-monospace) !important;
-}
-
-.fs-1 {
-  font-size: calc(1.375rem + 1.5vw) !important;
-}
-
-.fs-2 {
-  font-size: calc(1.325rem + 0.9vw) !important;
-}
-
-.fs-3 {
-  font-size: calc(1.3rem + 0.6vw) !important;
-}
-
-.fs-4 {
-  font-size: calc(1.275rem + 0.3vw) !important;
-}
-
-.fs-5 {
-  font-size: 1.25rem !important;
-}
-
-.fs-6 {
-  font-size: 1rem !important;
-}
-
-.fst-italic {
-  font-style: italic !important;
-}
-
-.fst-normal {
-  font-style: normal !important;
-}
-
-.fw-lighter {
-  font-weight: lighter !important;
-}
-
-.fw-light {
-  font-weight: 300 !important;
-}
-
-.fw-normal {
-  font-weight: 400 !important;
-}
-
-.fw-medium {
-  font-weight: 500 !important;
-}
-
-.fw-semibold {
-  font-weight: 600 !important;
-}
-
-.fw-bold {
-  font-weight: 700 !important;
-}
-
-.fw-bolder {
-  font-weight: bolder !important;
-}
-
-.lh-1 {
-  line-height: 1 !important;
-}
-
-.lh-sm {
-  line-height: 1.25 !important;
-}
-
-.lh-base {
-  line-height: 1.5 !important;
-}
-
-.lh-lg {
-  line-height: 2 !important;
-}
-
-.text-start {
-  text-align: left !important;
-}
-
-.text-end {
-  text-align: right !important;
-}
-
-.text-center {
-  text-align: center !important;
-}
-
-.text-decoration-none {
-  text-decoration: none !important;
-}
-
-.text-decoration-underline {
-  text-decoration: underline !important;
-}
-
-.text-decoration-line-through {
-  text-decoration: line-through !important;
-}
-
-.text-lowercase {
-  text-transform: lowercase !important;
-}
-
-.text-uppercase {
-  text-transform: uppercase !important;
-}
-
-.text-capitalize {
-  text-transform: capitalize !important;
-}
-
-.text-wrap {
-  white-space: normal !important;
-}
-
-.text-nowrap {
-  white-space: nowrap !important;
-}
-
-/* rtl:begin:remove */
-.text-break {
-  word-wrap: break-word !important;
-  word-break: break-word !important;
-}
-
-/* rtl:end:remove */
-.text-primary {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-secondary {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-success {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-info {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-warning {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-danger {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-light {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-dark {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-black {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-white {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-body {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-muted {
-  --bs-text-opacity: 1;
-  color: var(--bs-secondary-color) !important;
-}
-
-.text-black-50 {
-  --bs-text-opacity: 1;
-  color: rgba(0, 0, 0, 0.5) !important;
-}
-
-.text-white-50 {
-  --bs-text-opacity: 1;
-  color: rgba(255, 255, 255, 0.5) !important;
-}
-
-.text-body-secondary {
-  --bs-text-opacity: 1;
-  color: var(--bs-secondary-color) !important;
-}
-
-.text-body-tertiary {
-  --bs-text-opacity: 1;
-  color: var(--bs-tertiary-color) !important;
-}
-
-.text-body-emphasis {
-  --bs-text-opacity: 1;
-  color: var(--bs-emphasis-color) !important;
-}
-
-.text-reset {
-  --bs-text-opacity: 1;
-  color: inherit !important;
-}
-
-.text-opacity-25 {
-  --bs-text-opacity: 0.25;
-}
-
-.text-opacity-50 {
-  --bs-text-opacity: 0.5;
-}
-
-.text-opacity-75 {
-  --bs-text-opacity: 0.75;
-}
-
-.text-opacity-100 {
-  --bs-text-opacity: 1;
-}
-
-.text-primary-emphasis {
-  color: var(--bs-primary-text-emphasis) !important;
-}
-
-.text-secondary-emphasis {
-  color: var(--bs-secondary-text-emphasis) !important;
-}
-
-.text-success-emphasis {
-  color: var(--bs-success-text-emphasis) !important;
-}
-
-.text-info-emphasis {
-  color: var(--bs-info-text-emphasis) !important;
-}
-
-.text-warning-emphasis {
-  color: var(--bs-warning-text-emphasis) !important;
-}
-
-.text-danger-emphasis {
-  color: var(--bs-danger-text-emphasis) !important;
-}
-
-.text-light-emphasis {
-  color: var(--bs-light-text-emphasis) !important;
-}
-
-.text-dark-emphasis {
-  color: var(--bs-dark-text-emphasis) !important;
-}
-
-.link-opacity-10 {
-  --bs-link-opacity: 0.1;
-}
-
-.link-opacity-10-hover:hover {
-  --bs-link-opacity: 0.1;
-}
-
-.link-opacity-25 {
-  --bs-link-opacity: 0.25;
-}
-
-.link-opacity-25-hover:hover {
-  --bs-link-opacity: 0.25;
-}
-
-.link-opacity-50 {
-  --bs-link-opacity: 0.5;
-}
-
-.link-opacity-50-hover:hover {
-  --bs-link-opacity: 0.5;
-}
-
-.link-opacity-75 {
-  --bs-link-opacity: 0.75;
-}
-
-.link-opacity-75-hover:hover {
-  --bs-link-opacity: 0.75;
-}
-
-.link-opacity-100 {
-  --bs-link-opacity: 1;
-}
-
-.link-opacity-100-hover:hover {
-  --bs-link-opacity: 1;
-}
-
-.link-offset-1 {
-  text-underline-offset: 0.125em !important;
-}
-
-.link-offset-1-hover:hover {
-  text-underline-offset: 0.125em !important;
-}
-
-.link-offset-2 {
-  text-underline-offset: 0.25em !important;
-}
-
-.link-offset-2-hover:hover {
-  text-underline-offset: 0.25em !important;
-}
-
-.link-offset-3 {
-  text-underline-offset: 0.375em !important;
-}
-
-.link-offset-3-hover:hover {
-  text-underline-offset: 0.375em !important;
-}
-
-.link-underline-primary {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-secondary {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-success {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-info {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-warning {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-danger {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-light {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-dark {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-underline-opacity-0 {
-  --bs-link-underline-opacity: 0;
-}
-
-.link-underline-opacity-0-hover:hover {
-  --bs-link-underline-opacity: 0;
-}
-
-.link-underline-opacity-10 {
-  --bs-link-underline-opacity: 0.1;
-}
-
-.link-underline-opacity-10-hover:hover {
-  --bs-link-underline-opacity: 0.1;
-}
-
-.link-underline-opacity-25 {
-  --bs-link-underline-opacity: 0.25;
-}
-
-.link-underline-opacity-25-hover:hover {
-  --bs-link-underline-opacity: 0.25;
-}
-
-.link-underline-opacity-50 {
-  --bs-link-underline-opacity: 0.5;
-}
-
-.link-underline-opacity-50-hover:hover {
-  --bs-link-underline-opacity: 0.5;
-}
-
-.link-underline-opacity-75 {
-  --bs-link-underline-opacity: 0.75;
-}
-
-.link-underline-opacity-75-hover:hover {
-  --bs-link-underline-opacity: 0.75;
-}
-
-.link-underline-opacity-100 {
-  --bs-link-underline-opacity: 1;
-}
-
-.link-underline-opacity-100-hover:hover {
-  --bs-link-underline-opacity: 1;
-}
-
-.bg-primary {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-secondary {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-success {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-info {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-warning {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-danger {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-light {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-dark {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-black {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-white {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-body {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-transparent {
-  --bs-bg-opacity: 1;
-  background-color: transparent !important;
-}
-
-.bg-body-secondary {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-body-tertiary {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-opacity-10 {
-  --bs-bg-opacity: 0.1;
-}
-
-.bg-opacity-25 {
-  --bs-bg-opacity: 0.25;
-}
-
-.bg-opacity-50 {
-  --bs-bg-opacity: 0.5;
-}
-
-.bg-opacity-75 {
-  --bs-bg-opacity: 0.75;
-}
-
-.bg-opacity-100 {
-  --bs-bg-opacity: 1;
-}
-
-.bg-primary-subtle {
-  background-color: var(--bs-primary-bg-subtle) !important;
-}
-
-.bg-secondary-subtle {
-  background-color: var(--bs-secondary-bg-subtle) !important;
-}
-
-.bg-success-subtle {
-  background-color: var(--bs-success-bg-subtle) !important;
-}
-
-.bg-info-subtle {
-  background-color: var(--bs-info-bg-subtle) !important;
-}
-
-.bg-warning-subtle {
-  background-color: var(--bs-warning-bg-subtle) !important;
-}
-
-.bg-danger-subtle {
-  background-color: var(--bs-danger-bg-subtle) !important;
-}
-
-.bg-light-subtle {
-  background-color: var(--bs-light-bg-subtle) !important;
-}
-
-.bg-dark-subtle {
-  background-color: var(--bs-dark-bg-subtle) !important;
-}
-
-.bg-gradient {
-  background-image: var(--bs-gradient) !important;
-}
-
-.user-select-all {
-  -webkit-user-select: all !important;
-  -moz-user-select: all !important;
-  user-select: all !important;
-}
-
-.user-select-auto {
-  -webkit-user-select: auto !important;
-  -moz-user-select: auto !important;
-  user-select: auto !important;
-}
-
-.user-select-none {
-  -webkit-user-select: none !important;
-  -moz-user-select: none !important;
-  user-select: none !important;
-}
-
-.pe-none {
-  pointer-events: none !important;
-}
-
-.pe-auto {
-  pointer-events: auto !important;
-}
-
-.rounded {
-  border-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-0 {
-  border-radius: 0 !important;
-}
-
-.rounded-1 {
-  border-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-2 {
-  border-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-3 {
-  border-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-4 {
-  border-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-5 {
-  border-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-circle {
-  border-radius: 50% !important;
-}
-
-.rounded-pill {
-  border-radius: var(--bs-border-radius-pill) !important;
-}
-
-.rounded-top {
-  border-top-left-radius: var(--bs-border-radius) !important;
-  border-top-right-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-top-0 {
-  border-top-left-radius: 0 !important;
-  border-top-right-radius: 0 !important;
-}
-
-.rounded-top-1 {
-  border-top-left-radius: var(--bs-border-radius-sm) !important;
-  border-top-right-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-top-2 {
-  border-top-left-radius: var(--bs-border-radius) !important;
-  border-top-right-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-top-3 {
-  border-top-left-radius: var(--bs-border-radius-lg) !important;
-  border-top-right-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-top-4 {
-  border-top-left-radius: var(--bs-border-radius-xl) !important;
-  border-top-right-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-top-5 {
-  border-top-left-radius: var(--bs-border-radius-xxl) !important;
-  border-top-right-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-top-circle {
-  border-top-left-radius: 50% !important;
-  border-top-right-radius: 50% !important;
-}
-
-.rounded-top-pill {
-  border-top-left-radius: var(--bs-border-radius-pill) !important;
-  border-top-right-radius: var(--bs-border-radius-pill) !important;
-}
-
-.rounded-end {
-  border-top-right-radius: var(--bs-border-radius) !important;
-  border-bottom-right-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-end-0 {
-  border-top-right-radius: 0 !important;
-  border-bottom-right-radius: 0 !important;
-}
-
-.rounded-end-1 {
-  border-top-right-radius: var(--bs-border-radius-sm) !important;
-  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-end-2 {
-  border-top-right-radius: var(--bs-border-radius) !important;
-  border-bottom-right-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-end-3 {
-  border-top-right-radius: var(--bs-border-radius-lg) !important;
-  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-end-4 {
-  border-top-right-radius: var(--bs-border-radius-xl) !important;
-  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-end-5 {
-  border-top-right-radius: var(--bs-border-radius-xxl) !important;
-  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-end-circle {
-  border-top-right-radius: 50% !important;
-  border-bottom-right-radius: 50% !important;
-}
-
-.rounded-end-pill {
-  border-top-right-radius: var(--bs-border-radius-pill) !important;
-  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
-}
-
-.rounded-bottom {
-  border-bottom-right-radius: var(--bs-border-radius) !important;
-  border-bottom-left-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-bottom-0 {
-  border-bottom-right-radius: 0 !important;
-  border-bottom-left-radius: 0 !important;
-}
-
-.rounded-bottom-1 {
-  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
-  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-bottom-2 {
-  border-bottom-right-radius: var(--bs-border-radius) !important;
-  border-bottom-left-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-bottom-3 {
-  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
-  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-bottom-4 {
-  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
-  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-bottom-5 {
-  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
-  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-bottom-circle {
-  border-bottom-right-radius: 50% !important;
-  border-bottom-left-radius: 50% !important;
-}
-
-.rounded-bottom-pill {
-  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
-  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
-}
-
-.rounded-start {
-  border-bottom-left-radius: var(--bs-border-radius) !important;
-  border-top-left-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-start-0 {
-  border-bottom-left-radius: 0 !important;
-  border-top-left-radius: 0 !important;
-}
-
-.rounded-start-1 {
-  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
-  border-top-left-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-start-2 {
-  border-bottom-left-radius: var(--bs-border-radius) !important;
-  border-top-left-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-start-3 {
-  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
-  border-top-left-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-start-4 {
-  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
-  border-top-left-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-start-5 {
-  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
-  border-top-left-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-start-circle {
-  border-bottom-left-radius: 50% !important;
-  border-top-left-radius: 50% !important;
-}
-
-.rounded-start-pill {
-  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
-  border-top-left-radius: var(--bs-border-radius-pill) !important;
-}
-
-.visible {
-  visibility: visible !important;
-}
-
-.invisible {
-  visibility: hidden !important;
-}
-
-.z-n1 {
-  z-index: -1 !important;
-}
-
-.z-0 {
-  z-index: 0 !important;
-}
-
-.z-1 {
-  z-index: 1 !important;
-}
-
-.z-2 {
-  z-index: 2 !important;
-}
-
-.z-3 {
-  z-index: 3 !important;
-}
-
-@media (min-width: 576px) {
-  .float-sm-start {
-    float: left !important;
-  }
-  .float-sm-end {
-    float: right !important;
-  }
-  .float-sm-none {
-    float: none !important;
-  }
-  .object-fit-sm-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
-  }
-  .object-fit-sm-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
-  }
-  .object-fit-sm-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
-  }
-  .object-fit-sm-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
-  }
-  .object-fit-sm-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-grid {
-    display: grid !important;
-  }
-  .d-sm-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-sm-table {
-    display: table !important;
-  }
-  .d-sm-table-row {
-    display: table-row !important;
-  }
-  .d-sm-table-cell {
-    display: table-cell !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-  .flex-sm-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-sm-row {
-    flex-direction: row !important;
-  }
-  .flex-sm-column {
-    flex-direction: column !important;
-  }
-  .flex-sm-row-reverse {
-    flex-direction: row-reverse !important;
-  }
-  .flex-sm-column-reverse {
-    flex-direction: column-reverse !important;
-  }
-  .flex-sm-grow-0 {
-    flex-grow: 0 !important;
-  }
-  .flex-sm-grow-1 {
-    flex-grow: 1 !important;
-  }
-  .flex-sm-shrink-0 {
-    flex-shrink: 0 !important;
-  }
-  .flex-sm-shrink-1 {
-    flex-shrink: 1 !important;
-  }
-  .flex-sm-wrap {
-    flex-wrap: wrap !important;
-  }
-  .flex-sm-nowrap {
-    flex-wrap: nowrap !important;
-  }
-  .flex-sm-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
-  }
-  .justify-content-sm-start {
-    justify-content: flex-start !important;
-  }
-  .justify-content-sm-end {
-    justify-content: flex-end !important;
-  }
-  .justify-content-sm-center {
-    justify-content: center !important;
-  }
-  .justify-content-sm-between {
-    justify-content: space-between !important;
-  }
-  .justify-content-sm-around {
-    justify-content: space-around !important;
-  }
-  .justify-content-sm-evenly {
-    justify-content: space-evenly !important;
-  }
-  .align-items-sm-start {
-    align-items: flex-start !important;
-  }
-  .align-items-sm-end {
-    align-items: flex-end !important;
-  }
-  .align-items-sm-center {
-    align-items: center !important;
-  }
-  .align-items-sm-baseline {
-    align-items: baseline !important;
-  }
-  .align-items-sm-stretch {
-    align-items: stretch !important;
-  }
-  .align-content-sm-start {
-    align-content: flex-start !important;
-  }
-  .align-content-sm-end {
-    align-content: flex-end !important;
-  }
-  .align-content-sm-center {
-    align-content: center !important;
-  }
-  .align-content-sm-between {
-    align-content: space-between !important;
-  }
-  .align-content-sm-around {
-    align-content: space-around !important;
-  }
-  .align-content-sm-stretch {
-    align-content: stretch !important;
-  }
-  .align-self-sm-auto {
-    align-self: auto !important;
-  }
-  .align-self-sm-start {
-    align-self: flex-start !important;
-  }
-  .align-self-sm-end {
-    align-self: flex-end !important;
-  }
-  .align-self-sm-center {
-    align-self: center !important;
-  }
-  .align-self-sm-baseline {
-    align-self: baseline !important;
-  }
-  .align-self-sm-stretch {
-    align-self: stretch !important;
-  }
-  .order-sm-first {
-    order: -1 !important;
-  }
-  .order-sm-0 {
-    order: 0 !important;
-  }
-  .order-sm-1 {
-    order: 1 !important;
-  }
-  .order-sm-2 {
-    order: 2 !important;
-  }
-  .order-sm-3 {
-    order: 3 !important;
-  }
-  .order-sm-4 {
-    order: 4 !important;
-  }
-  .order-sm-5 {
-    order: 5 !important;
-  }
-  .order-sm-last {
-    order: 6 !important;
-  }
-  .m-sm-0 {
-    margin: 0 !important;
-  }
-  .m-sm-1 {
-    margin: 0.25rem !important;
-  }
-  .m-sm-2 {
-    margin: 0.5rem !important;
-  }
-  .m-sm-3 {
-    margin: 1rem !important;
-  }
-  .m-sm-4 {
-    margin: 1.5rem !important;
-  }
-  .m-sm-5 {
-    margin: 3rem !important;
-  }
-  .m-sm-auto {
-    margin: auto !important;
-  }
-  .mx-sm-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .mx-sm-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .mx-sm-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .mx-sm-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .mx-sm-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .mx-sm-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .mx-sm-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
-  }
-  .my-sm-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .my-sm-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .my-sm-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .my-sm-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .my-sm-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .my-sm-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .my-sm-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
-  }
-  .mt-sm-0 {
-    margin-top: 0 !important;
-  }
-  .mt-sm-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mt-sm-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mt-sm-3 {
-    margin-top: 1rem !important;
-  }
-  .mt-sm-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mt-sm-5 {
-    margin-top: 3rem !important;
-  }
-  .mt-sm-auto {
-    margin-top: auto !important;
-  }
-  .me-sm-0 {
-    margin-right: 0 !important;
-  }
-  .me-sm-1 {
-    margin-right: 0.25rem !important;
-  }
-  .me-sm-2 {
-    margin-right: 0.5rem !important;
-  }
-  .me-sm-3 {
-    margin-right: 1rem !important;
-  }
-  .me-sm-4 {
-    margin-right: 1.5rem !important;
-  }
-  .me-sm-5 {
-    margin-right: 3rem !important;
-  }
-  .me-sm-auto {
-    margin-right: auto !important;
-  }
-  .mb-sm-0 {
-    margin-bottom: 0 !important;
-  }
-  .mb-sm-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .mb-sm-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .mb-sm-3 {
-    margin-bottom: 1rem !important;
-  }
-  .mb-sm-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .mb-sm-5 {
-    margin-bottom: 3rem !important;
-  }
-  .mb-sm-auto {
-    margin-bottom: auto !important;
-  }
-  .ms-sm-0 {
-    margin-left: 0 !important;
-  }
-  .ms-sm-1 {
-    margin-left: 0.25rem !important;
-  }
-  .ms-sm-2 {
-    margin-left: 0.5rem !important;
-  }
-  .ms-sm-3 {
-    margin-left: 1rem !important;
-  }
-  .ms-sm-4 {
-    margin-left: 1.5rem !important;
-  }
-  .ms-sm-5 {
-    margin-left: 3rem !important;
-  }
-  .ms-sm-auto {
-    margin-left: auto !important;
-  }
-  .p-sm-0 {
-    padding: 0 !important;
-  }
-  .p-sm-1 {
-    padding: 0.25rem !important;
-  }
-  .p-sm-2 {
-    padding: 0.5rem !important;
-  }
-  .p-sm-3 {
-    padding: 1rem !important;
-  }
-  .p-sm-4 {
-    padding: 1.5rem !important;
-  }
-  .p-sm-5 {
-    padding: 3rem !important;
-  }
-  .px-sm-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .px-sm-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .px-sm-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .px-sm-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .px-sm-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .px-sm-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-sm-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .py-sm-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .py-sm-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .py-sm-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .py-sm-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .py-sm-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .pt-sm-0 {
-    padding-top: 0 !important;
-  }
-  .pt-sm-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pt-sm-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pt-sm-3 {
-    padding-top: 1rem !important;
-  }
-  .pt-sm-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pt-sm-5 {
-    padding-top: 3rem !important;
-  }
-  .pe-sm-0 {
-    padding-right: 0 !important;
-  }
-  .pe-sm-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pe-sm-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pe-sm-3 {
-    padding-right: 1rem !important;
-  }
-  .pe-sm-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pe-sm-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-sm-0 {
-    padding-bottom: 0 !important;
-  }
-  .pb-sm-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pb-sm-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pb-sm-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pb-sm-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pb-sm-5 {
-    padding-bottom: 3rem !important;
-  }
-  .ps-sm-0 {
-    padding-left: 0 !important;
-  }
-  .ps-sm-1 {
-    padding-left: 0.25rem !important;
-  }
-  .ps-sm-2 {
-    padding-left: 0.5rem !important;
-  }
-  .ps-sm-3 {
-    padding-left: 1rem !important;
-  }
-  .ps-sm-4 {
-    padding-left: 1.5rem !important;
-  }
-  .ps-sm-5 {
-    padding-left: 3rem !important;
-  }
-  .gap-sm-0 {
-    gap: 0 !important;
-  }
-  .gap-sm-1 {
-    gap: 0.25rem !important;
-  }
-  .gap-sm-2 {
-    gap: 0.5rem !important;
-  }
-  .gap-sm-3 {
-    gap: 1rem !important;
-  }
-  .gap-sm-4 {
-    gap: 1.5rem !important;
-  }
-  .gap-sm-5 {
-    gap: 3rem !important;
-  }
-  .row-gap-sm-0 {
-    row-gap: 0 !important;
-  }
-  .row-gap-sm-1 {
-    row-gap: 0.25rem !important;
-  }
-  .row-gap-sm-2 {
-    row-gap: 0.5rem !important;
-  }
-  .row-gap-sm-3 {
-    row-gap: 1rem !important;
-  }
-  .row-gap-sm-4 {
-    row-gap: 1.5rem !important;
-  }
-  .row-gap-sm-5 {
-    row-gap: 3rem !important;
-  }
-  .column-gap-sm-0 {
-    -moz-column-gap: 0 !important;
-    column-gap: 0 !important;
-  }
-  .column-gap-sm-1 {
-    -moz-column-gap: 0.25rem !important;
-    column-gap: 0.25rem !important;
-  }
-  .column-gap-sm-2 {
-    -moz-column-gap: 0.5rem !important;
-    column-gap: 0.5rem !important;
-  }
-  .column-gap-sm-3 {
-    -moz-column-gap: 1rem !important;
-    column-gap: 1rem !important;
-  }
-  .column-gap-sm-4 {
-    -moz-column-gap: 1.5rem !important;
-    column-gap: 1.5rem !important;
-  }
-  .column-gap-sm-5 {
-    -moz-column-gap: 3rem !important;
-    column-gap: 3rem !important;
-  }
-  .text-sm-start {
-    text-align: left !important;
-  }
-  .text-sm-end {
-    text-align: right !important;
-  }
-  .text-sm-center {
-    text-align: center !important;
-  }
-}
-@media (min-width: 768px) {
-  .float-md-start {
-    float: left !important;
-  }
-  .float-md-end {
-    float: right !important;
-  }
-  .float-md-none {
-    float: none !important;
-  }
-  .object-fit-md-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
-  }
-  .object-fit-md-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
-  }
-  .object-fit-md-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
-  }
-  .object-fit-md-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
-  }
-  .object-fit-md-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-grid {
-    display: grid !important;
-  }
-  .d-md-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-md-table {
-    display: table !important;
-  }
-  .d-md-table-row {
-    display: table-row !important;
-  }
-  .d-md-table-cell {
-    display: table-cell !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-  .flex-md-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-md-row {
-    flex-direction: row !important;
-  }
-  .flex-md-column {
-    flex-direction: column !important;
-  }
-  .flex-md-row-reverse {
-    flex-direction: row-reverse !important;
-  }
-  .flex-md-column-reverse {
-    flex-direction: column-reverse !important;
-  }
-  .flex-md-grow-0 {
-    flex-grow: 0 !important;
-  }
-  .flex-md-grow-1 {
-    flex-grow: 1 !important;
-  }
-  .flex-md-shrink-0 {
-    flex-shrink: 0 !important;
-  }
-  .flex-md-shrink-1 {
-    flex-shrink: 1 !important;
-  }
-  .flex-md-wrap {
-    flex-wrap: wrap !important;
-  }
-  .flex-md-nowrap {
-    flex-wrap: nowrap !important;
-  }
-  .flex-md-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
-  }
-  .justify-content-md-start {
-    justify-content: flex-start !important;
-  }
-  .justify-content-md-end {
-    justify-content: flex-end !important;
-  }
-  .justify-content-md-center {
-    justify-content: center !important;
-  }
-  .justify-content-md-between {
-    justify-content: space-between !important;
-  }
-  .justify-content-md-around {
-    justify-content: space-around !important;
-  }
-  .justify-content-md-evenly {
-    justify-content: space-evenly !important;
-  }
-  .align-items-md-start {
-    align-items: flex-start !important;
-  }
-  .align-items-md-end {
-    align-items: flex-end !important;
-  }
-  .align-items-md-center {
-    align-items: center !important;
-  }
-  .align-items-md-baseline {
-    align-items: baseline !important;
-  }
-  .align-items-md-stretch {
-    align-items: stretch !important;
-  }
-  .align-content-md-start {
-    align-content: flex-start !important;
-  }
-  .align-content-md-end {
-    align-content: flex-end !important;
-  }
-  .align-content-md-center {
-    align-content: center !important;
-  }
-  .align-content-md-between {
-    align-content: space-between !important;
-  }
-  .align-content-md-around {
-    align-content: space-around !important;
-  }
-  .align-content-md-stretch {
-    align-content: stretch !important;
-  }
-  .align-self-md-auto {
-    align-self: auto !important;
-  }
-  .align-self-md-start {
-    align-self: flex-start !important;
-  }
-  .align-self-md-end {
-    align-self: flex-end !important;
-  }
-  .align-self-md-center {
-    align-self: center !important;
-  }
-  .align-self-md-baseline {
-    align-self: baseline !important;
-  }
-  .align-self-md-stretch {
-    align-self: stretch !important;
-  }
-  .order-md-first {
-    order: -1 !important;
-  }
-  .order-md-0 {
-    order: 0 !important;
-  }
-  .order-md-1 {
-    order: 1 !important;
-  }
-  .order-md-2 {
-    order: 2 !important;
-  }
-  .order-md-3 {
-    order: 3 !important;
-  }
-  .order-md-4 {
-    order: 4 !important;
-  }
-  .order-md-5 {
-    order: 5 !important;
-  }
-  .order-md-last {
-    order: 6 !important;
-  }
-  .m-md-0 {
-    margin: 0 !important;
-  }
-  .m-md-1 {
-    margin: 0.25rem !important;
-  }
-  .m-md-2 {
-    margin: 0.5rem !important;
-  }
-  .m-md-3 {
-    margin: 1rem !important;
-  }
-  .m-md-4 {
-    margin: 1.5rem !important;
-  }
-  .m-md-5 {
-    margin: 3rem !important;
-  }
-  .m-md-auto {
-    margin: auto !important;
-  }
-  .mx-md-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .mx-md-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .mx-md-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .mx-md-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .mx-md-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .mx-md-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .mx-md-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
-  }
-  .my-md-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .my-md-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .my-md-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .my-md-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .my-md-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .my-md-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .my-md-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
-  }
-  .mt-md-0 {
-    margin-top: 0 !important;
-  }
-  .mt-md-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mt-md-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mt-md-3 {
-    margin-top: 1rem !important;
-  }
-  .mt-md-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mt-md-5 {
-    margin-top: 3rem !important;
-  }
-  .mt-md-auto {
-    margin-top: auto !important;
-  }
-  .me-md-0 {
-    margin-right: 0 !important;
-  }
-  .me-md-1 {
-    margin-right: 0.25rem !important;
-  }
-  .me-md-2 {
-    margin-right: 0.5rem !important;
-  }
-  .me-md-3 {
-    margin-right: 1rem !important;
-  }
-  .me-md-4 {
-    margin-right: 1.5rem !important;
-  }
-  .me-md-5 {
-    margin-right: 3rem !important;
-  }
-  .me-md-auto {
-    margin-right: auto !important;
-  }
-  .mb-md-0 {
-    margin-bottom: 0 !important;
-  }
-  .mb-md-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .mb-md-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .mb-md-3 {
-    margin-bottom: 1rem !important;
-  }
-  .mb-md-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .mb-md-5 {
-    margin-bottom: 3rem !important;
-  }
-  .mb-md-auto {
-    margin-bottom: auto !important;
-  }
-  .ms-md-0 {
-    margin-left: 0 !important;
-  }
-  .ms-md-1 {
-    margin-left: 0.25rem !important;
-  }
-  .ms-md-2 {
-    margin-left: 0.5rem !important;
-  }
-  .ms-md-3 {
-    margin-left: 1rem !important;
-  }
-  .ms-md-4 {
-    margin-left: 1.5rem !important;
-  }
-  .ms-md-5 {
-    margin-left: 3rem !important;
-  }
-  .ms-md-auto {
-    margin-left: auto !important;
-  }
-  .p-md-0 {
-    padding: 0 !important;
-  }
-  .p-md-1 {
-    padding: 0.25rem !important;
-  }
-  .p-md-2 {
-    padding: 0.5rem !important;
-  }
-  .p-md-3 {
-    padding: 1rem !important;
-  }
-  .p-md-4 {
-    padding: 1.5rem !important;
-  }
-  .p-md-5 {
-    padding: 3rem !important;
-  }
-  .px-md-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .px-md-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .px-md-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .px-md-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .px-md-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .px-md-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-md-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .py-md-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .py-md-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .py-md-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .py-md-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .py-md-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .pt-md-0 {
-    padding-top: 0 !important;
-  }
-  .pt-md-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pt-md-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pt-md-3 {
-    padding-top: 1rem !important;
-  }
-  .pt-md-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pt-md-5 {
-    padding-top: 3rem !important;
-  }
-  .pe-md-0 {
-    padding-right: 0 !important;
-  }
-  .pe-md-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pe-md-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pe-md-3 {
-    padding-right: 1rem !important;
-  }
-  .pe-md-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pe-md-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-md-0 {
-    padding-bottom: 0 !important;
-  }
-  .pb-md-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pb-md-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pb-md-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pb-md-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pb-md-5 {
-    padding-bottom: 3rem !important;
-  }
-  .ps-md-0 {
-    padding-left: 0 !important;
-  }
-  .ps-md-1 {
-    padding-left: 0.25rem !important;
-  }
-  .ps-md-2 {
-    padding-left: 0.5rem !important;
-  }
-  .ps-md-3 {
-    padding-left: 1rem !important;
-  }
-  .ps-md-4 {
-    padding-left: 1.5rem !important;
-  }
-  .ps-md-5 {
-    padding-left: 3rem !important;
-  }
-  .gap-md-0 {
-    gap: 0 !important;
-  }
-  .gap-md-1 {
-    gap: 0.25rem !important;
-  }
-  .gap-md-2 {
-    gap: 0.5rem !important;
-  }
-  .gap-md-3 {
-    gap: 1rem !important;
-  }
-  .gap-md-4 {
-    gap: 1.5rem !important;
-  }
-  .gap-md-5 {
-    gap: 3rem !important;
-  }
-  .row-gap-md-0 {
-    row-gap: 0 !important;
-  }
-  .row-gap-md-1 {
-    row-gap: 0.25rem !important;
-  }
-  .row-gap-md-2 {
-    row-gap: 0.5rem !important;
-  }
-  .row-gap-md-3 {
-    row-gap: 1rem !important;
-  }
-  .row-gap-md-4 {
-    row-gap: 1.5rem !important;
-  }
-  .row-gap-md-5 {
-    row-gap: 3rem !important;
-  }
-  .column-gap-md-0 {
-    -moz-column-gap: 0 !important;
-    column-gap: 0 !important;
-  }
-  .column-gap-md-1 {
-    -moz-column-gap: 0.25rem !important;
-    column-gap: 0.25rem !important;
-  }
-  .column-gap-md-2 {
-    -moz-column-gap: 0.5rem !important;
-    column-gap: 0.5rem !important;
-  }
-  .column-gap-md-3 {
-    -moz-column-gap: 1rem !important;
-    column-gap: 1rem !important;
-  }
-  .column-gap-md-4 {
-    -moz-column-gap: 1.5rem !important;
-    column-gap: 1.5rem !important;
-  }
-  .column-gap-md-5 {
-    -moz-column-gap: 3rem !important;
-    column-gap: 3rem !important;
-  }
-  .text-md-start {
-    text-align: left !important;
-  }
-  .text-md-end {
-    text-align: right !important;
-  }
-  .text-md-center {
-    text-align: center !important;
-  }
-}
-@media (min-width: 992px) {
-  .float-lg-start {
-    float: left !important;
-  }
-  .float-lg-end {
-    float: right !important;
-  }
-  .float-lg-none {
-    float: none !important;
-  }
-  .object-fit-lg-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
-  }
-  .object-fit-lg-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
-  }
-  .object-fit-lg-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
-  }
-  .object-fit-lg-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
-  }
-  .object-fit-lg-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
-  }
-  .d-lg-inline {
-    display: inline !important;
-  }
-  .d-lg-inline-block {
-    display: inline-block !important;
-  }
-  .d-lg-block {
-    display: block !important;
-  }
-  .d-lg-grid {
-    display: grid !important;
-  }
-  .d-lg-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-lg-table {
-    display: table !important;
-  }
-  .d-lg-table-row {
-    display: table-row !important;
-  }
-  .d-lg-table-cell {
-    display: table-cell !important;
-  }
-  .d-lg-flex {
-    display: flex !important;
-  }
-  .d-lg-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-lg-none {
-    display: none !important;
-  }
-  .flex-lg-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-lg-row {
-    flex-direction: row !important;
+  --bs-emphasis-color-rgb: to-rgb(#fff);
+  --bs-secondary-color: rgba(222, 226, 230, 0.75);
+  --bs-secondary-color-rgb: to-rgb(rgba(222, 226, 230, 0.75));
+  --bs-secondary-bg: #343a40;
+  --bs-secondary-bg-rgb: to-rgb(#343a40);
+  --bs-tertiary-color: rgba(222, 226, 230, 0.5);
+  --bs-tertiary-color-rgb: to-rgb(rgba(222, 226, 230, 0.5));
+  --bs-tertiary-bg: rgb(42.5, 47.5, 52.5);
+  --bs-tertiary-bg-rgb: to-rgb(rgb(42.5, 47.5, 52.5));
+  --bs-heading-color: inherit;
+  --bs-link-color: rgb(168.6, 141.6, 217.8);
+  --bs-link-hover-color: rgb(185.88, 164.28, 225.24);
+  --bs-link-color-rgb: to-rgb(rgb(168.6, 141.6, 217.8));
+  --bs-link-hover-color-rgb: to-rgb(rgb(185.88, 164.28, 225.24));
+  --bs-code-color: rgb(230.4, 132.6, 181.2);
+  --bs-highlight-color: #dee2e6;
+  --bs-highlight-bg: #664d03;
+  --bs-border-color: #495057;
+  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);
+  --bs-form-valid-color: #75b798;
+  --bs-form-valid-border-color: #75b798;
+  --bs-form-invalid-color: #ea868f;
+  --bs-form-invalid-border-color: #ea868f;
+}
+
+@layer helpers {
+  .text-bg-primary {
+    color: color-contrast(#6f42c1) !important;
+    background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-column {
-    flex-direction: column !important;
+  .text-bg-secondary {
+    color: color-contrast(#6c757d) !important;
+    background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-row-reverse {
-    flex-direction: row-reverse !important;
+  .text-bg-success {
+    color: color-contrast(#198754) !important;
+    background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-column-reverse {
-    flex-direction: column-reverse !important;
+  .text-bg-info {
+    color: color-contrast(#0dcaf0) !important;
+    background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-grow-0 {
-    flex-grow: 0 !important;
+  .text-bg-warning {
+    color: color-contrast(#ffc107) !important;
+    background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-grow-1 {
-    flex-grow: 1 !important;
+  .text-bg-danger {
+    color: color-contrast(#dc3545) !important;
+    background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-shrink-0 {
-    flex-shrink: 0 !important;
+  .text-bg-light {
+    color: color-contrast(#f8f9fa) !important;
+    background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-shrink-1 {
-    flex-shrink: 1 !important;
+  .text-bg-dark {
+    color: color-contrast(#212529) !important;
+    background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-wrap {
-    flex-wrap: wrap !important;
+}
+@layer helpers {
+  .link-primary {
+    color: color-mix(in srgb, var(--bs-primary), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-primary), transparent var(--bs-link-underline-opacity));
   }
-  .flex-lg-nowrap {
-    flex-wrap: nowrap !important;
+  .link-primary:hover, .link-primary:focus {
+    color: color-mix(in srgb, tint-color(#6f42c1, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#6f42c1, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .flex-lg-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
+  .link-secondary {
+    color: color-mix(in srgb, var(--bs-secondary), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-secondary), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-start {
-    justify-content: flex-start !important;
+  .link-secondary:hover, .link-secondary:focus {
+    color: color-mix(in srgb, tint-color(#6c757d, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#6c757d, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-end {
-    justify-content: flex-end !important;
+  .link-success {
+    color: color-mix(in srgb, var(--bs-success), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-success), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-center {
-    justify-content: center !important;
+  .link-success:hover, .link-success:focus {
+    color: color-mix(in srgb, tint-color(#198754, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#198754, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-between {
-    justify-content: space-between !important;
+  .link-info {
+    color: color-mix(in srgb, var(--bs-info), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-info), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-around {
-    justify-content: space-around !important;
+  .link-info:hover, .link-info:focus {
+    color: color-mix(in srgb, tint-color(#0dcaf0, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#0dcaf0, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-evenly {
-    justify-content: space-evenly !important;
+  .link-warning {
+    color: color-mix(in srgb, var(--bs-warning), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-warning), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-start {
-    align-items: flex-start !important;
+  .link-warning:hover, .link-warning:focus {
+    color: color-mix(in srgb, tint-color(#ffc107, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#ffc107, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-end {
-    align-items: flex-end !important;
+  .link-danger {
+    color: color-mix(in srgb, var(--bs-danger), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-danger), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-center {
-    align-items: center !important;
+  .link-danger:hover, .link-danger:focus {
+    color: color-mix(in srgb, tint-color(#dc3545, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#dc3545, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-baseline {
-    align-items: baseline !important;
+  .link-light {
+    color: color-mix(in srgb, var(--bs-light), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-light), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-stretch {
-    align-items: stretch !important;
+  .link-light:hover, .link-light:focus {
+    color: color-mix(in srgb, tint-color(#f8f9fa, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#f8f9fa, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .align-content-lg-start {
-    align-content: flex-start !important;
+  .link-dark {
+    color: color-mix(in srgb, var(--bs-dark), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-dark), transparent var(--bs-link-underline-opacity));
   }
-  .align-content-lg-end {
-    align-content: flex-end !important;
+  .link-dark:hover, .link-dark:focus {
+    color: color-mix(in srgb, tint-color(#212529, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#212529, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .align-content-lg-center {
-    align-content: center !important;
+  .link-body-emphasis {
+    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity));
   }
-  .align-content-lg-between {
-    align-content: space-between !important;
+  .link-body-emphasis:hover, .link-body-emphasis:focus {
+    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity, 0.75));
+    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity, 0.75));
   }
-  .align-content-lg-around {
-    align-content: space-around !important;
+}
+@layer helpers {
+  .focus-ring:focus-visible {
+    outline: var(--bs-focus-ring);
   }
-  .align-content-lg-stretch {
-    align-content: stretch !important;
+}
+@layer helpers {
+  .icon-link {
+    display: inline-flex;
+    gap: 0.375rem;
+    align-items: center;
+    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
+    text-underline-offset: 0.25em;
+    backface-visibility: hidden;
   }
-  .align-self-lg-auto {
-    align-self: auto !important;
+  .icon-link > .bi {
+    flex-shrink: 0;
+    width: 1em;
+    height: 1em;
+    fill: currentcolor;
+    transition: 0.2s ease-in-out transform;
   }
-  .align-self-lg-start {
-    align-self: flex-start !important;
+  @media (prefers-reduced-motion: reduce) {
+    .icon-link > .bi {
+      transition: none;
+    }
   }
-  .align-self-lg-end {
-    align-self: flex-end !important;
+  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
+    transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
   }
-  .align-self-lg-center {
-    align-self: center !important;
+}
+@layer helpers {
+  .fixed-top {
+    position: fixed;
+    top: 0;
+    right: 0;
+    left: 0;
+    z-index: 1030;
   }
-  .align-self-lg-baseline {
-    align-self: baseline !important;
+  .fixed-bottom {
+    position: fixed;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    z-index: 1030;
   }
-  .align-self-lg-stretch {
-    align-self: stretch !important;
+  .sticky-top {
+    position: sticky;
+    top: 0;
+    z-index: 1020;
   }
-  .order-lg-first {
-    order: -1 !important;
+  .sticky-bottom {
+    position: sticky;
+    bottom: 0;
+    z-index: 1020;
   }
-  .order-lg-0 {
-    order: 0 !important;
+  @media (min-width: 576px) {
+    .sticky-sm-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-sm-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+  @media (min-width: 768px) {
+    .sticky-md-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-md-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+  @media (min-width: 992px) {
+    .sticky-lg-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-lg-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+  @media (min-width: 1200px) {
+    .sticky-xl-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-xl-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+  @media (min-width: 1400px) {
+    .sticky-xxl-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-xxl-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+}
+@layer helpers {
+  .hstack {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    align-self: stretch;
+  }
+  .vstack {
+    display: flex;
+    flex: 1 1 auto;
+    flex-direction: column;
+    align-self: stretch;
+  }
+}
+@layer helpers {
+  .visually-hidden,
+  .visually-hidden-focusable:not(:focus):not(:focus-within) {
+    width: 1px !important;
+    height: 1px !important;
+    padding: 0 !important;
+    margin: -1px !important;
+    overflow: hidden !important;
+    clip: rect(0, 0, 0, 0) !important;
+    white-space: nowrap !important;
+    border: 0 !important;
   }
-  .order-lg-1 {
-    order: 1 !important;
+  .visually-hidden:not(caption),
+  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
+    position: absolute !important;
   }
-  .order-lg-2 {
-    order: 2 !important;
+  .visually-hidden *,
+  .visually-hidden-focusable:not(:focus):not(:focus-within) * {
+    overflow: hidden !important;
   }
-  .order-lg-3 {
-    order: 3 !important;
+}
+@layer helpers {
+  .stretched-link::after {
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    z-index: 1;
+    content: "";
   }
-  .order-lg-4 {
-    order: 4 !important;
+}
+@layer helpers {
+  .text-truncate {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
   }
-  .order-lg-5 {
-    order: 5 !important;
+}
+@layer helpers {
+  .vr {
+    display: inline-block;
+    align-self: stretch;
+    width: var(--bs-border-width);
+    min-height: 1em;
+    background-color: currentcolor;
+    opacity: 0.25;
   }
-  .order-lg-last {
-    order: 6 !important;
+}
+@layer utilities {
+  .align-baseline {
+    vertical-align: baseline !important;
   }
-  .m-lg-0 {
-    margin: 0 !important;
+  .align-top {
+    vertical-align: top !important;
   }
-  .m-lg-1 {
-    margin: 0.25rem !important;
+  .align-middle {
+    vertical-align: middle !important;
   }
-  .m-lg-2 {
-    margin: 0.5rem !important;
+  .align-bottom {
+    vertical-align: bottom !important;
   }
-  .m-lg-3 {
-    margin: 1rem !important;
+  .align-text-bottom {
+    vertical-align: text-bottom !important;
   }
-  .m-lg-4 {
-    margin: 1.5rem !important;
+  .align-text-top {
+    vertical-align: text-top !important;
   }
-  .m-lg-5 {
-    margin: 3rem !important;
+  .ratio- {
+    aspect-ratio: var(--bs-ratio) !important;
   }
-  .m-lg-auto {
-    margin: auto !important;
+  .ratio-auto {
+    --bs-ratio: auto !important;
   }
-  .mx-lg-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
+  .ratio-1x1 {
+    --bs-ratio: 1 / 1 !important;
   }
-  .mx-lg-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
+  .ratio-4x3 {
+    --bs-ratio: 4 / 3 !important;
   }
-  .mx-lg-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
+  .ratio-16x9 {
+    --bs-ratio: 16 / 9 !important;
   }
-  .mx-lg-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
+  .ratio-21x9 {
+    --bs-ratio: 21 / 9 !important;
   }
-  .mx-lg-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
+  .float-start {
+    float: left !important;
   }
-  .mx-lg-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
+  .float-end {
+    float: right !important;
   }
-  .mx-lg-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
+  .float-none {
+    float: none !important;
   }
-  .my-lg-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
+  .object-fit-contain {
+    object-fit: contain !important;
   }
-  .my-lg-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
+  .object-fit-cover {
+    object-fit: cover !important;
   }
-  .my-lg-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
+  .object-fit-fill {
+    object-fit: fill !important;
   }
-  .my-lg-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
+  .object-fit-scale {
+    object-fit: scale-down !important;
   }
-  .my-lg-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
+  .object-fit-none {
+    object-fit: none !important;
   }
-  .my-lg-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
+  .opacity-0 {
+    opacity: 0 !important;
   }
-  .my-lg-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
+  .opacity-25 {
+    opacity: 0.25 !important;
   }
-  .mt-lg-0 {
-    margin-top: 0 !important;
+  .opacity-50 {
+    opacity: 0.5 !important;
   }
-  .mt-lg-1 {
-    margin-top: 0.25rem !important;
+  .opacity-75 {
+    opacity: 0.75 !important;
   }
-  .mt-lg-2 {
-    margin-top: 0.5rem !important;
+  .opacity-100 {
+    opacity: 1 !important;
   }
-  .mt-lg-3 {
-    margin-top: 1rem !important;
+  .overflow-auto {
+    overflow: auto !important;
   }
-  .mt-lg-4 {
-    margin-top: 1.5rem !important;
+  .overflow-hidden {
+    overflow: hidden !important;
   }
-  .mt-lg-5 {
-    margin-top: 3rem !important;
+  .overflow-visible {
+    overflow: visible !important;
   }
-  .mt-lg-auto {
-    margin-top: auto !important;
+  .overflow-scroll {
+    overflow: scroll !important;
   }
-  .me-lg-0 {
-    margin-right: 0 !important;
+  .overflow-x-auto {
+    overflow-x: auto !important;
   }
-  .me-lg-1 {
-    margin-right: 0.25rem !important;
+  .overflow-x-hidden {
+    overflow-x: hidden !important;
   }
-  .me-lg-2 {
-    margin-right: 0.5rem !important;
+  .overflow-x-visible {
+    overflow-x: visible !important;
   }
-  .me-lg-3 {
-    margin-right: 1rem !important;
+  .overflow-x-scroll {
+    overflow-x: scroll !important;
   }
-  .me-lg-4 {
-    margin-right: 1.5rem !important;
+  .overflow-y-auto {
+    overflow-y: auto !important;
   }
-  .me-lg-5 {
-    margin-right: 3rem !important;
+  .overflow-y-hidden {
+    overflow-y: hidden !important;
   }
-  .me-lg-auto {
-    margin-right: auto !important;
+  .overflow-y-visible {
+    overflow-y: visible !important;
   }
-  .mb-lg-0 {
-    margin-bottom: 0 !important;
+  .overflow-y-scroll {
+    overflow-y: scroll !important;
   }
-  .mb-lg-1 {
-    margin-bottom: 0.25rem !important;
+  .d-inline {
+    display: inline !important;
   }
-  .mb-lg-2 {
-    margin-bottom: 0.5rem !important;
+  .d-inline-block {
+    display: inline-block !important;
   }
-  .mb-lg-3 {
-    margin-bottom: 1rem !important;
+  .d-block {
+    display: block !important;
   }
-  .mb-lg-4 {
-    margin-bottom: 1.5rem !important;
+  .d-grid {
+    display: grid !important;
   }
-  .mb-lg-5 {
-    margin-bottom: 3rem !important;
+  .d-inline-grid {
+    display: inline-grid !important;
   }
-  .mb-lg-auto {
-    margin-bottom: auto !important;
+  .d-table {
+    display: table !important;
   }
-  .ms-lg-0 {
-    margin-left: 0 !important;
+  .d-table-row {
+    display: table-row !important;
   }
-  .ms-lg-1 {
-    margin-left: 0.25rem !important;
+  .d-table-cell {
+    display: table-cell !important;
   }
-  .ms-lg-2 {
-    margin-left: 0.5rem !important;
+  .d-flex {
+    display: flex !important;
   }
-  .ms-lg-3 {
-    margin-left: 1rem !important;
+  .d-inline-flex {
+    display: inline-flex !important;
   }
-  .ms-lg-4 {
-    margin-left: 1.5rem !important;
+  .d-flow-root {
+    display: flow-root !important;
   }
-  .ms-lg-5 {
-    margin-left: 3rem !important;
+  .d-none {
+    display: none !important;
   }
-  .ms-lg-auto {
-    margin-left: auto !important;
+  .shadow {
+    box-shadow: var(--bs-box-shadow) !important;
   }
-  .p-lg-0 {
-    padding: 0 !important;
+  .shadow-sm {
+    box-shadow: var(--bs-box-shadow-sm) !important;
   }
-  .p-lg-1 {
-    padding: 0.25rem !important;
+  .shadow-lg {
+    box-shadow: var(--bs-box-shadow-lg) !important;
   }
-  .p-lg-2 {
-    padding: 0.5rem !important;
+  .shadow-none {
+    box-shadow: none !important;
   }
-  .p-lg-3 {
-    padding: 1rem !important;
+  .focus-ring-primary {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg)) !important;
   }
-  .p-lg-4 {
-    padding: 1.5rem !important;
+  .focus-ring-accent {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg)) !important;
   }
-  .p-lg-5 {
-    padding: 3rem !important;
+  .focus-ring-danger {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
+  .focus-ring-warning {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
+  .focus-ring-success {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
+  .focus-ring-info {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
+  .focus-ring-secondary {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-gray-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
+  .position-static {
+    position: static !important;
   }
-  .px-lg-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
+  .position-relative {
+    position: relative !important;
   }
-  .py-lg-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
+  .position-absolute {
+    position: absolute !important;
   }
-  .py-lg-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
+  .position-fixed {
+    position: fixed !important;
   }
-  .py-lg-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
+  .position-sticky {
+    position: sticky !important;
   }
-  .py-lg-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
+  .top-0 {
+    top: 0 !important;
   }
-  .py-lg-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
+  .top-50 {
+    top: 50% !important;
   }
-  .py-lg-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
+  .top-100 {
+    top: 100% !important;
   }
-  .pt-lg-0 {
-    padding-top: 0 !important;
+  .bottom-0 {
+    bottom: 0 !important;
   }
-  .pt-lg-1 {
-    padding-top: 0.25rem !important;
+  .bottom-50 {
+    bottom: 50% !important;
   }
-  .pt-lg-2 {
-    padding-top: 0.5rem !important;
+  .bottom-100 {
+    bottom: 100% !important;
   }
-  .pt-lg-3 {
-    padding-top: 1rem !important;
+  .start-0 {
+    left: 0 !important;
   }
-  .pt-lg-4 {
-    padding-top: 1.5rem !important;
+  .start-50 {
+    left: 50% !important;
   }
-  .pt-lg-5 {
-    padding-top: 3rem !important;
+  .start-100 {
+    left: 100% !important;
   }
-  .pe-lg-0 {
-    padding-right: 0 !important;
+  .end-0 {
+    right: 0 !important;
   }
-  .pe-lg-1 {
-    padding-right: 0.25rem !important;
+  .end-50 {
+    right: 50% !important;
   }
-  .pe-lg-2 {
-    padding-right: 0.5rem !important;
+  .end-100 {
+    right: 100% !important;
   }
-  .pe-lg-3 {
-    padding-right: 1rem !important;
+  .translate-middle {
+    transform: translate(-50%, -50%) !important;
   }
-  .pe-lg-4 {
-    padding-right: 1.5rem !important;
+  .translate-middle-x {
+    transform: translateX(-50%) !important;
   }
-  .pe-lg-5 {
-    padding-right: 3rem !important;
+  .translate-middle-y {
+    transform: translateY(-50%) !important;
   }
-  .pb-lg-0 {
-    padding-bottom: 0 !important;
+  .border {
+    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .pb-lg-1 {
-    padding-bottom: 0.25rem !important;
+  .border-0 {
+    border: 0 !important;
   }
-  .pb-lg-2 {
-    padding-bottom: 0.5rem !important;
+  .border-top {
+    border-block-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .pb-lg-3 {
-    padding-bottom: 1rem !important;
+  .border-top-0 {
+    border-block-start: 0 !important;
   }
-  .pb-lg-4 {
-    padding-bottom: 1.5rem !important;
+  .border-end {
+    border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .pb-lg-5 {
-    padding-bottom: 3rem !important;
+  .border-end-0 {
+    border-inline-end: 0 !important;
   }
-  .ps-lg-0 {
-    padding-left: 0 !important;
+  .border-bottom {
+    border-block-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .ps-lg-1 {
-    padding-left: 0.25rem !important;
+  .border-bottom-0 {
+    border-block-end: 0 !important;
   }
-  .ps-lg-2 {
-    padding-left: 0.5rem !important;
+  .border-start {
+    border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .ps-lg-3 {
-    padding-left: 1rem !important;
+  .border-start-0 {
+    border-inline-start: 0 !important;
   }
-  .ps-lg-4 {
-    padding-left: 1.5rem !important;
+  .border-block {
+    border-block: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .ps-lg-5 {
-    padding-left: 3rem !important;
+  .border-block-0 {
+    border-block: 0 !important;
   }
-  .gap-lg-0 {
-    gap: 0 !important;
+  .border-inline {
+    border-inline: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .gap-lg-1 {
-    gap: 0.25rem !important;
+  .border-inline-0 {
+    border-inline: 0 !important;
   }
-  .gap-lg-2 {
-    gap: 0.5rem !important;
+  .border-primary {
+    border-color: light-dark(var(--bs-blue-300), var(--bs-blue-600)) !important;
   }
-  .gap-lg-3 {
-    gap: 1rem !important;
+  .border-accent {
+    border-color: light-dark(var(--bs-indigo-300), var(--bs-indigo-600)) !important;
   }
-  .gap-lg-4 {
-    gap: 1.5rem !important;
+  .border-danger {
+    border-color: light-dark(var(--bs-red-300), var(--bs-red-600)) !important;
   }
-  .gap-lg-5 {
-    gap: 3rem !important;
+  .border-warning {
+    border-color: light-dark(var(--bs-yellow-300), var(--bs-yellow-600)) !important;
   }
-  .row-gap-lg-0 {
-    row-gap: 0 !important;
+  .border-success {
+    border-color: light-dark(var(--bs-green-300), var(--bs-green-600)) !important;
   }
-  .row-gap-lg-1 {
-    row-gap: 0.25rem !important;
+  .border-info {
+    border-color: light-dark(var(--bs-cyan-300), var(--bs-cyan-600)) !important;
   }
-  .row-gap-lg-2 {
-    row-gap: 0.5rem !important;
+  .border-secondary {
+    border-color: light-dark(var(--bs-gray-300), var(--bs-gray-600)) !important;
   }
-  .row-gap-lg-3 {
-    row-gap: 1rem !important;
+  .border-1 {
+    border-width: 1px !important;
   }
-  .row-gap-lg-4 {
-    row-gap: 1.5rem !important;
+  .border-2 {
+    border-width: 2px !important;
   }
-  .row-gap-lg-5 {
-    row-gap: 3rem !important;
+  .border-3 {
+    border-width: 3px !important;
   }
-  .column-gap-lg-0 {
-    -moz-column-gap: 0 !important;
-    column-gap: 0 !important;
+  .border-4 {
+    border-width: 4px !important;
   }
-  .column-gap-lg-1 {
-    -moz-column-gap: 0.25rem !important;
-    column-gap: 0.25rem !important;
+  .border-5 {
+    border-width: 5px !important;
   }
-  .column-gap-lg-2 {
-    -moz-column-gap: 0.5rem !important;
-    column-gap: 0.5rem !important;
+  .w-25 {
+    width: 25% !important;
   }
-  .column-gap-lg-3 {
-    -moz-column-gap: 1rem !important;
-    column-gap: 1rem !important;
+  .w-50 {
+    width: 50% !important;
   }
-  .column-gap-lg-4 {
-    -moz-column-gap: 1.5rem !important;
-    column-gap: 1.5rem !important;
+  .w-75 {
+    width: 75% !important;
   }
-  .column-gap-lg-5 {
-    -moz-column-gap: 3rem !important;
-    column-gap: 3rem !important;
+  .w-100 {
+    width: 100% !important;
   }
-  .text-lg-start {
-    text-align: left !important;
+  .w-auto {
+    width: auto !important;
   }
-  .text-lg-end {
-    text-align: right !important;
+  .w-min {
+    width: min-content !important;
   }
-  .text-lg-center {
-    text-align: center !important;
+  .w-max {
+    width: max-content !important;
   }
-}
-@media (min-width: 1200px) {
-  .float-xl-start {
-    float: left !important;
+  .w-fit {
+    width: fit-content !important;
   }
-  .float-xl-end {
-    float: right !important;
+  .max-w-100 {
+    max-width: 100% !important;
   }
-  .float-xl-none {
-    float: none !important;
+  .min-w-0 {
+    min-width: 0 !important;
   }
-  .object-fit-xl-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
+  .min-w-100 {
+    min-width: 100% !important;
   }
-  .object-fit-xl-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
+  .vw-100 {
+    width: 100vw !important;
   }
-  .object-fit-xl-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
+  .min-vw-100 {
+    min-width: 100vw !important;
   }
-  .object-fit-xl-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
+  .h-25 {
+    height: 25% !important;
   }
-  .object-fit-xl-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
+  .h-50 {
+    height: 50% !important;
   }
-  .d-xl-inline {
-    display: inline !important;
+  .h-75 {
+    height: 75% !important;
   }
-  .d-xl-inline-block {
-    display: inline-block !important;
+  .h-100 {
+    height: 100% !important;
   }
-  .d-xl-block {
-    display: block !important;
+  .h-auto {
+    height: auto !important;
   }
-  .d-xl-grid {
-    display: grid !important;
+  .h-min {
+    height: min-content !important;
   }
-  .d-xl-inline-grid {
-    display: inline-grid !important;
+  .h-max {
+    height: max-content !important;
   }
-  .d-xl-table {
-    display: table !important;
+  .h-fit {
+    height: fit-content !important;
   }
-  .d-xl-table-row {
-    display: table-row !important;
+  .max-h-100 {
+    max-height: 100% !important;
   }
-  .d-xl-table-cell {
-    display: table-cell !important;
+  .min-h-0 {
+    min-height: 0 !important;
   }
-  .d-xl-flex {
-    display: flex !important;
+  .min-h-100 {
+    min-height: 100% !important;
   }
-  .d-xl-inline-flex {
-    display: inline-flex !important;
+  .vh-100 {
+    height: 100vh !important;
   }
-  .d-xl-none {
-    display: none !important;
+  .min-vh-100 {
+    min-height: 100vh !important;
   }
-  .flex-xl-fill {
+  .flex-fill {
     flex: 1 1 auto !important;
   }
-  .flex-xl-row {
+  .flex-row {
     flex-direction: row !important;
   }
-  .flex-xl-column {
+  .flex-column {
     flex-direction: column !important;
   }
-  .flex-xl-row-reverse {
+  .flex-row-reverse {
     flex-direction: row-reverse !important;
   }
-  .flex-xl-column-reverse {
+  .flex-column-reverse {
     flex-direction: column-reverse !important;
   }
-  .flex-xl-grow-0 {
+  .flex-grow-0 {
     flex-grow: 0 !important;
   }
-  .flex-xl-grow-1 {
+  .flex-grow-1 {
     flex-grow: 1 !important;
   }
-  .flex-xl-shrink-0 {
+  .flex-shrink-0 {
     flex-shrink: 0 !important;
   }
-  .flex-xl-shrink-1 {
+  .flex-shrink-1 {
     flex-shrink: 1 !important;
   }
-  .flex-xl-wrap {
+  .flex-wrap {
     flex-wrap: wrap !important;
   }
-  .flex-xl-nowrap {
+  .flex-nowrap {
     flex-wrap: nowrap !important;
   }
-  .flex-xl-wrap-reverse {
+  .flex-wrap-reverse {
     flex-wrap: wrap-reverse !important;
   }
-  .justify-content-xl-start {
+  .justify-content-start {
     justify-content: flex-start !important;
   }
-  .justify-content-xl-end {
+  .justify-content-end {
     justify-content: flex-end !important;
   }
-  .justify-content-xl-center {
+  .justify-content-center {
     justify-content: center !important;
   }
-  .justify-content-xl-between {
+  .justify-content-between {
     justify-content: space-between !important;
   }
-  .justify-content-xl-around {
+  .justify-content-around {
     justify-content: space-around !important;
   }
-  .justify-content-xl-evenly {
-    justify-content: space-evenly !important;
+  .justify-content-evenly {
+    justify-content: space-evenly !important;
+  }
+  .justify-self-start {
+    justify-self: flex-start !important;
+  }
+  .justify-self-end {
+    justify-self: flex-end !important;
+  }
+  .justify-self-center {
+    justify-self: center !important;
   }
-  .align-items-xl-start {
+  .align-items-start {
     align-items: flex-start !important;
   }
-  .align-items-xl-end {
+  .align-items-end {
     align-items: flex-end !important;
   }
-  .align-items-xl-center {
+  .align-items-center {
     align-items: center !important;
   }
-  .align-items-xl-baseline {
+  .align-items-baseline {
     align-items: baseline !important;
   }
-  .align-items-xl-stretch {
+  .align-items-stretch {
     align-items: stretch !important;
   }
-  .align-content-xl-start {
+  .align-content-start {
     align-content: flex-start !important;
   }
-  .align-content-xl-end {
+  .align-content-end {
     align-content: flex-end !important;
   }
-  .align-content-xl-center {
+  .align-content-center {
     align-content: center !important;
   }
-  .align-content-xl-between {
+  .align-content-between {
     align-content: space-between !important;
   }
-  .align-content-xl-around {
+  .align-content-around {
     align-content: space-around !important;
   }
-  .align-content-xl-stretch {
+  .align-content-stretch {
     align-content: stretch !important;
   }
-  .align-self-xl-auto {
+  .align-self-auto {
     align-self: auto !important;
   }
-  .align-self-xl-start {
+  .align-self-start {
     align-self: flex-start !important;
   }
-  .align-self-xl-end {
+  .align-self-end {
     align-self: flex-end !important;
   }
-  .align-self-xl-center {
+  .align-self-center {
     align-self: center !important;
   }
-  .align-self-xl-baseline {
+  .align-self-baseline {
     align-self: baseline !important;
   }
-  .align-self-xl-stretch {
+  .align-self-stretch {
     align-self: stretch !important;
   }
-  .order-xl-first {
+  .order-first {
     order: -1 !important;
   }
-  .order-xl-0 {
+  .order-0 {
     order: 0 !important;
   }
-  .order-xl-1 {
+  .order-1 {
     order: 1 !important;
   }
-  .order-xl-2 {
+  .order-2 {
     order: 2 !important;
   }
-  .order-xl-3 {
+  .order-3 {
     order: 3 !important;
   }
-  .order-xl-4 {
+  .order-4 {
     order: 4 !important;
   }
-  .order-xl-5 {
+  .order-5 {
     order: 5 !important;
   }
-  .order-xl-last {
+  .order-last {
     order: 6 !important;
   }
-  .m-xl-0 {
+  .m-0 {
     margin: 0 !important;
   }
-  .m-xl-1 {
+  .m-1 {
     margin: 0.25rem !important;
   }
-  .m-xl-2 {
+  .m-2 {
     margin: 0.5rem !important;
   }
-  .m-xl-3 {
+  .m-3 {
     margin: 1rem !important;
   }
-  .m-xl-4 {
+  .m-4 {
     margin: 1.5rem !important;
   }
-  .m-xl-5 {
+  .m-5 {
     margin: 3rem !important;
   }
-  .m-xl-auto {
+  .m-auto {
     margin: auto !important;
   }
-  .mx-xl-0 {
+  .mx-0 {
     margin-right: 0 !important;
     margin-left: 0 !important;
   }
-  .mx-xl-1 {
+  .mx-1 {
     margin-right: 0.25rem !important;
     margin-left: 0.25rem !important;
   }
-  .mx-xl-2 {
+  .mx-2 {
     margin-right: 0.5rem !important;
     margin-left: 0.5rem !important;
   }
-  .mx-xl-3 {
+  .mx-3 {
     margin-right: 1rem !important;
     margin-left: 1rem !important;
   }
-  .mx-xl-4 {
+  .mx-4 {
     margin-right: 1.5rem !important;
     margin-left: 1.5rem !important;
   }
-  .mx-xl-5 {
+  .mx-5 {
     margin-right: 3rem !important;
     margin-left: 3rem !important;
   }
-  .mx-xl-auto {
+  .mx-auto {
     margin-right: auto !important;
     margin-left: auto !important;
   }
-  .my-xl-0 {
+  .my-0 {
     margin-top: 0 !important;
     margin-bottom: 0 !important;
   }
-  .my-xl-1 {
+  .my-1 {
     margin-top: 0.25rem !important;
     margin-bottom: 0.25rem !important;
   }
-  .my-xl-2 {
+  .my-2 {
     margin-top: 0.5rem !important;
     margin-bottom: 0.5rem !important;
   }
-  .my-xl-3 {
+  .my-3 {
     margin-top: 1rem !important;
     margin-bottom: 1rem !important;
   }
-  .my-xl-4 {
+  .my-4 {
     margin-top: 1.5rem !important;
     margin-bottom: 1.5rem !important;
   }
-  .my-xl-5 {
+  .my-5 {
     margin-top: 3rem !important;
     margin-bottom: 3rem !important;
   }
-  .my-xl-auto {
+  .my-auto {
     margin-top: auto !important;
     margin-bottom: auto !important;
   }
-  .mt-xl-0 {
+  .mt-0 {
     margin-top: 0 !important;
   }
-  .mt-xl-1 {
+  .mt-1 {
     margin-top: 0.25rem !important;
   }
-  .mt-xl-2 {
+  .mt-2 {
     margin-top: 0.5rem !important;
   }
-  .mt-xl-3 {
+  .mt-3 {
     margin-top: 1rem !important;
   }
-  .mt-xl-4 {
+  .mt-4 {
     margin-top: 1.5rem !important;
   }
-  .mt-xl-5 {
+  .mt-5 {
     margin-top: 3rem !important;
   }
-  .mt-xl-auto {
+  .mt-auto {
     margin-top: auto !important;
   }
-  .me-xl-0 {
+  .me-0 {
     margin-right: 0 !important;
   }
-  .me-xl-1 {
+  .me-1 {
     margin-right: 0.25rem !important;
   }
-  .me-xl-2 {
+  .me-2 {
     margin-right: 0.5rem !important;
   }
-  .me-xl-3 {
+  .me-3 {
     margin-right: 1rem !important;
   }
-  .me-xl-4 {
+  .me-4 {
     margin-right: 1.5rem !important;
   }
-  .me-xl-5 {
+  .me-5 {
     margin-right: 3rem !important;
   }
-  .me-xl-auto {
+  .me-auto {
     margin-right: auto !important;
   }
-  .mb-xl-0 {
+  .mb-0 {
     margin-bottom: 0 !important;
   }
-  .mb-xl-1 {
+  .mb-1 {
     margin-bottom: 0.25rem !important;
   }
-  .mb-xl-2 {
+  .mb-2 {
     margin-bottom: 0.5rem !important;
   }
-  .mb-xl-3 {
+  .mb-3 {
     margin-bottom: 1rem !important;
   }
-  .mb-xl-4 {
+  .mb-4 {
     margin-bottom: 1.5rem !important;
   }
-  .mb-xl-5 {
+  .mb-5 {
     margin-bottom: 3rem !important;
   }
-  .mb-xl-auto {
+  .mb-auto {
     margin-bottom: auto !important;
   }
-  .ms-xl-0 {
+  .ms-0 {
     margin-left: 0 !important;
   }
-  .ms-xl-1 {
+  .ms-1 {
     margin-left: 0.25rem !important;
   }
-  .ms-xl-2 {
+  .ms-2 {
     margin-left: 0.5rem !important;
   }
-  .ms-xl-3 {
+  .ms-3 {
     margin-left: 1rem !important;
   }
-  .ms-xl-4 {
+  .ms-4 {
     margin-left: 1.5rem !important;
   }
-  .ms-xl-5 {
+  .ms-5 {
     margin-left: 3rem !important;
   }
-  .ms-xl-auto {
+  .ms-auto {
     margin-left: auto !important;
   }
-  .p-xl-0 {
+  .p-0 {
     padding: 0 !important;
   }
-  .p-xl-1 {
+  .p-1 {
     padding: 0.25rem !important;
   }
-  .p-xl-2 {
+  .p-2 {
     padding: 0.5rem !important;
   }
-  .p-xl-3 {
+  .p-3 {
     padding: 1rem !important;
   }
-  .p-xl-4 {
+  .p-4 {
     padding: 1.5rem !important;
   }
-  .p-xl-5 {
+  .p-5 {
     padding: 3rem !important;
   }
-  .px-xl-0 {
+  .px-0 {
     padding-right: 0 !important;
     padding-left: 0 !important;
   }
-  .px-xl-1 {
+  .px-1 {
     padding-right: 0.25rem !important;
     padding-left: 0.25rem !important;
   }
-  .px-xl-2 {
+  .px-2 {
     padding-right: 0.5rem !important;
     padding-left: 0.5rem !important;
   }
-  .px-xl-3 {
+  .px-3 {
     padding-right: 1rem !important;
     padding-left: 1rem !important;
   }
-  .px-xl-4 {
+  .px-4 {
     padding-right: 1.5rem !important;
     padding-left: 1.5rem !important;
   }
-  .px-xl-5 {
+  .px-5 {
     padding-right: 3rem !important;
     padding-left: 3rem !important;
   }
-  .py-xl-0 {
+  .py-0 {
     padding-top: 0 !important;
     padding-bottom: 0 !important;
   }
-  .py-xl-1 {
+  .py-1 {
     padding-top: 0.25rem !important;
     padding-bottom: 0.25rem !important;
   }
-  .py-xl-2 {
+  .py-2 {
     padding-top: 0.5rem !important;
     padding-bottom: 0.5rem !important;
   }
-  .py-xl-3 {
+  .py-3 {
     padding-top: 1rem !important;
     padding-bottom: 1rem !important;
   }
-  .py-xl-4 {
+  .py-4 {
     padding-top: 1.5rem !important;
     padding-bottom: 1.5rem !important;
   }
-  .py-xl-5 {
+  .py-5 {
     padding-top: 3rem !important;
     padding-bottom: 3rem !important;
   }
-  .pt-xl-0 {
+  .pt-0 {
     padding-top: 0 !important;
   }
-  .pt-xl-1 {
+  .pt-1 {
     padding-top: 0.25rem !important;
   }
-  .pt-xl-2 {
+  .pt-2 {
     padding-top: 0.5rem !important;
   }
-  .pt-xl-3 {
+  .pt-3 {
     padding-top: 1rem !important;
   }
-  .pt-xl-4 {
+  .pt-4 {
     padding-top: 1.5rem !important;
   }
-  .pt-xl-5 {
+  .pt-5 {
     padding-top: 3rem !important;
   }
-  .pe-xl-0 {
+  .pe-0 {
     padding-right: 0 !important;
   }
-  .pe-xl-1 {
+  .pe-1 {
     padding-right: 0.25rem !important;
   }
-  .pe-xl-2 {
+  .pe-2 {
     padding-right: 0.5rem !important;
   }
-  .pe-xl-3 {
+  .pe-3 {
     padding-right: 1rem !important;
   }
-  .pe-xl-4 {
+  .pe-4 {
     padding-right: 1.5rem !important;
   }
-  .pe-xl-5 {
+  .pe-5 {
     padding-right: 3rem !important;
   }
-  .pb-xl-0 {
+  .pb-0 {
     padding-bottom: 0 !important;
   }
-  .pb-xl-1 {
+  .pb-1 {
     padding-bottom: 0.25rem !important;
   }
-  .pb-xl-2 {
+  .pb-2 {
     padding-bottom: 0.5rem !important;
   }
-  .pb-xl-3 {
+  .pb-3 {
     padding-bottom: 1rem !important;
   }
-  .pb-xl-4 {
+  .pb-4 {
     padding-bottom: 1.5rem !important;
   }
-  .pb-xl-5 {
+  .pb-5 {
     padding-bottom: 3rem !important;
   }
-  .ps-xl-0 {
+  .ps-0 {
     padding-left: 0 !important;
   }
-  .ps-xl-1 {
+  .ps-1 {
     padding-left: 0.25rem !important;
   }
-  .ps-xl-2 {
+  .ps-2 {
     padding-left: 0.5rem !important;
   }
-  .ps-xl-3 {
+  .ps-3 {
     padding-left: 1rem !important;
   }
-  .ps-xl-4 {
+  .ps-4 {
     padding-left: 1.5rem !important;
   }
-  .ps-xl-5 {
+  .ps-5 {
     padding-left: 3rem !important;
   }
-  .gap-xl-0 {
+  .gap-0 {
     gap: 0 !important;
   }
-  .gap-xl-1 {
+  .gap-1 {
     gap: 0.25rem !important;
   }
-  .gap-xl-2 {
+  .gap-2 {
     gap: 0.5rem !important;
   }
-  .gap-xl-3 {
+  .gap-3 {
     gap: 1rem !important;
   }
-  .gap-xl-4 {
+  .gap-4 {
     gap: 1.5rem !important;
   }
-  .gap-xl-5 {
+  .gap-5 {
     gap: 3rem !important;
   }
-  .row-gap-xl-0 {
+  .row-gap-0 {
     row-gap: 0 !important;
   }
-  .row-gap-xl-1 {
+  .row-gap-1 {
     row-gap: 0.25rem !important;
   }
-  .row-gap-xl-2 {
+  .row-gap-2 {
     row-gap: 0.5rem !important;
   }
-  .row-gap-xl-3 {
+  .row-gap-3 {
     row-gap: 1rem !important;
   }
-  .row-gap-xl-4 {
+  .row-gap-4 {
     row-gap: 1.5rem !important;
   }
-  .row-gap-xl-5 {
+  .row-gap-5 {
     row-gap: 3rem !important;
   }
-  .column-gap-xl-0 {
-    -moz-column-gap: 0 !important;
+  .column-gap-0 {
     column-gap: 0 !important;
   }
-  .column-gap-xl-1 {
-    -moz-column-gap: 0.25rem !important;
+  .column-gap-1 {
     column-gap: 0.25rem !important;
   }
-  .column-gap-xl-2 {
-    -moz-column-gap: 0.5rem !important;
+  .column-gap-2 {
     column-gap: 0.5rem !important;
   }
-  .column-gap-xl-3 {
-    -moz-column-gap: 1rem !important;
+  .column-gap-3 {
     column-gap: 1rem !important;
   }
-  .column-gap-xl-4 {
-    -moz-column-gap: 1.5rem !important;
+  .column-gap-4 {
     column-gap: 1.5rem !important;
   }
-  .column-gap-xl-5 {
-    -moz-column-gap: 3rem !important;
+  .column-gap-5 {
     column-gap: 3rem !important;
   }
-  .text-xl-start {
-    text-align: left !important;
-  }
-  .text-xl-end {
-    text-align: right !important;
-  }
-  .text-xl-center {
-    text-align: center !important;
-  }
-}
-@media (min-width: 1400px) {
-  .float-xxl-start {
-    float: left !important;
-  }
-  .float-xxl-end {
-    float: right !important;
-  }
-  .float-xxl-none {
-    float: none !important;
-  }
-  .object-fit-xxl-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
-  }
-  .object-fit-xxl-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
-  }
-  .object-fit-xxl-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
-  }
-  .object-fit-xxl-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
-  }
-  .object-fit-xxl-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
-  }
-  .d-xxl-inline {
-    display: inline !important;
-  }
-  .d-xxl-inline-block {
-    display: inline-block !important;
-  }
-  .d-xxl-block {
-    display: block !important;
-  }
-  .d-xxl-grid {
-    display: grid !important;
-  }
-  .d-xxl-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-xxl-table {
-    display: table !important;
-  }
-  .d-xxl-table-row {
-    display: table-row !important;
-  }
-  .d-xxl-table-cell {
-    display: table-cell !important;
-  }
-  .d-xxl-flex {
-    display: flex !important;
-  }
-  .d-xxl-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-xxl-none {
-    display: none !important;
-  }
-  .flex-xxl-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-xxl-row {
-    flex-direction: row !important;
-  }
-  .flex-xxl-column {
-    flex-direction: column !important;
-  }
-  .flex-xxl-row-reverse {
-    flex-direction: row-reverse !important;
+  .font-monospace {
+    font-family: var(--bs-font-monospace) !important;
   }
-  .flex-xxl-column-reverse {
-    flex-direction: column-reverse !important;
+  .fs-1 {
+    font-size: rfs-fluid-value(2.5rem) !important;
   }
-  .flex-xxl-grow-0 {
-    flex-grow: 0 !important;
+  .fs-2 {
+    font-size: rfs-fluid-value(2rem) !important;
   }
-  .flex-xxl-grow-1 {
-    flex-grow: 1 !important;
+  .fs-3 {
+    font-size: rfs-fluid-value(1.75rem) !important;
   }
-  .flex-xxl-shrink-0 {
-    flex-shrink: 0 !important;
+  .fs-4 {
+    font-size: rfs-fluid-value(1.5rem) !important;
   }
-  .flex-xxl-shrink-1 {
-    flex-shrink: 1 !important;
+  .fs-5 {
+    font-size: rfs-fluid-value(1.25rem) !important;
   }
-  .flex-xxl-wrap {
-    flex-wrap: wrap !important;
+  .fs-6 {
+    font-size: rfs-fluid-value(1rem) !important;
   }
-  .flex-xxl-nowrap {
-    flex-wrap: nowrap !important;
+  .fst-italic {
+    font-style: italic !important;
   }
-  .flex-xxl-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
+  .fst-normal {
+    font-style: normal !important;
   }
-  .justify-content-xxl-start {
-    justify-content: flex-start !important;
+  .fw-lighter {
+    font-weight: lighter !important;
   }
-  .justify-content-xxl-end {
-    justify-content: flex-end !important;
+  .fw-light {
+    font-weight: 300 !important;
   }
-  .justify-content-xxl-center {
-    justify-content: center !important;
+  .fw-normal {
+    font-weight: 400 !important;
   }
-  .justify-content-xxl-between {
-    justify-content: space-between !important;
+  .fw-medium {
+    font-weight: 500 !important;
   }
-  .justify-content-xxl-around {
-    justify-content: space-around !important;
+  .fw-semibold {
+    font-weight: 600 !important;
   }
-  .justify-content-xxl-evenly {
-    justify-content: space-evenly !important;
+  .fw-bold {
+    font-weight: 700 !important;
   }
-  .align-items-xxl-start {
-    align-items: flex-start !important;
+  .fw-bolder {
+    font-weight: bolder !important;
   }
-  .align-items-xxl-end {
-    align-items: flex-end !important;
+  .lh-1 {
+    line-height: 1 !important;
   }
-  .align-items-xxl-center {
-    align-items: center !important;
+  .lh-sm {
+    line-height: 1.25 !important;
   }
-  .align-items-xxl-baseline {
-    align-items: baseline !important;
+  .lh-base {
+    line-height: 1.5 !important;
   }
-  .align-items-xxl-stretch {
-    align-items: stretch !important;
+  .lh-lg {
+    line-height: 2 !important;
   }
-  .align-content-xxl-start {
-    align-content: flex-start !important;
+  .text-start {
+    text-align: left !important;
   }
-  .align-content-xxl-end {
-    align-content: flex-end !important;
+  .text-end {
+    text-align: right !important;
   }
-  .align-content-xxl-center {
-    align-content: center !important;
+  .text-center {
+    text-align: center !important;
   }
-  .align-content-xxl-between {
-    align-content: space-between !important;
+  .text-decoration-none {
+    text-decoration: none !important;
   }
-  .align-content-xxl-around {
-    align-content: space-around !important;
+  .text-decoration-underline {
+    text-decoration: underline !important;
   }
-  .align-content-xxl-stretch {
-    align-content: stretch !important;
+  .text-decoration-line-through {
+    text-decoration: line-through !important;
   }
-  .align-self-xxl-auto {
-    align-self: auto !important;
+  .text-lowercase {
+    text-transform: lowercase !important;
   }
-  .align-self-xxl-start {
-    align-self: flex-start !important;
+  .text-uppercase {
+    text-transform: uppercase !important;
   }
-  .align-self-xxl-end {
-    align-self: flex-end !important;
+  .text-capitalize {
+    text-transform: capitalize !important;
   }
-  .align-self-xxl-center {
-    align-self: center !important;
+  .text-wrap {
+    white-space: normal !important;
   }
-  .align-self-xxl-baseline {
-    align-self: baseline !important;
+  .text-nowrap {
+    white-space: nowrap !important;
   }
-  .align-self-xxl-stretch {
-    align-self: stretch !important;
+  /* rtl:begin:remove */
+  .text-break {
+    word-wrap: break-word !important;
+    word-break: break-word !important;
   }
-  .order-xxl-first {
-    order: -1 !important;
+  /* rtl:end:remove */
+  .color- {
+    color: var(--bs-color) !important;
   }
-  .order-xxl-0 {
-    order: 0 !important;
+  .color-primary {
+    --bs-color: light-dark(var(--bs-blue-600), var(--bs-blue-300)) !important;
   }
-  .order-xxl-1 {
-    order: 1 !important;
+  .color-accent {
+    --bs-color: light-dark(var(--bs-indigo-600), var(--bs-indigo-300)) !important;
   }
-  .order-xxl-2 {
-    order: 2 !important;
+  .color-danger {
+    --bs-color: light-dark(var(--bs-red-600), var(--bs-red-300)) !important;
   }
-  .order-xxl-3 {
-    order: 3 !important;
+  .color-warning {
+    --bs-color: light-dark(var(--bs-yellow-700), var(--bs-yellow-300)) !important;
   }
-  .order-xxl-4 {
-    order: 4 !important;
+  .color-success {
+    --bs-color: light-dark(var(--bs-green-600), var(--bs-green-300)) !important;
   }
-  .order-xxl-5 {
-    order: 5 !important;
+  .color-info {
+    --bs-color: light-dark(var(--bs-cyan-600), var(--bs-cyan-300)) !important;
   }
-  .order-xxl-last {
-    order: 6 !important;
+  .color-secondary {
+    --bs-color: light-dark(var(--bs-gray-600), var(--bs-gray-400)) !important;
   }
-  .m-xxl-0 {
-    margin: 0 !important;
+  .color {
+    --bs-color: light-dark(var(--bs-gray-900), var(--bs-gray-100)) !important;
   }
-  .m-xxl-1 {
-    margin: 0.25rem !important;
+  .color-1 {
+    --bs-color: light-dark(var(--bs-gray-800), var(--bs-gray-200)) !important;
   }
-  .m-xxl-2 {
-    margin: 0.5rem !important;
+  .color-2 {
+    --bs-color: light-dark(var(--bs-gray-700), var(--bs-gray-300)) !important;
   }
-  .m-xxl-3 {
-    margin: 1rem !important;
+  .color-3 {
+    --bs-color: light-dark(var(--bs-gray-600), var(--bs-gray-400)) !important;
   }
-  .m-xxl-4 {
-    margin: 1.5rem !important;
+  .color-white {
+    --bs-color: var(--bs-white) !important;
   }
-  .m-xxl-5 {
-    margin: 3rem !important;
+  .color-black {
+    --bs-color: var(--bs-black) !important;
   }
-  .m-xxl-auto {
-    margin: auto !important;
+  .color-inherit {
+    --bs-color: inherit !important;
   }
-  .mx-xxl-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
+  .color-10 {
+    color: color-mix(in oklch, var(--bs-color) 10%, transparent) !important;
   }
-  .mx-xxl-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
+  .color-20 {
+    color: color-mix(in oklch, var(--bs-color) 20%, transparent) !important;
   }
-  .mx-xxl-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
+  .color-30 {
+    color: color-mix(in oklch, var(--bs-color) 30%, transparent) !important;
   }
-  .mx-xxl-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
+  .color-40 {
+    color: color-mix(in oklch, var(--bs-color) 40%, transparent) !important;
   }
-  .mx-xxl-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
+  .color-50 {
+    color: color-mix(in oklch, var(--bs-color) 50%, transparent) !important;
   }
-  .mx-xxl-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
+  .color-60 {
+    color: color-mix(in oklch, var(--bs-color) 60%, transparent) !important;
   }
-  .mx-xxl-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
+  .color-70 {
+    color: color-mix(in oklch, var(--bs-color) 70%, transparent) !important;
   }
-  .my-xxl-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
+  .color-80 {
+    color: color-mix(in oklch, var(--bs-color) 80%, transparent) !important;
   }
-  .my-xxl-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
+  .color-90 {
+    color: color-mix(in oklch, var(--bs-color) 90%, transparent) !important;
   }
-  .my-xxl-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
+  .color-100 {
+    color: var(--bs-color) !important;
   }
-  .my-xxl-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
+  .color-on-primary {
+    --bs-color: var(--bs-white) !important;
   }
-  .my-xxl-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
+  .color-on-accent {
+    --bs-color: var(--bs-white) !important;
   }
-  .my-xxl-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
+  .color-on-danger {
+    --bs-color: var(--bs-white) !important;
   }
-  .my-xxl-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
+  .color-on-warning {
+    --bs-color: var(--bs-gray-900) !important;
   }
-  .mt-xxl-0 {
-    margin-top: 0 !important;
+  .color-on-success {
+    --bs-color: var(--bs-white) !important;
   }
-  .mt-xxl-1 {
-    margin-top: 0.25rem !important;
+  .color-on-info {
+    --bs-color: var(--bs-gray-900) !important;
   }
-  .mt-xxl-2 {
-    margin-top: 0.5rem !important;
+  .color-on-secondary {
+    --bs-color: light-dark(var(--bs-gray-900), var(--bs-white)) !important;
   }
-  .mt-xxl-3 {
-    margin-top: 1rem !important;
+  .link-opacity-10 {
+    --bs-link-opacity: 0.1 !important;
   }
-  .mt-xxl-4 {
-    margin-top: 1.5rem !important;
+  .link-opacity-10-hover:hover {
+    --bs-link-opacity: 0.1 !important;
   }
-  .mt-xxl-5 {
-    margin-top: 3rem !important;
+  .link-opacity-25 {
+    --bs-link-opacity: 0.25 !important;
   }
-  .mt-xxl-auto {
-    margin-top: auto !important;
+  .link-opacity-25-hover:hover {
+    --bs-link-opacity: 0.25 !important;
   }
-  .me-xxl-0 {
-    margin-right: 0 !important;
+  .link-opacity-50 {
+    --bs-link-opacity: 0.5 !important;
   }
-  .me-xxl-1 {
-    margin-right: 0.25rem !important;
+  .link-opacity-50-hover:hover {
+    --bs-link-opacity: 0.5 !important;
   }
-  .me-xxl-2 {
-    margin-right: 0.5rem !important;
+  .link-opacity-75 {
+    --bs-link-opacity: 0.75 !important;
   }
-  .me-xxl-3 {
-    margin-right: 1rem !important;
+  .link-opacity-75-hover:hover {
+    --bs-link-opacity: 0.75 !important;
   }
-  .me-xxl-4 {
-    margin-right: 1.5rem !important;
+  .link-opacity-100 {
+    --bs-link-opacity: 1 !important;
   }
-  .me-xxl-5 {
-    margin-right: 3rem !important;
+  .link-opacity-100-hover:hover {
+    --bs-link-opacity: 1 !important;
   }
-  .me-xxl-auto {
-    margin-right: auto !important;
+  .link-offset-1 {
+    text-underline-offset: 0.125em !important;
   }
-  .mb-xxl-0 {
-    margin-bottom: 0 !important;
+  .link-offset-1-hover:hover {
+    text-underline-offset: 0.125em !important;
   }
-  .mb-xxl-1 {
-    margin-bottom: 0.25rem !important;
+  .link-offset-2 {
+    text-underline-offset: 0.25em !important;
   }
-  .mb-xxl-2 {
-    margin-bottom: 0.5rem !important;
+  .link-offset-2-hover:hover {
+    text-underline-offset: 0.25em !important;
   }
-  .mb-xxl-3 {
-    margin-bottom: 1rem !important;
+  .link-offset-3 {
+    text-underline-offset: 0.375em !important;
   }
-  .mb-xxl-4 {
-    margin-bottom: 1.5rem !important;
+  .link-offset-3-hover:hover {
+    text-underline-offset: 0.375em !important;
   }
-  .mb-xxl-5 {
-    margin-bottom: 3rem !important;
+  .link-underline-opacity-0 {
+    --bs-link-underline-opacity: 0 !important;
   }
-  .mb-xxl-auto {
-    margin-bottom: auto !important;
+  .link-underline-opacity-0-hover:hover {
+    --bs-link-underline-opacity: 0 !important;
   }
-  .ms-xxl-0 {
-    margin-left: 0 !important;
+  .link-underline-opacity-10 {
+    --bs-link-underline-opacity: 0.1 !important;
   }
-  .ms-xxl-1 {
-    margin-left: 0.25rem !important;
+  .link-underline-opacity-10-hover:hover {
+    --bs-link-underline-opacity: 0.1 !important;
   }
-  .ms-xxl-2 {
-    margin-left: 0.5rem !important;
+  .link-underline-opacity-25 {
+    --bs-link-underline-opacity: 0.25 !important;
   }
-  .ms-xxl-3 {
-    margin-left: 1rem !important;
+  .link-underline-opacity-25-hover:hover {
+    --bs-link-underline-opacity: 0.25 !important;
   }
-  .ms-xxl-4 {
-    margin-left: 1.5rem !important;
+  .link-underline-opacity-50 {
+    --bs-link-underline-opacity: 0.5 !important;
   }
-  .ms-xxl-5 {
-    margin-left: 3rem !important;
+  .link-underline-opacity-50-hover:hover {
+    --bs-link-underline-opacity: 0.5 !important;
   }
-  .ms-xxl-auto {
-    margin-left: auto !important;
+  .link-underline-opacity-75 {
+    --bs-link-underline-opacity: 0.75 !important;
   }
-  .p-xxl-0 {
-    padding: 0 !important;
+  .link-underline-opacity-75-hover:hover {
+    --bs-link-underline-opacity: 0.75 !important;
   }
-  .p-xxl-1 {
-    padding: 0.25rem !important;
+  .link-underline-opacity-100 {
+    --bs-link-underline-opacity: 1 !important;
   }
-  .p-xxl-2 {
-    padding: 0.5rem !important;
+  .link-underline-opacity-100-hover:hover {
+    --bs-link-underline-opacity: 1 !important;
   }
-  .p-xxl-3 {
-    padding: 1rem !important;
+  .bg- {
+    background-color: var(--bs-bg) !important;
   }
-  .p-xxl-4 {
-    padding: 1.5rem !important;
+  .bg-primary {
+    --bs-bg: light-dark(var(--bs-blue-500), var(--bs-blue-500)) !important;
   }
-  .p-xxl-5 {
-    padding: 3rem !important;
+  .bg-accent {
+    --bs-bg: light-dark(var(--bs-indigo-500), var(--bs-indigo-500)) !important;
   }
-  .px-xxl-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
+  .bg-danger {
+    --bs-bg: light-dark(var(--bs-red-500), var(--bs-red-500)) !important;
   }
-  .px-xxl-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
+  .bg-warning {
+    --bs-bg: light-dark(var(--bs-yellow-500), var(--bs-yellow-500)) !important;
   }
-  .px-xxl-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
+  .bg-success {
+    --bs-bg: light-dark(var(--bs-green-500), var(--bs-green-500)) !important;
   }
-  .px-xxl-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
+  .bg-info {
+    --bs-bg: light-dark(var(--bs-cyan-500), var(--bs-cyan-500)) !important;
   }
-  .px-xxl-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
+  .bg-secondary {
+    --bs-bg: light-dark(var(--bs-gray-300), var(--bs-gray-600)) !important;
   }
-  .px-xxl-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
+  .bg {
+    --bs-bg: light-dark(var(--bs-white), var(--bs-gray-900)) !important;
   }
-  .py-xxl-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
+  .bg-1 {
+    --bs-bg: light-dark(var(--bs-gray-100), color-mix(in srgb, var(--bs-gray-900), var(--bs-gray-800))) !important;
   }
-  .py-xxl-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
+  .bg-2 {
+    --bs-bg: light-dark(color-mix(in srgb, var(--bs-gray-100), var(--bs-gray-200)), color-mix(in srgb, var(--bs-gray-800), var(--bs-gray-700))) !important;
   }
-  .py-xxl-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
+  .bg-3 {
+    --bs-bg: light-dark(color-mix(in srgb, var(--bs-gray-200), var(--bs-gray-300)), color-mix(in srgb, var(--bs-gray-700), var(--bs-gray-600))) !important;
   }
-  .py-xxl-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
+  .bg-white {
+    --bs-bg: var(--bs-white) !important;
   }
-  .py-xxl-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
+  .bg-black {
+    --bs-bg: var(--bs-black) !important;
   }
-  .py-xxl-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
+  .bg-transparent {
+    --bs-bg: transparent !important;
   }
-  .pt-xxl-0 {
-    padding-top: 0 !important;
+  .bg-inherit {
+    --bs-bg: inherit !important;
   }
-  .pt-xxl-1 {
-    padding-top: 0.25rem !important;
+  .bg-subtle-primary {
+    --bs-bg: light-dark(var(--bs-blue-100), var(--bs-blue-900)) !important;
   }
-  .pt-xxl-2 {
-    padding-top: 0.5rem !important;
+  .bg-subtle-accent {
+    --bs-bg: light-dark(var(--bs-indigo-100), var(--bs-indigo-900)) !important;
   }
-  .pt-xxl-3 {
-    padding-top: 1rem !important;
+  .bg-subtle-danger {
+    --bs-bg: light-dark(var(--bs-red-100), var(--bs-red-900)) !important;
   }
-  .pt-xxl-4 {
-    padding-top: 1.5rem !important;
+  .bg-subtle-warning {
+    --bs-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900)) !important;
   }
-  .pt-xxl-5 {
-    padding-top: 3rem !important;
+  .bg-subtle-success {
+    --bs-bg: light-dark(var(--bs-green-100), var(--bs-green-900)) !important;
   }
-  .pe-xxl-0 {
-    padding-right: 0 !important;
+  .bg-subtle-info {
+    --bs-bg: light-dark(var(--bs-cyan-100), var(--bs-cyan-900)) !important;
   }
-  .pe-xxl-1 {
-    padding-right: 0.25rem !important;
+  .bg-subtle-secondary {
+    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-800)) !important;
   }
-  .pe-xxl-2 {
-    padding-right: 0.5rem !important;
+  .bg-muted-primary {
+    --bs-bg: light-dark(var(--bs-blue-200), var(--bs-blue-800)) !important;
   }
-  .pe-xxl-3 {
-    padding-right: 1rem !important;
+  .bg-muted-accent {
+    --bs-bg: light-dark(var(--bs-indigo-200), var(--bs-indigo-800)) !important;
   }
-  .pe-xxl-4 {
-    padding-right: 1.5rem !important;
+  .bg-muted-danger {
+    --bs-bg: light-dark(var(--bs-red-200), var(--bs-red-800)) !important;
   }
-  .pe-xxl-5 {
-    padding-right: 3rem !important;
+  .bg-muted-warning {
+    --bs-bg: light-dark(var(--bs-yellow-200), var(--bs-yellow-800)) !important;
   }
-  .pb-xxl-0 {
-    padding-bottom: 0 !important;
+  .bg-muted-success {
+    --bs-bg: light-dark(var(--bs-green-200), var(--bs-green-800)) !important;
   }
-  .pb-xxl-1 {
-    padding-bottom: 0.25rem !important;
+  .bg-muted-info {
+    --bs-bg: light-dark(var(--bs-cyan-200), var(--bs-cyan-800)) !important;
   }
-  .pb-xxl-2 {
-    padding-bottom: 0.5rem !important;
+  .bg-muted-secondary {
+    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-700)) !important;
   }
-  .pb-xxl-3 {
-    padding-bottom: 1rem !important;
+  .bg-10 {
+    background-color: color-mix(in oklch, var(--bs-bg) 10%, transparent) !important;
   }
-  .pb-xxl-4 {
-    padding-bottom: 1.5rem !important;
+  .bg-20 {
+    background-color: color-mix(in oklch, var(--bs-bg) 20%, transparent) !important;
   }
-  .pb-xxl-5 {
-    padding-bottom: 3rem !important;
+  .bg-30 {
+    background-color: color-mix(in oklch, var(--bs-bg) 30%, transparent) !important;
   }
-  .ps-xxl-0 {
-    padding-left: 0 !important;
+  .bg-40 {
+    background-color: color-mix(in oklch, var(--bs-bg) 40%, transparent) !important;
   }
-  .ps-xxl-1 {
-    padding-left: 0.25rem !important;
+  .bg-50 {
+    background-color: color-mix(in oklch, var(--bs-bg) 50%, transparent) !important;
   }
-  .ps-xxl-2 {
-    padding-left: 0.5rem !important;
+  .bg-60 {
+    background-color: color-mix(in oklch, var(--bs-bg) 60%, transparent) !important;
   }
-  .ps-xxl-3 {
-    padding-left: 1rem !important;
+  .bg-70 {
+    background-color: color-mix(in oklch, var(--bs-bg) 70%, transparent) !important;
   }
-  .ps-xxl-4 {
-    padding-left: 1.5rem !important;
+  .bg-80 {
+    background-color: color-mix(in oklch, var(--bs-bg) 80%, transparent) !important;
   }
-  .ps-xxl-5 {
-    padding-left: 3rem !important;
+  .bg-90 {
+    background-color: color-mix(in oklch, var(--bs-bg) 90%, transparent) !important;
   }
-  .gap-xxl-0 {
-    gap: 0 !important;
+  .bg-100 {
+    background-color: var(--bs-bg) !important;
   }
-  .gap-xxl-1 {
-    gap: 0.25rem !important;
+  .bg-gradient {
+    background-image: var(--bs-gradient) !important;
   }
-  .gap-xxl-2 {
-    gap: 0.5rem !important;
+  .user-select-all {
+    user-select: all !important;
   }
-  .gap-xxl-3 {
-    gap: 1rem !important;
+  .user-select-auto {
+    user-select: auto !important;
   }
-  .gap-xxl-4 {
-    gap: 1.5rem !important;
+  .user-select-none {
+    user-select: none !important;
   }
-  .gap-xxl-5 {
-    gap: 3rem !important;
+  .pe-none {
+    pointer-events: none !important;
   }
-  .row-gap-xxl-0 {
-    row-gap: 0 !important;
+  .pe-auto {
+    pointer-events: auto !important;
   }
-  .row-gap-xxl-1 {
-    row-gap: 0.25rem !important;
+  .rounded {
+    border-radius: var(--bs-border-radius) !important;
   }
-  .row-gap-xxl-2 {
-    row-gap: 0.5rem !important;
+  .rounded-0 {
+    border-radius: 0 !important;
   }
-  .row-gap-xxl-3 {
-    row-gap: 1rem !important;
+  .rounded-1 {
+    border-radius: var(--bs-border-radius-sm) !important;
   }
-  .row-gap-xxl-4 {
-    row-gap: 1.5rem !important;
+  .rounded-2 {
+    border-radius: var(--bs-border-radius) !important;
   }
-  .row-gap-xxl-5 {
-    row-gap: 3rem !important;
+  .rounded-3 {
+    border-radius: var(--bs-border-radius-lg) !important;
   }
-  .column-gap-xxl-0 {
-    -moz-column-gap: 0 !important;
-    column-gap: 0 !important;
+  .rounded-4 {
+    border-radius: var(--bs-border-radius-xl) !important;
   }
-  .column-gap-xxl-1 {
-    -moz-column-gap: 0.25rem !important;
-    column-gap: 0.25rem !important;
+  .rounded-5 {
+    border-radius: var(--bs-border-radius-2xl) !important;
   }
-  .column-gap-xxl-2 {
-    -moz-column-gap: 0.5rem !important;
-    column-gap: 0.5rem !important;
+  .rounded-circle {
+    border-radius: 50% !important;
   }
-  .column-gap-xxl-3 {
-    -moz-column-gap: 1rem !important;
-    column-gap: 1rem !important;
+  .rounded-pill {
+    border-radius: var(--bs-border-radius-pill) !important;
   }
-  .column-gap-xxl-4 {
-    -moz-column-gap: 1.5rem !important;
-    column-gap: 1.5rem !important;
+  .rounded-top {
+    border-top-left-radius: var(--bs-border-radius) !important;
+    border-top-right-radius: var(--bs-border-radius) !important;
   }
-  .column-gap-xxl-5 {
-    -moz-column-gap: 3rem !important;
-    column-gap: 3rem !important;
+  .rounded-top-0 {
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
   }
-  .text-xxl-start {
-    text-align: left !important;
+  .rounded-top-1 {
+    border-top-left-radius: var(--bs-border-radius-sm) !important;
+    border-top-right-radius: var(--bs-border-radius-sm) !important;
   }
-  .text-xxl-end {
-    text-align: right !important;
+  .rounded-top-2 {
+    border-top-left-radius: var(--bs-border-radius) !important;
+    border-top-right-radius: var(--bs-border-radius) !important;
   }
-  .text-xxl-center {
-    text-align: center !important;
+  .rounded-top-3 {
+    border-top-left-radius: var(--bs-border-radius-lg) !important;
+    border-top-right-radius: var(--bs-border-radius-lg) !important;
   }
-}
-@media (min-width: 1200px) {
-  .fs-1 {
-    font-size: 2.5rem !important;
+  .rounded-top-4 {
+    border-top-left-radius: var(--bs-border-radius-xl) !important;
+    border-top-right-radius: var(--bs-border-radius-xl) !important;
   }
-  .fs-2 {
-    font-size: 2rem !important;
+  .rounded-top-5 {
+    border-top-left-radius: var(--bs-border-radius-2xl) !important;
+    border-top-right-radius: var(--bs-border-radius-2xl) !important;
   }
-  .fs-3 {
-    font-size: 1.75rem !important;
+  .rounded-top-circle {
+    border-top-left-radius: 50% !important;
+    border-top-right-radius: 50% !important;
   }
-  .fs-4 {
-    font-size: 1.5rem !important;
+  .rounded-top-pill {
+    border-top-left-radius: var(--bs-border-radius-pill) !important;
+    border-top-right-radius: var(--bs-border-radius-pill) !important;
   }
-}
-@media print {
-  .d-print-inline {
-    display: inline !important;
+  .rounded-end {
+    border-top-right-radius: var(--bs-border-radius) !important;
+    border-bottom-right-radius: var(--bs-border-radius) !important;
   }
-  .d-print-inline-block {
-    display: inline-block !important;
+  .rounded-end-0 {
+    border-top-right-radius: 0 !important;
+    border-bottom-right-radius: 0 !important;
   }
-  .d-print-block {
-    display: block !important;
+  .rounded-end-1 {
+    border-top-right-radius: var(--bs-border-radius-sm) !important;
+    border-bottom-right-radius: var(--bs-border-radius-sm) !important;
   }
-  .d-print-grid {
-    display: grid !important;
+  .rounded-end-2 {
+    border-top-right-radius: var(--bs-border-radius) !important;
+    border-bottom-right-radius: var(--bs-border-radius) !important;
   }
-  .d-print-inline-grid {
-    display: inline-grid !important;
+  .rounded-end-3 {
+    border-top-right-radius: var(--bs-border-radius-lg) !important;
+    border-bottom-right-radius: var(--bs-border-radius-lg) !important;
   }
-  .d-print-table {
-    display: table !important;
+  .rounded-end-4 {
+    border-top-right-radius: var(--bs-border-radius-xl) !important;
+    border-bottom-right-radius: var(--bs-border-radius-xl) !important;
   }
-  .d-print-table-row {
-    display: table-row !important;
+  .rounded-end-5 {
+    border-top-right-radius: var(--bs-border-radius-2xl) !important;
+    border-bottom-right-radius: var(--bs-border-radius-2xl) !important;
   }
-  .d-print-table-cell {
-    display: table-cell !important;
+  .rounded-end-circle {
+    border-top-right-radius: 50% !important;
+    border-bottom-right-radius: 50% !important;
   }
-  .d-print-flex {
-    display: flex !important;
+  .rounded-end-pill {
+    border-top-right-radius: var(--bs-border-radius-pill) !important;
+    border-bottom-right-radius: var(--bs-border-radius-pill) !important;
   }
-  .d-print-inline-flex {
-    display: inline-flex !important;
+  .rounded-bottom {
+    border-bottom-right-radius: var(--bs-border-radius) !important;
+    border-bottom-left-radius: var(--bs-border-radius) !important;
   }
-  .d-print-none {
-    display: none !important;
+  .rounded-bottom-0 {
+    border-bottom-right-radius: 0 !important;
+    border-bottom-left-radius: 0 !important;
   }
-}
-
-/*# sourceMappingURL=bootstrap-utilities.css.map */
\ No newline at end of file
+  .rounded-bottom-1 {
+    border-bottom-right-radius: var(--bs-border-radius-sm) !important;
+    border-bottom-left-radius: var(--bs-border-radius-sm) !important;
+  }
+  .rounded-bottom-2 {
+    border-bottom-right-radius: var(--bs-border-radius) !important;
+    border-bottom-left-radius: var(--bs-border-radius) !important;
+  }
+  .rounded-bottom-3 {
+    border-bottom-right-radius: var(--bs-border-radius-lg) !important;
+    border-bottom-left-radius: var(--bs-border-radius-lg) !important;
+  }
+  .rounded-bottom-4 {
+    border-bottom-right-radius: var(--bs-border-radius-xl) !important;
+    border-bottom-left-radius: var(--bs-border-radius-xl) !important;
+  }
+  .rounded-bottom-5 {
+    border-bottom-right-radius: var(--bs-border-radius-2xl) !important;
+    border-bottom-left-radius: var(--bs-border-radius-2xl) !important;
+  }
+  .rounded-bottom-circle {
+    border-bottom-right-radius: 50% !important;
+    border-bottom-left-radius: 50% !important;
+  }
+  .rounded-bottom-pill {
+    border-bottom-right-radius: var(--bs-border-radius-pill) !important;
+    border-bottom-left-radius: var(--bs-border-radius-pill) !important;
+  }
+  .rounded-start {
+    border-bottom-left-radius: var(--bs-border-radius) !important;
+    border-top-left-radius: var(--bs-border-radius) !important;
+  }
+  .rounded-start-0 {
+    border-bottom-left-radius: 0 !important;
+    border-top-left-radius: 0 !important;
+  }
+  .rounded-start-1 {
+    border-bottom-left-radius: var(--bs-border-radius-sm) !important;
+    border-top-left-radius: var(--bs-border-radius-sm) !important;
+  }
+  .rounded-start-2 {
+    border-bottom-left-radius: var(--bs-border-radius) !important;
+    border-top-left-radius: var(--bs-border-radius) !important;
+  }
+  .rounded-start-3 {
+    border-bottom-left-radius: var(--bs-border-radius-lg) !important;
+    border-top-left-radius: var(--bs-border-radius-lg) !important;
+  }
+  .rounded-start-4 {
+    border-bottom-left-radius: var(--bs-border-radius-xl) !important;
+    border-top-left-radius: var(--bs-border-radius-xl) !important;
+  }
+  .rounded-start-5 {
+    border-bottom-left-radius: var(--bs-border-radius-2xl) !important;
+    border-top-left-radius: var(--bs-border-radius-2xl) !important;
+  }
+  .rounded-start-circle {
+    border-bottom-left-radius: 50% !important;
+    border-top-left-radius: 50% !important;
+  }
+  .rounded-start-pill {
+    border-bottom-left-radius: var(--bs-border-radius-pill) !important;
+    border-top-left-radius: var(--bs-border-radius-pill) !important;
+  }
+  .visible {
+    visibility: visible !important;
+  }
+  .invisible {
+    visibility: hidden !important;
+  }
+  .z-n1 {
+    z-index: -1 !important;
+  }
+  .z-0 {
+    z-index: 0 !important;
+  }
+  .z-1 {
+    z-index: 1 !important;
+  }
+  .z-2 {
+    z-index: 2 !important;
+  }
+  .z-3 {
+    z-index: 3 !important;
+  }
+  @media (min-width: 576px) {
+    .float-sm-start {
+      float: left !important;
+    }
+    .float-sm-end {
+      float: right !important;
+    }
+    .float-sm-none {
+      float: none !important;
+    }
+    .object-fit-sm-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-sm-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-sm-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-sm-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-sm-none {
+      object-fit: none !important;
+    }
+    .d-sm-inline {
+      display: inline !important;
+    }
+    .d-sm-inline-block {
+      display: inline-block !important;
+    }
+    .d-sm-block {
+      display: block !important;
+    }
+    .d-sm-grid {
+      display: grid !important;
+    }
+    .d-sm-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-sm-table {
+      display: table !important;
+    }
+    .d-sm-table-row {
+      display: table-row !important;
+    }
+    .d-sm-table-cell {
+      display: table-cell !important;
+    }
+    .d-sm-flex {
+      display: flex !important;
+    }
+    .d-sm-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-sm-flow-root {
+      display: flow-root !important;
+    }
+    .d-sm-none {
+      display: none !important;
+    }
+    .flex-sm-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-sm-row {
+      flex-direction: row !important;
+    }
+    .flex-sm-column {
+      flex-direction: column !important;
+    }
+    .flex-sm-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-sm-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-sm-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-sm-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-sm-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-sm-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-sm-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-sm-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-sm-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-sm-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-sm-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-sm-center {
+      justify-content: center !important;
+    }
+    .justify-content-sm-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-sm-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-sm-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-sm-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-sm-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-sm-center {
+      justify-self: center !important;
+    }
+    .align-items-sm-start {
+      align-items: flex-start !important;
+    }
+    .align-items-sm-end {
+      align-items: flex-end !important;
+    }
+    .align-items-sm-center {
+      align-items: center !important;
+    }
+    .align-items-sm-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-sm-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-sm-start {
+      align-content: flex-start !important;
+    }
+    .align-content-sm-end {
+      align-content: flex-end !important;
+    }
+    .align-content-sm-center {
+      align-content: center !important;
+    }
+    .align-content-sm-between {
+      align-content: space-between !important;
+    }
+    .align-content-sm-around {
+      align-content: space-around !important;
+    }
+    .align-content-sm-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-sm-auto {
+      align-self: auto !important;
+    }
+    .align-self-sm-start {
+      align-self: flex-start !important;
+    }
+    .align-self-sm-end {
+      align-self: flex-end !important;
+    }
+    .align-self-sm-center {
+      align-self: center !important;
+    }
+    .align-self-sm-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-sm-stretch {
+      align-self: stretch !important;
+    }
+    .order-sm-first {
+      order: -1 !important;
+    }
+    .order-sm-0 {
+      order: 0 !important;
+    }
+    .order-sm-1 {
+      order: 1 !important;
+    }
+    .order-sm-2 {
+      order: 2 !important;
+    }
+    .order-sm-3 {
+      order: 3 !important;
+    }
+    .order-sm-4 {
+      order: 4 !important;
+    }
+    .order-sm-5 {
+      order: 5 !important;
+    }
+    .order-sm-last {
+      order: 6 !important;
+    }
+    .m-sm-0 {
+      margin: 0 !important;
+    }
+    .m-sm-1 {
+      margin: 0.25rem !important;
+    }
+    .m-sm-2 {
+      margin: 0.5rem !important;
+    }
+    .m-sm-3 {
+      margin: 1rem !important;
+    }
+    .m-sm-4 {
+      margin: 1.5rem !important;
+    }
+    .m-sm-5 {
+      margin: 3rem !important;
+    }
+    .m-sm-auto {
+      margin: auto !important;
+    }
+    .mx-sm-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-sm-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-sm-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-sm-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-sm-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-sm-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-sm-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-sm-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-sm-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-sm-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-sm-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-sm-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-sm-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-sm-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-sm-0 {
+      margin-top: 0 !important;
+    }
+    .mt-sm-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-sm-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-sm-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-sm-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-sm-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-sm-auto {
+      margin-top: auto !important;
+    }
+    .me-sm-0 {
+      margin-right: 0 !important;
+    }
+    .me-sm-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-sm-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-sm-3 {
+      margin-right: 1rem !important;
+    }
+    .me-sm-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-sm-5 {
+      margin-right: 3rem !important;
+    }
+    .me-sm-auto {
+      margin-right: auto !important;
+    }
+    .mb-sm-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-sm-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-sm-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-sm-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-sm-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-sm-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-sm-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-sm-0 {
+      margin-left: 0 !important;
+    }
+    .ms-sm-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-sm-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-sm-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-sm-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-sm-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-sm-auto {
+      margin-left: auto !important;
+    }
+    .p-sm-0 {
+      padding: 0 !important;
+    }
+    .p-sm-1 {
+      padding: 0.25rem !important;
+    }
+    .p-sm-2 {
+      padding: 0.5rem !important;
+    }
+    .p-sm-3 {
+      padding: 1rem !important;
+    }
+    .p-sm-4 {
+      padding: 1.5rem !important;
+    }
+    .p-sm-5 {
+      padding: 3rem !important;
+    }
+    .px-sm-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-sm-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-sm-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-sm-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-sm-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-sm-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-sm-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-sm-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-sm-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-sm-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-sm-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-sm-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-sm-0 {
+      padding-top: 0 !important;
+    }
+    .pt-sm-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-sm-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-sm-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-sm-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-sm-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-sm-0 {
+      padding-right: 0 !important;
+    }
+    .pe-sm-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-sm-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-sm-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-sm-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-sm-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-sm-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-sm-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-sm-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-sm-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-sm-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-sm-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-sm-0 {
+      padding-left: 0 !important;
+    }
+    .ps-sm-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-sm-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-sm-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-sm-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-sm-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-sm-0 {
+      gap: 0 !important;
+    }
+    .gap-sm-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-sm-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-sm-3 {
+      gap: 1rem !important;
+    }
+    .gap-sm-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-sm-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-sm-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-sm-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-sm-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-sm-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-sm-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-sm-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-sm-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-sm-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-sm-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-sm-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-sm-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-sm-5 {
+      column-gap: 3rem !important;
+    }
+    .text-sm-start {
+      text-align: left !important;
+    }
+    .text-sm-end {
+      text-align: right !important;
+    }
+    .text-sm-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 768px) {
+    .float-md-start {
+      float: left !important;
+    }
+    .float-md-end {
+      float: right !important;
+    }
+    .float-md-none {
+      float: none !important;
+    }
+    .object-fit-md-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-md-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-md-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-md-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-md-none {
+      object-fit: none !important;
+    }
+    .d-md-inline {
+      display: inline !important;
+    }
+    .d-md-inline-block {
+      display: inline-block !important;
+    }
+    .d-md-block {
+      display: block !important;
+    }
+    .d-md-grid {
+      display: grid !important;
+    }
+    .d-md-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-md-table {
+      display: table !important;
+    }
+    .d-md-table-row {
+      display: table-row !important;
+    }
+    .d-md-table-cell {
+      display: table-cell !important;
+    }
+    .d-md-flex {
+      display: flex !important;
+    }
+    .d-md-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-md-flow-root {
+      display: flow-root !important;
+    }
+    .d-md-none {
+      display: none !important;
+    }
+    .flex-md-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-md-row {
+      flex-direction: row !important;
+    }
+    .flex-md-column {
+      flex-direction: column !important;
+    }
+    .flex-md-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-md-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-md-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-md-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-md-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-md-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-md-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-md-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-md-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-md-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-md-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-md-center {
+      justify-content: center !important;
+    }
+    .justify-content-md-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-md-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-md-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-md-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-md-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-md-center {
+      justify-self: center !important;
+    }
+    .align-items-md-start {
+      align-items: flex-start !important;
+    }
+    .align-items-md-end {
+      align-items: flex-end !important;
+    }
+    .align-items-md-center {
+      align-items: center !important;
+    }
+    .align-items-md-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-md-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-md-start {
+      align-content: flex-start !important;
+    }
+    .align-content-md-end {
+      align-content: flex-end !important;
+    }
+    .align-content-md-center {
+      align-content: center !important;
+    }
+    .align-content-md-between {
+      align-content: space-between !important;
+    }
+    .align-content-md-around {
+      align-content: space-around !important;
+    }
+    .align-content-md-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-md-auto {
+      align-self: auto !important;
+    }
+    .align-self-md-start {
+      align-self: flex-start !important;
+    }
+    .align-self-md-end {
+      align-self: flex-end !important;
+    }
+    .align-self-md-center {
+      align-self: center !important;
+    }
+    .align-self-md-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-md-stretch {
+      align-self: stretch !important;
+    }
+    .order-md-first {
+      order: -1 !important;
+    }
+    .order-md-0 {
+      order: 0 !important;
+    }
+    .order-md-1 {
+      order: 1 !important;
+    }
+    .order-md-2 {
+      order: 2 !important;
+    }
+    .order-md-3 {
+      order: 3 !important;
+    }
+    .order-md-4 {
+      order: 4 !important;
+    }
+    .order-md-5 {
+      order: 5 !important;
+    }
+    .order-md-last {
+      order: 6 !important;
+    }
+    .m-md-0 {
+      margin: 0 !important;
+    }
+    .m-md-1 {
+      margin: 0.25rem !important;
+    }
+    .m-md-2 {
+      margin: 0.5rem !important;
+    }
+    .m-md-3 {
+      margin: 1rem !important;
+    }
+    .m-md-4 {
+      margin: 1.5rem !important;
+    }
+    .m-md-5 {
+      margin: 3rem !important;
+    }
+    .m-md-auto {
+      margin: auto !important;
+    }
+    .mx-md-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-md-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-md-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-md-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-md-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-md-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-md-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-md-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-md-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-md-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-md-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-md-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-md-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-md-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-md-0 {
+      margin-top: 0 !important;
+    }
+    .mt-md-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-md-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-md-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-md-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-md-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-md-auto {
+      margin-top: auto !important;
+    }
+    .me-md-0 {
+      margin-right: 0 !important;
+    }
+    .me-md-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-md-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-md-3 {
+      margin-right: 1rem !important;
+    }
+    .me-md-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-md-5 {
+      margin-right: 3rem !important;
+    }
+    .me-md-auto {
+      margin-right: auto !important;
+    }
+    .mb-md-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-md-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-md-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-md-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-md-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-md-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-md-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-md-0 {
+      margin-left: 0 !important;
+    }
+    .ms-md-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-md-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-md-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-md-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-md-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-md-auto {
+      margin-left: auto !important;
+    }
+    .p-md-0 {
+      padding: 0 !important;
+    }
+    .p-md-1 {
+      padding: 0.25rem !important;
+    }
+    .p-md-2 {
+      padding: 0.5rem !important;
+    }
+    .p-md-3 {
+      padding: 1rem !important;
+    }
+    .p-md-4 {
+      padding: 1.5rem !important;
+    }
+    .p-md-5 {
+      padding: 3rem !important;
+    }
+    .px-md-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-md-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-md-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-md-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-md-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-md-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-md-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-md-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-md-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-md-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-md-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-md-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-md-0 {
+      padding-top: 0 !important;
+    }
+    .pt-md-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-md-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-md-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-md-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-md-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-md-0 {
+      padding-right: 0 !important;
+    }
+    .pe-md-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-md-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-md-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-md-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-md-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-md-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-md-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-md-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-md-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-md-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-md-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-md-0 {
+      padding-left: 0 !important;
+    }
+    .ps-md-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-md-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-md-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-md-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-md-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-md-0 {
+      gap: 0 !important;
+    }
+    .gap-md-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-md-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-md-3 {
+      gap: 1rem !important;
+    }
+    .gap-md-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-md-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-md-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-md-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-md-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-md-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-md-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-md-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-md-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-md-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-md-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-md-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-md-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-md-5 {
+      column-gap: 3rem !important;
+    }
+    .text-md-start {
+      text-align: left !important;
+    }
+    .text-md-end {
+      text-align: right !important;
+    }
+    .text-md-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 992px) {
+    .float-lg-start {
+      float: left !important;
+    }
+    .float-lg-end {
+      float: right !important;
+    }
+    .float-lg-none {
+      float: none !important;
+    }
+    .object-fit-lg-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-lg-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-lg-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-lg-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-lg-none {
+      object-fit: none !important;
+    }
+    .d-lg-inline {
+      display: inline !important;
+    }
+    .d-lg-inline-block {
+      display: inline-block !important;
+    }
+    .d-lg-block {
+      display: block !important;
+    }
+    .d-lg-grid {
+      display: grid !important;
+    }
+    .d-lg-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-lg-table {
+      display: table !important;
+    }
+    .d-lg-table-row {
+      display: table-row !important;
+    }
+    .d-lg-table-cell {
+      display: table-cell !important;
+    }
+    .d-lg-flex {
+      display: flex !important;
+    }
+    .d-lg-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-lg-flow-root {
+      display: flow-root !important;
+    }
+    .d-lg-none {
+      display: none !important;
+    }
+    .flex-lg-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-lg-row {
+      flex-direction: row !important;
+    }
+    .flex-lg-column {
+      flex-direction: column !important;
+    }
+    .flex-lg-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-lg-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-lg-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-lg-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-lg-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-lg-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-lg-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-lg-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-lg-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-lg-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-lg-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-lg-center {
+      justify-content: center !important;
+    }
+    .justify-content-lg-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-lg-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-lg-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-lg-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-lg-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-lg-center {
+      justify-self: center !important;
+    }
+    .align-items-lg-start {
+      align-items: flex-start !important;
+    }
+    .align-items-lg-end {
+      align-items: flex-end !important;
+    }
+    .align-items-lg-center {
+      align-items: center !important;
+    }
+    .align-items-lg-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-lg-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-lg-start {
+      align-content: flex-start !important;
+    }
+    .align-content-lg-end {
+      align-content: flex-end !important;
+    }
+    .align-content-lg-center {
+      align-content: center !important;
+    }
+    .align-content-lg-between {
+      align-content: space-between !important;
+    }
+    .align-content-lg-around {
+      align-content: space-around !important;
+    }
+    .align-content-lg-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-lg-auto {
+      align-self: auto !important;
+    }
+    .align-self-lg-start {
+      align-self: flex-start !important;
+    }
+    .align-self-lg-end {
+      align-self: flex-end !important;
+    }
+    .align-self-lg-center {
+      align-self: center !important;
+    }
+    .align-self-lg-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-lg-stretch {
+      align-self: stretch !important;
+    }
+    .order-lg-first {
+      order: -1 !important;
+    }
+    .order-lg-0 {
+      order: 0 !important;
+    }
+    .order-lg-1 {
+      order: 1 !important;
+    }
+    .order-lg-2 {
+      order: 2 !important;
+    }
+    .order-lg-3 {
+      order: 3 !important;
+    }
+    .order-lg-4 {
+      order: 4 !important;
+    }
+    .order-lg-5 {
+      order: 5 !important;
+    }
+    .order-lg-last {
+      order: 6 !important;
+    }
+    .m-lg-0 {
+      margin: 0 !important;
+    }
+    .m-lg-1 {
+      margin: 0.25rem !important;
+    }
+    .m-lg-2 {
+      margin: 0.5rem !important;
+    }
+    .m-lg-3 {
+      margin: 1rem !important;
+    }
+    .m-lg-4 {
+      margin: 1.5rem !important;
+    }
+    .m-lg-5 {
+      margin: 3rem !important;
+    }
+    .m-lg-auto {
+      margin: auto !important;
+    }
+    .mx-lg-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-lg-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-lg-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-lg-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-lg-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-lg-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-lg-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-lg-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-lg-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-lg-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-lg-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-lg-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-lg-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-lg-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-lg-0 {
+      margin-top: 0 !important;
+    }
+    .mt-lg-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-lg-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-lg-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-lg-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-lg-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-lg-auto {
+      margin-top: auto !important;
+    }
+    .me-lg-0 {
+      margin-right: 0 !important;
+    }
+    .me-lg-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-lg-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-lg-3 {
+      margin-right: 1rem !important;
+    }
+    .me-lg-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-lg-5 {
+      margin-right: 3rem !important;
+    }
+    .me-lg-auto {
+      margin-right: auto !important;
+    }
+    .mb-lg-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-lg-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-lg-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-lg-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-lg-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-lg-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-lg-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-lg-0 {
+      margin-left: 0 !important;
+    }
+    .ms-lg-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-lg-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-lg-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-lg-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-lg-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-lg-auto {
+      margin-left: auto !important;
+    }
+    .p-lg-0 {
+      padding: 0 !important;
+    }
+    .p-lg-1 {
+      padding: 0.25rem !important;
+    }
+    .p-lg-2 {
+      padding: 0.5rem !important;
+    }
+    .p-lg-3 {
+      padding: 1rem !important;
+    }
+    .p-lg-4 {
+      padding: 1.5rem !important;
+    }
+    .p-lg-5 {
+      padding: 3rem !important;
+    }
+    .px-lg-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-lg-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-lg-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-lg-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-lg-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-lg-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-lg-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-lg-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-lg-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-lg-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-lg-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-lg-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-lg-0 {
+      padding-top: 0 !important;
+    }
+    .pt-lg-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-lg-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-lg-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-lg-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-lg-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-lg-0 {
+      padding-right: 0 !important;
+    }
+    .pe-lg-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-lg-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-lg-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-lg-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-lg-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-lg-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-lg-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-lg-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-lg-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-lg-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-lg-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-lg-0 {
+      padding-left: 0 !important;
+    }
+    .ps-lg-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-lg-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-lg-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-lg-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-lg-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-lg-0 {
+      gap: 0 !important;
+    }
+    .gap-lg-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-lg-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-lg-3 {
+      gap: 1rem !important;
+    }
+    .gap-lg-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-lg-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-lg-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-lg-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-lg-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-lg-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-lg-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-lg-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-lg-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-lg-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-lg-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-lg-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-lg-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-lg-5 {
+      column-gap: 3rem !important;
+    }
+    .text-lg-start {
+      text-align: left !important;
+    }
+    .text-lg-end {
+      text-align: right !important;
+    }
+    .text-lg-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 1200px) {
+    .float-xl-start {
+      float: left !important;
+    }
+    .float-xl-end {
+      float: right !important;
+    }
+    .float-xl-none {
+      float: none !important;
+    }
+    .object-fit-xl-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-xl-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-xl-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-xl-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-xl-none {
+      object-fit: none !important;
+    }
+    .d-xl-inline {
+      display: inline !important;
+    }
+    .d-xl-inline-block {
+      display: inline-block !important;
+    }
+    .d-xl-block {
+      display: block !important;
+    }
+    .d-xl-grid {
+      display: grid !important;
+    }
+    .d-xl-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-xl-table {
+      display: table !important;
+    }
+    .d-xl-table-row {
+      display: table-row !important;
+    }
+    .d-xl-table-cell {
+      display: table-cell !important;
+    }
+    .d-xl-flex {
+      display: flex !important;
+    }
+    .d-xl-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-xl-flow-root {
+      display: flow-root !important;
+    }
+    .d-xl-none {
+      display: none !important;
+    }
+    .flex-xl-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-xl-row {
+      flex-direction: row !important;
+    }
+    .flex-xl-column {
+      flex-direction: column !important;
+    }
+    .flex-xl-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-xl-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-xl-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-xl-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-xl-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-xl-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-xl-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-xl-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-xl-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-xl-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-xl-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-xl-center {
+      justify-content: center !important;
+    }
+    .justify-content-xl-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-xl-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-xl-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-xl-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-xl-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-xl-center {
+      justify-self: center !important;
+    }
+    .align-items-xl-start {
+      align-items: flex-start !important;
+    }
+    .align-items-xl-end {
+      align-items: flex-end !important;
+    }
+    .align-items-xl-center {
+      align-items: center !important;
+    }
+    .align-items-xl-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-xl-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-xl-start {
+      align-content: flex-start !important;
+    }
+    .align-content-xl-end {
+      align-content: flex-end !important;
+    }
+    .align-content-xl-center {
+      align-content: center !important;
+    }
+    .align-content-xl-between {
+      align-content: space-between !important;
+    }
+    .align-content-xl-around {
+      align-content: space-around !important;
+    }
+    .align-content-xl-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-xl-auto {
+      align-self: auto !important;
+    }
+    .align-self-xl-start {
+      align-self: flex-start !important;
+    }
+    .align-self-xl-end {
+      align-self: flex-end !important;
+    }
+    .align-self-xl-center {
+      align-self: center !important;
+    }
+    .align-self-xl-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-xl-stretch {
+      align-self: stretch !important;
+    }
+    .order-xl-first {
+      order: -1 !important;
+    }
+    .order-xl-0 {
+      order: 0 !important;
+    }
+    .order-xl-1 {
+      order: 1 !important;
+    }
+    .order-xl-2 {
+      order: 2 !important;
+    }
+    .order-xl-3 {
+      order: 3 !important;
+    }
+    .order-xl-4 {
+      order: 4 !important;
+    }
+    .order-xl-5 {
+      order: 5 !important;
+    }
+    .order-xl-last {
+      order: 6 !important;
+    }
+    .m-xl-0 {
+      margin: 0 !important;
+    }
+    .m-xl-1 {
+      margin: 0.25rem !important;
+    }
+    .m-xl-2 {
+      margin: 0.5rem !important;
+    }
+    .m-xl-3 {
+      margin: 1rem !important;
+    }
+    .m-xl-4 {
+      margin: 1.5rem !important;
+    }
+    .m-xl-5 {
+      margin: 3rem !important;
+    }
+    .m-xl-auto {
+      margin: auto !important;
+    }
+    .mx-xl-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-xl-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-xl-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-xl-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-xl-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-xl-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-xl-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-xl-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-xl-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-xl-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-xl-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-xl-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-xl-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-xl-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-xl-0 {
+      margin-top: 0 !important;
+    }
+    .mt-xl-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-xl-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-xl-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-xl-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-xl-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-xl-auto {
+      margin-top: auto !important;
+    }
+    .me-xl-0 {
+      margin-right: 0 !important;
+    }
+    .me-xl-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-xl-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-xl-3 {
+      margin-right: 1rem !important;
+    }
+    .me-xl-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-xl-5 {
+      margin-right: 3rem !important;
+    }
+    .me-xl-auto {
+      margin-right: auto !important;
+    }
+    .mb-xl-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-xl-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-xl-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-xl-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-xl-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-xl-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-xl-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-xl-0 {
+      margin-left: 0 !important;
+    }
+    .ms-xl-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-xl-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-xl-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-xl-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-xl-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-xl-auto {
+      margin-left: auto !important;
+    }
+    .p-xl-0 {
+      padding: 0 !important;
+    }
+    .p-xl-1 {
+      padding: 0.25rem !important;
+    }
+    .p-xl-2 {
+      padding: 0.5rem !important;
+    }
+    .p-xl-3 {
+      padding: 1rem !important;
+    }
+    .p-xl-4 {
+      padding: 1.5rem !important;
+    }
+    .p-xl-5 {
+      padding: 3rem !important;
+    }
+    .px-xl-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-xl-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-xl-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-xl-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-xl-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-xl-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-xl-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-xl-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-xl-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-xl-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-xl-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-xl-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-xl-0 {
+      padding-top: 0 !important;
+    }
+    .pt-xl-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-xl-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-xl-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-xl-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-xl-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-xl-0 {
+      padding-right: 0 !important;
+    }
+    .pe-xl-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-xl-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-xl-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-xl-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-xl-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-xl-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-xl-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-xl-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-xl-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-xl-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-xl-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-xl-0 {
+      padding-left: 0 !important;
+    }
+    .ps-xl-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-xl-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-xl-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-xl-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-xl-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-xl-0 {
+      gap: 0 !important;
+    }
+    .gap-xl-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-xl-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-xl-3 {
+      gap: 1rem !important;
+    }
+    .gap-xl-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-xl-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-xl-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-xl-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-xl-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-xl-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-xl-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-xl-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-xl-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-xl-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-xl-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-xl-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-xl-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-xl-5 {
+      column-gap: 3rem !important;
+    }
+    .text-xl-start {
+      text-align: left !important;
+    }
+    .text-xl-end {
+      text-align: right !important;
+    }
+    .text-xl-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 1400px) {
+    .float-xxl-start {
+      float: left !important;
+    }
+    .float-xxl-end {
+      float: right !important;
+    }
+    .float-xxl-none {
+      float: none !important;
+    }
+    .object-fit-xxl-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-xxl-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-xxl-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-xxl-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-xxl-none {
+      object-fit: none !important;
+    }
+    .d-xxl-inline {
+      display: inline !important;
+    }
+    .d-xxl-inline-block {
+      display: inline-block !important;
+    }
+    .d-xxl-block {
+      display: block !important;
+    }
+    .d-xxl-grid {
+      display: grid !important;
+    }
+    .d-xxl-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-xxl-table {
+      display: table !important;
+    }
+    .d-xxl-table-row {
+      display: table-row !important;
+    }
+    .d-xxl-table-cell {
+      display: table-cell !important;
+    }
+    .d-xxl-flex {
+      display: flex !important;
+    }
+    .d-xxl-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-xxl-flow-root {
+      display: flow-root !important;
+    }
+    .d-xxl-none {
+      display: none !important;
+    }
+    .flex-xxl-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-xxl-row {
+      flex-direction: row !important;
+    }
+    .flex-xxl-column {
+      flex-direction: column !important;
+    }
+    .flex-xxl-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-xxl-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-xxl-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-xxl-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-xxl-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-xxl-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-xxl-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-xxl-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-xxl-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-xxl-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-xxl-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-xxl-center {
+      justify-content: center !important;
+    }
+    .justify-content-xxl-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-xxl-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-xxl-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-xxl-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-xxl-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-xxl-center {
+      justify-self: center !important;
+    }
+    .align-items-xxl-start {
+      align-items: flex-start !important;
+    }
+    .align-items-xxl-end {
+      align-items: flex-end !important;
+    }
+    .align-items-xxl-center {
+      align-items: center !important;
+    }
+    .align-items-xxl-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-xxl-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-xxl-start {
+      align-content: flex-start !important;
+    }
+    .align-content-xxl-end {
+      align-content: flex-end !important;
+    }
+    .align-content-xxl-center {
+      align-content: center !important;
+    }
+    .align-content-xxl-between {
+      align-content: space-between !important;
+    }
+    .align-content-xxl-around {
+      align-content: space-around !important;
+    }
+    .align-content-xxl-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-xxl-auto {
+      align-self: auto !important;
+    }
+    .align-self-xxl-start {
+      align-self: flex-start !important;
+    }
+    .align-self-xxl-end {
+      align-self: flex-end !important;
+    }
+    .align-self-xxl-center {
+      align-self: center !important;
+    }
+    .align-self-xxl-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-xxl-stretch {
+      align-self: stretch !important;
+    }
+    .order-xxl-first {
+      order: -1 !important;
+    }
+    .order-xxl-0 {
+      order: 0 !important;
+    }
+    .order-xxl-1 {
+      order: 1 !important;
+    }
+    .order-xxl-2 {
+      order: 2 !important;
+    }
+    .order-xxl-3 {
+      order: 3 !important;
+    }
+    .order-xxl-4 {
+      order: 4 !important;
+    }
+    .order-xxl-5 {
+      order: 5 !important;
+    }
+    .order-xxl-last {
+      order: 6 !important;
+    }
+    .m-xxl-0 {
+      margin: 0 !important;
+    }
+    .m-xxl-1 {
+      margin: 0.25rem !important;
+    }
+    .m-xxl-2 {
+      margin: 0.5rem !important;
+    }
+    .m-xxl-3 {
+      margin: 1rem !important;
+    }
+    .m-xxl-4 {
+      margin: 1.5rem !important;
+    }
+    .m-xxl-5 {
+      margin: 3rem !important;
+    }
+    .m-xxl-auto {
+      margin: auto !important;
+    }
+    .mx-xxl-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-xxl-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-xxl-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-xxl-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-xxl-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-xxl-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-xxl-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-xxl-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-xxl-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-xxl-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-xxl-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-xxl-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-xxl-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-xxl-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-xxl-0 {
+      margin-top: 0 !important;
+    }
+    .mt-xxl-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-xxl-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-xxl-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-xxl-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-xxl-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-xxl-auto {
+      margin-top: auto !important;
+    }
+    .me-xxl-0 {
+      margin-right: 0 !important;
+    }
+    .me-xxl-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-xxl-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-xxl-3 {
+      margin-right: 1rem !important;
+    }
+    .me-xxl-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-xxl-5 {
+      margin-right: 3rem !important;
+    }
+    .me-xxl-auto {
+      margin-right: auto !important;
+    }
+    .mb-xxl-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-xxl-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-xxl-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-xxl-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-xxl-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-xxl-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-xxl-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-xxl-0 {
+      margin-left: 0 !important;
+    }
+    .ms-xxl-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-xxl-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-xxl-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-xxl-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-xxl-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-xxl-auto {
+      margin-left: auto !important;
+    }
+    .p-xxl-0 {
+      padding: 0 !important;
+    }
+    .p-xxl-1 {
+      padding: 0.25rem !important;
+    }
+    .p-xxl-2 {
+      padding: 0.5rem !important;
+    }
+    .p-xxl-3 {
+      padding: 1rem !important;
+    }
+    .p-xxl-4 {
+      padding: 1.5rem !important;
+    }
+    .p-xxl-5 {
+      padding: 3rem !important;
+    }
+    .px-xxl-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-xxl-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-xxl-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-xxl-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-xxl-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-xxl-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-xxl-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-xxl-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-xxl-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-xxl-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-xxl-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-xxl-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-xxl-0 {
+      padding-top: 0 !important;
+    }
+    .pt-xxl-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-xxl-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-xxl-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-xxl-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-xxl-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-xxl-0 {
+      padding-right: 0 !important;
+    }
+    .pe-xxl-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-xxl-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-xxl-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-xxl-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-xxl-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-xxl-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-xxl-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-xxl-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-xxl-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-xxl-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-xxl-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-xxl-0 {
+      padding-left: 0 !important;
+    }
+    .ps-xxl-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-xxl-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-xxl-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-xxl-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-xxl-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-xxl-0 {
+      gap: 0 !important;
+    }
+    .gap-xxl-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-xxl-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-xxl-3 {
+      gap: 1rem !important;
+    }
+    .gap-xxl-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-xxl-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-xxl-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-xxl-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-xxl-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-xxl-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-xxl-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-xxl-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-xxl-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-xxl-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-xxl-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-xxl-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-xxl-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-xxl-5 {
+      column-gap: 3rem !important;
+    }
+    .text-xxl-start {
+      text-align: left !important;
+    }
+    .text-xxl-end {
+      text-align: right !important;
+    }
+    .text-xxl-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 1200px) {
+    .fs-1 {
+      font-size: rfs-value(2.5rem) !important;
+    }
+    .fs-2 {
+      font-size: rfs-value(2rem) !important;
+    }
+    .fs-3 {
+      font-size: rfs-value(1.75rem) !important;
+    }
+    .fs-4 {
+      font-size: rfs-value(1.5rem) !important;
+    }
+    .fs-5 {
+      font-size: rfs-value(1.25rem) !important;
+    }
+    .fs-6 {
+      font-size: rfs-value(1rem) !important;
+    }
+  }
+  @media print {
+    .d-print-inline {
+      display: inline !important;
+    }
+    .d-print-inline-block {
+      display: inline-block !important;
+    }
+    .d-print-block {
+      display: block !important;
+    }
+    .d-print-grid {
+      display: grid !important;
+    }
+    .d-print-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-print-table {
+      display: table !important;
+    }
+    .d-print-table-row {
+      display: table-row !important;
+    }
+    .d-print-table-cell {
+      display: table-cell !important;
+    }
+    .d-print-flex {
+      display: flex !important;
+    }
+    .d-print-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-print-flow-root {
+      display: flow-root !important;
+    }
+    .d-print-none {
+      display: none !important;
+    }
+  }
+}
+
+/*# sourceMappingURL=bootstrap-utilities.css.map */
index e2937f0e4dc79d7b778dde9d31c1ded0ec4acb4c..b1d99b480ffb7f53aac2828dd28f016edbe00f36 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["../../scss/mixins/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","bootstrap-utilities.css","../../scss/mixins/_color-mode.scss","../../scss/mixins/_clearfix.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/_variables.scss","../../scss/mixins/_transition.scss","../../scss/helpers/_ratio.scss","../../scss/helpers/_position.scss","../../scss/mixins/_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/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AACE;;;;EAAA;ACDF;;EASI,kBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,kBAAA;EAAA,iBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAAA,kBAAA;EAAA,gBAAA;EAAA,gBAAA;EAAA,kBAAA;EAAA,uBAAA;EAIA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAIA,qBAAA;EAAA,uBAAA;EAAA,qBAAA;EAAA,kBAAA;EAAA,qBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAIA,8BAAA;EAAA,iCAAA;EAAA,6BAAA;EAAA,2BAAA;EAAA,6BAAA;EAAA,4BAAA;EAAA,6BAAA;EAAA,yBAAA;EAIA,mCAAA;EAAA,qCAAA;EAAA,mCAAA;EAAA,gCAAA;EAAA,mCAAA;EAAA,kCAAA;EAAA,iCAAA;EAAA,gCAAA;EAIA,+BAAA;EAAA,iCAAA;EAAA,+BAAA;EAAA,4BAAA;EAAA,+BAAA;EAAA,8BAAA;EAAA,6BAAA;EAAA,4BAAA;EAIA,mCAAA;EAAA,qCAAA;EAAA,mCAAA;EAAA,gCAAA;EAAA,mCAAA;EAAA,kCAAA;EAAA,iCAAA;EAAA,gCAAA;EAGF,6BAAA;EACA,uBAAA;EAMA,qNAAA;EACA,yGAAA;EACA,yFAAA;EAOA,gDAAA;EC2OI,yBALI;EDpOR,0BAAA;EACA,0BAAA;EAKA,wBAAA;EACA,+BAAA;EACA,kBAAA;EACA,+BAAA;EAEA,yBAAA;EACA,gCAAA;EAEA,4CAAA;EACA,oCAAA;EACA,0BAAA;EACA,oCAAA;EAEA,0CAAA;EACA,mCAAA;EACA,yBAAA;EACA,mCAAA;EAGA,2BAAA;EAEA,wBAAA;EACA,iCAAA;EACA,+BAAA;EAEA,8BAAA;EACA,sCAAA;EAMA,wBAAA;EACA,6BAAA;EACA,0BAAA;EAGA,sBAAA;EACA,wBAAA;EACA,0BAAA;EACA,mDAAA;EAEA,4BAAA;EACA,8BAAA;EACA,6BAAA;EACA,2BAAA;EACA,4BAAA;EACA,mDAAA;EACA,8BAAA;EAGA,kDAAA;EACA,2DAAA;EACA,oDAAA;EACA,2DAAA;EAIA,8BAAA;EACA,6BAAA;EACA,+CAAA;EAIA,8BAAA;EACA,qCAAA;EACA,gCAAA;EACA,uCAAA;AEHF;;AC7GI;EHsHA,kBAAA;EAGA,wBAAA;EACA,kCAAA;EACA,qBAAA;EACA,4BAAA;EAEA,yBAAA;EACA,sCAAA;EAEA,+CAAA;EACA,uCAAA;EACA,0BAAA;EACA,iCAAA;EAEA,6CAAA;EACA,sCAAA;EACA,yBAAA;EACA,gCAAA;EAGE,mCAAA;EAAA,qCAAA;EAAA,mCAAA;EAAA,gCAAA;EAAA,mCAAA;EAAA,kCAAA;EAAA,iCAAA;EAAA,gCAAA;EAIA,+BAAA;EAAA,iCAAA;EAAA,+BAAA;EAAA,4BAAA;EAAA,+BAAA;EAAA,8BAAA;EAAA,6BAAA;EAAA,4BAAA;EAIA,mCAAA;EAAA,qCAAA;EAAA,mCAAA;EAAA,gCAAA;EAAA,mCAAA;EAAA,kCAAA;EAAA,iCAAA;EAAA,gCAAA;EAGF,2BAAA;EAEA,wBAAA;EACA,8BAAA;EACA,kCAAA;EACA,wCAAA;EAEA,wBAAA;EACA,6BAAA;EACA,0BAAA;EAEA,0BAAA;EACA,wDAAA;EAEA,8BAAA;EACA,qCAAA;EACA,gCAAA;EACA,uCAAA;AEHJ;;AElLE;EACE,cAAA;EACA,WAAA;EACA,WAAA;AFqLJ;;AGxLE;EACE,sBAAA;EACA,iFAAA;AH2LJ;;AG7LE;EACE,sBAAA;EACA,mFAAA;AHgMJ;;AGlME;EACE,sBAAA;EACA,iFAAA;AHqMJ;;AGvME;EACE,sBAAA;EACA,8EAAA;AH0MJ;;AG5ME;EACE,sBAAA;EACA,iFAAA;AH+MJ;;AGjNE;EACE,sBAAA;EACA,gFAAA;AHoNJ;;AGtNE;EACE,sBAAA;EACA,+EAAA;AHyNJ;;AG3NE;EACE,sBAAA;EACA,8EAAA;AH8NJ;;AIhOE;EACE,wEAAA;EACA,0GAAA;EAAA,kGAAA;AJmOJ;AIhOM;EAGE,8DAAA;EACA,gGAAA;EAAA,wFAAA;AJgOR;;AIzOE;EACE,0EAAA;EACA,4GAAA;EAAA,oGAAA;AJ4OJ;AIzOM;EAGE,8DAAA;EACA,gGAAA;EAAA,wFAAA;AJyOR;;AIlPE;EACE,wEAAA;EACA,0GAAA;EAAA,kGAAA;AJqPJ;AIlPM;EAGE,8DAAA;EACA,gGAAA;EAAA,wFAAA;AJkPR;;AI3PE;EACE,qEAAA;EACA,uGAAA;EAAA,+FAAA;AJ8PJ;AI3PM;EAGE,+DAAA;EACA,iGAAA;EAAA,yFAAA;AJ2PR;;AIpQE;EACE,wEAAA;EACA,0GAAA;EAAA,kGAAA;AJuQJ;AIpQM;EAGE,+DAAA;EACA,iGAAA;EAAA,yFAAA;AJoQR;;AI7QE;EACE,uEAAA;EACA,yGAAA;EAAA,iGAAA;AJgRJ;AI7QM;EAGE,8DAAA;EACA,gGAAA;EAAA,wFAAA;AJ6QR;;AItRE;EACE,sEAAA;EACA,wGAAA;EAAA,gGAAA;AJyRJ;AItRM;EAGE,gEAAA;EACA,kGAAA;EAAA,0FAAA;AJsRR;;AI/RE;EACE,qEAAA;EACA,uGAAA;EAAA,+FAAA;AJkSJ;AI/RM;EAGE,6DAAA;EACA,+FAAA;EAAA,uFAAA;AJ+RR;;AIxRA;EACE,+EAAA;EACA,iHAAA;EAAA,yGAAA;AJ2RF;AIxRI;EAEE,kFAAA;EACA,oHAAA;EAAA,4GAAA;AJyRN;;AKnTA;EACE,UAAA;EAEA,kJAAA;ALqTF;;AMxTA;EACE,oBAAA;EACA,aC6c4B;ED5c5B,mBAAA;EACA,0FAAA;EAAA,kFAAA;EACA,6BC2c4B;ED1c5B,mCAAA;EAAA,2BAAA;AN2TF;AMzTE;EACE,cAAA;EACA,UCuc0B;EDtc1B,WCsc0B;EDrc1B,kBAAA;EEIE,sCFHF;AN2TJ;AQpTM;EFZJ;IEaM,gBAAA;ERuTN;AACF;;AMzTI;EACE,mEAAA;AN4TN;;AS/UA;EACE,kBAAA;EACA,WAAA;ATkVF;AShVE;EACE,cAAA;EACA,mCAAA;EACA,WAAA;ATkVJ;AS/UE;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;ATiVJ;;AS5UE;EACE,uBAAA;AT+UJ;;AShVE;EACE,sBAAA;ATmVJ;;ASpVE;EACE,yBAAA;ATuVJ;;ASxVE;EACE,iCAAA;AT2VJ;;AUhXA;EACE,eAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,aHumCkC;APpvBpC;;AUhXA;EACE,eAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,aH+lCkC;AP5uBpC;;AU3WI;EACE,wBAAA;EAAA,gBAAA;EACA,MAAA;EACA,aHmlC8B;APruBpC;;AU3WI;EACE,wBAAA;EAAA,gBAAA;EACA,SAAA;EACA,aH6kC8B;AP/tBpC;;AW/UI;EDxCA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,aHmlC8B;EPxtBlC;EUxXE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,aH6kC8B;EPntBlC;AACF;AW5VI;EDxCA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,aHmlC8B;EP5sBlC;EUpYE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,aH6kC8B;EPvsBlC;AACF;AWxWI;EDxCA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,aHmlC8B;EPhsBlC;EUhZE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,aH6kC8B;EP3rBlC;AACF;AWpXI;EDxCA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,aHmlC8B;EPprBlC;EU5ZE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,aH6kC8B;EP/qBlC;AACF;AWhYI;EDxCA;IACE,wBAAA;IAAA,gBAAA;IACA,MAAA;IACA,aHmlC8B;EPxqBlC;EUxaE;IACE,wBAAA;IAAA,gBAAA;IACA,SAAA;IACA,aH6kC8B;EPnqBlC;AACF;AY1cA;EACE,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,mBAAA;AZ4cF;;AYzcA;EACE,aAAA;EACA,cAAA;EACA,sBAAA;EACA,mBAAA;AZ4cF;;AapdA;;ECIE,qBAAA;EACA,sBAAA;EACA,qBAAA;EACA,uBAAA;EACA,2BAAA;EACA,iCAAA;EACA,8BAAA;EACA,oBAAA;AdqdF;AcldE;;EACE,6BAAA;AdqdJ;AcjdE;;EACE,2BAAA;AdodJ;;AeveE;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,URgcsC;EQ/btC,WAAA;Af0eJ;;AgBlfA;ECAE,gBAAA;EACA,uBAAA;EACA,mBAAA;AjBsfF;;AkB5fA;EACE,qBAAA;EACA,mBAAA;EACA,6BXisB4B;EWhsB5B,eAAA;EACA,8BAAA;EACA,aX2rB4B;AP5L9B;;AmBncQ;EAOI,mCAAA;AnBgcZ;;AmBvcQ;EAOI,8BAAA;AnBocZ;;AmB3cQ;EAOI,iCAAA;AnBwcZ;;AmB/cQ;EAOI,iCAAA;AnB4cZ;;AmBndQ;EAOI,sCAAA;AnBgdZ;;AmBvdQ;EAOI,mCAAA;AnBodZ;;AmB3dQ;EAOI,sBAAA;AnBwdZ;;AmB/dQ;EAOI,uBAAA;AnB4dZ;;AmBneQ;EAOI,sBAAA;AnBgeZ;;AmBveQ;EAOI,iCAAA;EAAA,8BAAA;AnBoeZ;;AmB3eQ;EAOI,+BAAA;EAAA,4BAAA;AnBweZ;;AmB/eQ;EAOI,8BAAA;EAAA,2BAAA;AnB4eZ;;AmBnfQ;EAOI,oCAAA;EAAA,iCAAA;AnBgfZ;;AmBvfQ;EAOI,8BAAA;EAAA,2BAAA;AnBofZ;;AmB3fQ;EAOI,qBAAA;AnBwfZ;;AmB/fQ;EAOI,wBAAA;AnB4fZ;;AmBngBQ;EAOI,uBAAA;AnBggBZ;;AmBvgBQ;EAOI,wBAAA;AnBogBZ;;AmB3gBQ;EAOI,qBAAA;AnBwgBZ;;AmB/gBQ;EAOI,yBAAA;AnB4gBZ;;AmBnhBQ;EAOI,2BAAA;AnBghBZ;;AmBvhBQ;EAOI,4BAAA;AnBohBZ;;AmB3hBQ;EAOI,2BAAA;AnBwhBZ;;AmB/hBQ;EAOI,2BAAA;AnB4hBZ;;AmBniBQ;EAOI,6BAAA;AnBgiBZ;;AmBviBQ;EAOI,8BAAA;AnBoiBZ;;AmB3iBQ;EAOI,6BAAA;AnBwiBZ;;AmB/iBQ;EAOI,2BAAA;AnB4iBZ;;AmBnjBQ;EAOI,6BAAA;AnBgjBZ;;AmBvjBQ;EAOI,8BAAA;AnBojBZ;;AmB3jBQ;EAOI,6BAAA;AnBwjBZ;;AmB/jBQ;EAOI,0BAAA;AnB4jBZ;;AmBnkBQ;EAOI,gCAAA;AnBgkBZ;;AmBvkBQ;EAOI,yBAAA;AnBokBZ;;AmB3kBQ;EAOI,wBAAA;AnBwkBZ;;AmB/kBQ;EAOI,+BAAA;AnB4kBZ;;AmBnlBQ;EAOI,yBAAA;AnBglBZ;;AmBvlBQ;EAOI,6BAAA;AnBolBZ;;AmB3lBQ;EAOI,8BAAA;AnBwlBZ;;AmB/lBQ;EAOI,wBAAA;AnB4lBZ;;AmBnmBQ;EAOI,+BAAA;AnBgmBZ;;AmBvmBQ;EAOI,wBAAA;AnBomBZ;;AmB3mBQ;EAOI,2CAAA;AnBwmBZ;;AmB/mBQ;EAOI,8CAAA;AnB4mBZ;;AmBnnBQ;EAOI,8CAAA;AnBgnBZ;;AmBvnBQ;EAOI,2BAAA;AnBonBZ;;AmBroBQ;EACE,gFAAA;AnBwoBV;;AmBzoBQ;EACE,kFAAA;AnB4oBV;;AmB7oBQ;EACE,gFAAA;AnBgpBV;;AmBjpBQ;EACE,6EAAA;AnBopBV;;AmBrpBQ;EACE,gFAAA;AnBwpBV;;AmBzpBQ;EACE,+EAAA;AnB4pBV;;AmB7pBQ;EACE,8EAAA;AnBgqBV;;AmBjqBQ;EACE,6EAAA;AnBoqBV;;AmB3pBQ;EAOI,2BAAA;AnBwpBZ;;AmB/pBQ;EAOI,6BAAA;AnB4pBZ;;AmBnqBQ;EAOI,6BAAA;AnBgqBZ;;AmBvqBQ;EAOI,0BAAA;AnBoqBZ;;AmB3qBQ;EAOI,mCAAA;EAAA,2BAAA;AnBwqBZ;;AmB/qBQ;EAOI,iBAAA;AnB4qBZ;;AmBnrBQ;EAOI,mBAAA;AnBgrBZ;;AmBvrBQ;EAOI,oBAAA;AnBorBZ;;AmB3rBQ;EAOI,oBAAA;AnBwrBZ;;AmB/rBQ;EAOI,sBAAA;AnB4rBZ;;AmBnsBQ;EAOI,uBAAA;AnBgsBZ;;AmBvsBQ;EAOI,kBAAA;AnBosBZ;;AmB3sBQ;EAOI,oBAAA;AnBwsBZ;;AmB/sBQ;EAOI,qBAAA;AnB4sBZ;;AmBntBQ;EAOI,mBAAA;AnBgtBZ;;AmBvtBQ;EAOI,qBAAA;AnBotBZ;;AmB3tBQ;EAOI,sBAAA;AnBwtBZ;;AmB/tBQ;EAOI,2CAAA;AnB4tBZ;;AmBnuBQ;EAOI,sCAAA;AnBguBZ;;AmBvuBQ;EAOI,sCAAA;AnBouBZ;;AmB3uBQ;EAOI,uFAAA;AnBwuBZ;;AmB/uBQ;EAOI,oBAAA;AnB4uBZ;;AmBnvBQ;EAOI,2FAAA;AnBgvBZ;;AmBvvBQ;EAOI,wBAAA;AnBovBZ;;AmB3vBQ;EAOI,6FAAA;AnBwvBZ;;AmB/vBQ;EAOI,0BAAA;AnB4vBZ;;AmBnwBQ;EAOI,8FAAA;AnBgwBZ;;AmBvwBQ;EAOI,2BAAA;AnBowBZ;;AmB3wBQ;EAOI,4FAAA;AnBwwBZ;;AmB/wBQ;EAOI,yBAAA;AnB4wBZ;;AmBnxBQ;EAIQ,sBAAA;EAGJ,8EAAA;AnBixBZ;;AmBxxBQ;EAIQ,sBAAA;EAGJ,gFAAA;AnBsxBZ;;AmB7xBQ;EAIQ,sBAAA;EAGJ,8EAAA;AnB2xBZ;;AmBlyBQ;EAIQ,sBAAA;EAGJ,2EAAA;AnBgyBZ;;AmBvyBQ;EAIQ,sBAAA;EAGJ,8EAAA;AnBqyBZ;;AmB5yBQ;EAIQ,sBAAA;EAGJ,6EAAA;AnB0yBZ;;AmBjzBQ;EAIQ,sBAAA;EAGJ,4EAAA;AnB+yBZ;;AmBtzBQ;EAIQ,sBAAA;EAGJ,2EAAA;AnBozBZ;;AmB3zBQ;EAIQ,sBAAA;EAGJ,4EAAA;AnByzBZ;;AmBh0BQ;EAIQ,sBAAA;EAGJ,4EAAA;AnB8zBZ;;AmBr0BQ;EAOI,wDAAA;AnBk0BZ;;AmBz0BQ;EAOI,0DAAA;AnBs0BZ;;AmB70BQ;EAOI,wDAAA;AnB00BZ;;AmBj1BQ;EAOI,qDAAA;AnB80BZ;;AmBr1BQ;EAOI,wDAAA;AnBk1BZ;;AmBz1BQ;EAOI,uDAAA;AnBs1BZ;;AmB71BQ;EAOI,sDAAA;AnB01BZ;;AmBj2BQ;EAOI,qDAAA;AnB81BZ;;AmBr2BQ;EAOI,4BAAA;AnBk2BZ;;AmBz2BQ;EAOI,4BAAA;AnBs2BZ;;AmB72BQ;EAOI,4BAAA;AnB02BZ;;AmBj3BQ;EAOI,4BAAA;AnB82BZ;;AmBr3BQ;EAOI,4BAAA;AnBk3BZ;;AmBn4BQ;EACE,wBAAA;AnBs4BV;;AmBv4BQ;EACE,yBAAA;AnB04BV;;AmB34BQ;EACE,wBAAA;AnB84BV;;AmB/4BQ;EACE,yBAAA;AnBk5BV;;AmBn5BQ;EACE,sBAAA;AnBs5BV;;AmB74BQ;EAOI,qBAAA;AnB04BZ;;AmBj5BQ;EAOI,qBAAA;AnB84BZ;;AmBr5BQ;EAOI,qBAAA;AnBk5BZ;;AmBz5BQ;EAOI,sBAAA;AnBs5BZ;;AmB75BQ;EAOI,sBAAA;AnB05BZ;;AmBj6BQ;EAOI,0BAAA;AnB85BZ;;AmBr6BQ;EAOI,uBAAA;AnBk6BZ;;AmBz6BQ;EAOI,2BAAA;AnBs6BZ;;AmB76BQ;EAOI,sBAAA;AnB06BZ;;AmBj7BQ;EAOI,sBAAA;AnB86BZ;;AmBr7BQ;EAOI,sBAAA;AnBk7BZ;;AmBz7BQ;EAOI,uBAAA;AnBs7BZ;;AmB77BQ;EAOI,uBAAA;AnB07BZ;;AmBj8BQ;EAOI,2BAAA;AnB87BZ;;AmBr8BQ;EAOI,wBAAA;AnBk8BZ;;AmBz8BQ;EAOI,4BAAA;AnBs8BZ;;AmB78BQ;EAOI,yBAAA;AnB08BZ;;AmBj9BQ;EAOI,8BAAA;AnB88BZ;;AmBr9BQ;EAOI,iCAAA;AnBk9BZ;;AmBz9BQ;EAOI,sCAAA;AnBs9BZ;;AmB79BQ;EAOI,yCAAA;AnB09BZ;;AmBj+BQ;EAOI,uBAAA;AnB89BZ;;AmBr+BQ;EAOI,uBAAA;AnBk+BZ;;AmBz+BQ;EAOI,yBAAA;AnBs+BZ;;AmB7+BQ;EAOI,yBAAA;AnB0+BZ;;AmBj/BQ;EAOI,0BAAA;AnB8+BZ;;AmBr/BQ;EAOI,4BAAA;AnBk/BZ;;AmBz/BQ;EAOI,kCAAA;AnBs/BZ;;AmB7/BQ;EAOI,sCAAA;AnB0/BZ;;AmBjgCQ;EAOI,oCAAA;AnB8/BZ;;AmBrgCQ;EAOI,kCAAA;AnBkgCZ;;AmBzgCQ;EAOI,yCAAA;AnBsgCZ;;AmB7gCQ;EAOI,wCAAA;AnB0gCZ;;AmBjhCQ;EAOI,wCAAA;AnB8gCZ;;AmBrhCQ;EAOI,kCAAA;AnBkhCZ;;AmBzhCQ;EAOI,gCAAA;AnBshCZ;;AmB7hCQ;EAOI,8BAAA;AnB0hCZ;;AmBjiCQ;EAOI,gCAAA;AnB8hCZ;;AmBriCQ;EAOI,+BAAA;AnBkiCZ;;AmBziCQ;EAOI,oCAAA;AnBsiCZ;;AmB7iCQ;EAOI,kCAAA;AnB0iCZ;;AmBjjCQ;EAOI,gCAAA;AnB8iCZ;;AmBrjCQ;EAOI,uCAAA;AnBkjCZ;;AmBzjCQ;EAOI,sCAAA;AnBsjCZ;;AmB7jCQ;EAOI,iCAAA;AnB0jCZ;;AmBjkCQ;EAOI,2BAAA;AnB8jCZ;;AmBrkCQ;EAOI,iCAAA;AnBkkCZ;;AmBzkCQ;EAOI,+BAAA;AnBskCZ;;AmB7kCQ;EAOI,6BAAA;AnB0kCZ;;AmB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;EnBy9GV;EmBh+GM;IAOI,gCAAA;EnB49GV;EmBn+GM;IAOI,yBAAA;EnB+9GV;EmBt+GM;IAOI,wBAAA;EnBk+GV;EmBz+GM;IAOI,+BAAA;EnBq+GV;EmB5+GM;IAOI,yBAAA;EnBw+GV;EmB/+GM;IAOI,6BAAA;EnB2+GV;EmBl/GM;IAOI,8BAAA;EnB8+GV;EmBr/GM;IAOI,wBAAA;EnBi/GV;EmBx/GM;IAOI,+BAAA;EnBo/GV;EmB3/GM;IAOI,wBAAA;EnBu/GV;EmB9/GM;IAOI,yBAAA;EnB0/GV;EmBjgHM;IAOI,8BAAA;EnB6/GV;EmBpgHM;IAOI,iCAAA;EnBggHV;EmBvgHM;IAOI,sCAAA;EnBmgHV;EmB1gHM;IAOI,yCAAA;EnBsgHV;EmB7gHM;IAOI,uBAAA;EnBygHV;EmBhhHM;IAOI,uBAAA;EnB4gHV;EmBnhHM;IAOI,yBAAA;EnB+gHV;EmBthHM;IAOI,yBAAA;EnBkhHV;EmBzhHM;IAOI,0BAAA;EnBqhHV;EmB5hHM;IAOI,4BAAA;EnBwhHV;EmB/hHM;IAOI,kCAAA;EnB2hHV;EmBliHM;IAOI,sCAAA;EnB8hHV;EmBriHM;IAOI,oCAAA;EnBiiHV;EmBxiHM;IAOI,kCAAA;EnBoiHV;EmB3iHM;IAOI,yCAAA;EnBuiHV;EmB9iHM;IAOI,wCAAA;EnB0iHV;EmBjjHM;IAOI,wCAAA;EnB6iHV;EmBpjHM;IAOI,kCAAA;EnBgjHV;EmBvjHM;IAOI,gCAAA;EnBmjHV;EmB1jHM;IAOI,8BAAA;EnBsjHV;EmB7jHM;IAOI,gCAAA;EnByjHV;EmBhkHM;IAOI,+BAAA;EnB4jHV;EmBnkHM;IAOI,oCAAA;EnB+jHV;EmBtkHM;IAOI,kCAAA;EnBkkHV;EmBzkHM;IAOI,gCAAA;EnBqkHV;EmB5kHM;IAOI,uCAAA;EnBwkHV;EmB/kHM;IAOI,sCAAA;EnB2kHV;EmBllHM;IAOI,iCAAA;EnB8kHV;EmBrlHM;IAOI,2BAAA;EnBilHV;EmBxlHM;IAOI,iCAAA;EnBolHV;EmB3lHM;IAOI,+BAAA;EnBulHV;EmB9lHM;IAOI,6BAAA;EnB0lHV;EmBjmHM;IAOI,+BAAA;EnB6lHV;EmB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","file":"bootstrap-utilities.css","sourcesContent":["@mixin bsBanner($file) {\n  /*!\n   * Bootstrap #{$file} v5.3.8 (https://getbootstrap.com/)\n   * Copyright 2011-2025 The Bootstrap Authors\n   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n   */\n}\n",":root,\n[data-bs-theme=\"light\"] {\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Colors\n  //\n  // Generate palettes for full colors, grays, and theme colors.\n\n  @each $color, $value in $colors {\n    --#{$prefix}#{$color}: #{$value};\n  }\n\n  @each $color, $value in $grays {\n    --#{$prefix}gray-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-colors {\n    --#{$prefix}#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-rgb {\n    --#{$prefix}#{$color}-rgb: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-text {\n    --#{$prefix}#{$color}-text-emphasis: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-bg-subtle {\n    --#{$prefix}#{$color}-bg-subtle: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-border-subtle {\n    --#{$prefix}#{$color}-border-subtle: #{$value};\n  }\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\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  --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{inspect($font-family-base)};\n  @include rfs($font-size-base, --#{$prefix}body-font-size);\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  --#{$prefix}body-color: #{$body-color};\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg: #{$body-bg};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n  --#{$prefix}emphasis-color: #{$body-emphasis-color};\n  --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n  --#{$prefix}secondary-color: #{$body-secondary-color};\n  --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n  --#{$prefix}secondary-bg: #{$body-secondary-bg};\n  --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n  --#{$prefix}tertiary-color: #{$body-tertiary-color};\n  --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n  --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n  --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  --#{$prefix}link-color: #{$link-color};\n  --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n  --#{$prefix}link-decoration: #{$link-decoration};\n\n  --#{$prefix}link-hover-color: #{$link-hover-color};\n  --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n  @if $link-hover-decoration != null {\n    --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n  }\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n  --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --#{$prefix}focus-ring-width: #{$focus-ring-width};\n  --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n  --#{$prefix}focus-ring-color: #{$focus-ring-color};\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}body-color: #{$body-color-dark};\n    --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n    --#{$prefix}body-bg: #{$body-bg-dark};\n    --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n    --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n    --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n    --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n    --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n    --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n    --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n    --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n    --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n    @each $color, $value in $theme-colors-text-dark {\n      --#{$prefix}#{$color}-text-emphasis: #{$value};\n    }\n\n    @each $color, $value in $theme-colors-bg-subtle-dark {\n      --#{$prefix}#{$color}-bg-subtle: #{$value};\n    }\n\n    @each $color, $value in $theme-colors-border-subtle-dark {\n      --#{$prefix}#{$color}-border-subtle: #{$value};\n    }\n\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}link-color: #{$link-color-dark};\n    --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n    --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n    --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n    --#{$prefix}code-color: #{$code-color-dark};\n    --#{$prefix}highlight-color: #{$mark-color-dark};\n    --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n  @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n  @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n  @error \"`#{$rfs-factor}` is not a valid  $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n  $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n  $dividend: abs($dividend);\n  $divisor: abs($divisor);\n  @if $dividend == 0 {\n    @return 0;\n  }\n  @if $divisor == 0 {\n    @error \"Cannot divide by 0\";\n  }\n  $remainder: $dividend;\n  $result: 0;\n  $factor: 10;\n  @while ($remainder > 0 and $precision >= 0) {\n    $quotient: 0;\n    @while ($remainder >= $divisor) {\n      $remainder: $remainder - $divisor;\n      $quotient: $quotient + 1;\n    }\n    $result: $result * 10 + $quotient;\n    $factor: $factor * .1;\n    $remainder: $remainder * 10;\n    $precision: $precision - 1;\n    @if ($precision < 0 and $remainder >= $divisor * 5) {\n      $result: $result + 1;\n    }\n  }\n  $result: $result * $factor * $sign;\n  $dividend-unit: unit($dividend);\n  $divisor-unit: unit($divisor);\n  $unit-map: (\n    \"px\": 1px,\n    \"rem\": 1rem,\n    \"em\": 1em,\n    \"%\": 1%\n  );\n  @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n    $result: $result * map-get($unit-map, $dividend-unit);\n  }\n  @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n  $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n  $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n  $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n  $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n  @if $rfs-two-dimensional {\n    @if $rfs-mode == max-media-query {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n    @else {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n  }\n  @else {\n    @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n      @content;\n    }\n  }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n  @if $rfs-class == disable and $rfs-mode == max-media-query {\n    // Adding an extra class increases specificity, which prevents the media query to override the property\n    &,\n    .disable-rfs &,\n    &.disable-rfs {\n      @content;\n    }\n  }\n  @else if $rfs-class == enable and $rfs-mode == min-media-query {\n    .enable-rfs &,\n    &.enable-rfs {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n  @if $rfs-class == enable {\n    @if $rfs-mode == min-media-query {\n      @content;\n    }\n\n    @include _rfs-media-query () {\n      .enable-rfs &,\n      &.enable-rfs {\n        @content;\n      }\n    }\n  }\n  @else {\n    @if $rfs-class == disable and $rfs-mode == min-media-query {\n      .disable-rfs &,\n      &.disable-rfs {\n        @content;\n      }\n    }\n    @include _rfs-media-query () {\n      @content;\n    }\n  }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n  // Convert to list\n  $values: if(type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    }\n    @else {\n      // Cache $value unit\n      $unit: if(type-of($value) == \"number\", unit($value), false);\n\n      @if $unit == px {\n        // Convert to rem if needed\n        $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n      }\n      @else if $unit == rem {\n        // Convert to px if needed\n        $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n      } @else {\n        // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n        $val: $val + \" \" + $value;\n      }\n    }\n  }\n\n  // Remove first space\n  @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n  // Convert to list\n  $values: if(type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    } @else {\n      // Cache $value unit\n      $unit: if(type-of($value) == \"number\", unit($value), false);\n\n      // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n      @if not $unit or $unit != px and $unit != rem {\n        $val: $val + \" \" + $value;\n      } @else {\n        // Remove unit from $value for calculations\n        $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n        // Only add the media query if the value is greater than the minimum value\n        @if abs($value) <= $rfs-base-value or not $enable-rfs {\n          $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n        }\n        @else {\n          // Calculate the minimum value\n          $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n          // Calculate difference between $value and the minimum value\n          $value-diff: abs($value) - $value-min;\n\n          // Base value formatting\n          $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n          // Use negative value if needed\n          $min-width: if($value < 0, -$min-width, $min-width);\n\n          // Use `vmin` if two-dimensional is enabled\n          $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n          // Calculate the variable width between 0 and $rfs-breakpoint\n          $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n          // Return the calculated value\n          $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n        }\n      }\n    }\n  }\n\n  // Remove first space\n  @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n  @if $values != null {\n    $val: rfs-value($values);\n    $fluid-val: rfs-fluid-value($values);\n\n    // Do not print the media query if responsive & non-responsive values are the same\n    @if $val == $fluid-val {\n      #{$property}: $val;\n    }\n    @else {\n      @include _rfs-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n        // Include safari iframe resize fix if needed\n        min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n      }\n\n      @include _rfs-media-query-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n      }\n    }\n  }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n  @include rfs($value);\n}\n\n@mixin padding($value) {\n  @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n  @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n  @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n  @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n  @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n  @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n  @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n  @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n  @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n  @include rfs($value, margin-left);\n}\n","/*!\n * Bootstrap Utilities v5.3.8 (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[data-bs-theme=light] {\n  --bs-blue: #0d6efd;\n  --bs-indigo: #6610f2;\n  --bs-purple: #6f42c1;\n  --bs-pink: #d63384;\n  --bs-red: #dc3545;\n  --bs-orange: #fd7e14;\n  --bs-yellow: #ffc107;\n  --bs-green: #198754;\n  --bs-teal: #20c997;\n  --bs-cyan: #0dcaf0;\n  --bs-black: #000;\n  --bs-white: #fff;\n  --bs-gray: #6c757d;\n  --bs-gray-dark: #343a40;\n  --bs-gray-100: #f8f9fa;\n  --bs-gray-200: #e9ecef;\n  --bs-gray-300: #dee2e6;\n  --bs-gray-400: #ced4da;\n  --bs-gray-500: #adb5bd;\n  --bs-gray-600: #6c757d;\n  --bs-gray-700: #495057;\n  --bs-gray-800: #343a40;\n  --bs-gray-900: #212529;\n  --bs-primary: #0d6efd;\n  --bs-secondary: #6c757d;\n  --bs-success: #198754;\n  --bs-info: #0dcaf0;\n  --bs-warning: #ffc107;\n  --bs-danger: #dc3545;\n  --bs-light: #f8f9fa;\n  --bs-dark: #212529;\n  --bs-primary-rgb: 13, 110, 253;\n  --bs-secondary-rgb: 108, 117, 125;\n  --bs-success-rgb: 25, 135, 84;\n  --bs-info-rgb: 13, 202, 240;\n  --bs-warning-rgb: 255, 193, 7;\n  --bs-danger-rgb: 220, 53, 69;\n  --bs-light-rgb: 248, 249, 250;\n  --bs-dark-rgb: 33, 37, 41;\n  --bs-primary-text-emphasis: #052c65;\n  --bs-secondary-text-emphasis: #2b2f32;\n  --bs-success-text-emphasis: #0a3622;\n  --bs-info-text-emphasis: #055160;\n  --bs-warning-text-emphasis: #664d03;\n  --bs-danger-text-emphasis: #58151c;\n  --bs-light-text-emphasis: #495057;\n  --bs-dark-text-emphasis: #495057;\n  --bs-primary-bg-subtle: #cfe2ff;\n  --bs-secondary-bg-subtle: #e2e3e5;\n  --bs-success-bg-subtle: #d1e7dd;\n  --bs-info-bg-subtle: #cff4fc;\n  --bs-warning-bg-subtle: #fff3cd;\n  --bs-danger-bg-subtle: #f8d7da;\n  --bs-light-bg-subtle: #fcfcfd;\n  --bs-dark-bg-subtle: #ced4da;\n  --bs-primary-border-subtle: #9ec5fe;\n  --bs-secondary-border-subtle: #c4c8cb;\n  --bs-success-border-subtle: #a3cfbb;\n  --bs-info-border-subtle: #9eeaf9;\n  --bs-warning-border-subtle: #ffe69c;\n  --bs-danger-border-subtle: #f1aeb5;\n  --bs-light-border-subtle: #e9ecef;\n  --bs-dark-border-subtle: #adb5bd;\n  --bs-white-rgb: 255, 255, 255;\n  --bs-black-rgb: 0, 0, 0;\n  --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\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-body-font-size: 1rem;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color: #212529;\n  --bs-body-color-rgb: 33, 37, 41;\n  --bs-body-bg: #fff;\n  --bs-body-bg-rgb: 255, 255, 255;\n  --bs-emphasis-color: #000;\n  --bs-emphasis-color-rgb: 0, 0, 0;\n  --bs-secondary-color: rgba(33, 37, 41, 0.75);\n  --bs-secondary-color-rgb: 33, 37, 41;\n  --bs-secondary-bg: #e9ecef;\n  --bs-secondary-bg-rgb: 233, 236, 239;\n  --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n  --bs-tertiary-color-rgb: 33, 37, 41;\n  --bs-tertiary-bg: #f8f9fa;\n  --bs-tertiary-bg-rgb: 248, 249, 250;\n  --bs-heading-color: inherit;\n  --bs-link-color: #0d6efd;\n  --bs-link-color-rgb: 13, 110, 253;\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: #0a58ca;\n  --bs-link-hover-color-rgb: 10, 88, 202;\n  --bs-code-color: #d63384;\n  --bs-highlight-color: #212529;\n  --bs-highlight-bg: #fff3cd;\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: #dee2e6;\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.375rem;\n  --bs-border-radius-sm: 0.25rem;\n  --bs-border-radius-lg: 0.5rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-xxl: 2rem;\n  --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 0.25rem;\n  --bs-focus-ring-opacity: 0.25;\n  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);\n  --bs-form-valid-color: #198754;\n  --bs-form-valid-border-color: #198754;\n  --bs-form-invalid-color: #dc3545;\n  --bs-form-invalid-border-color: #dc3545;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n  --bs-body-color: #dee2e6;\n  --bs-body-color-rgb: 222, 226, 230;\n  --bs-body-bg: #212529;\n  --bs-body-bg-rgb: 33, 37, 41;\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: 255, 255, 255;\n  --bs-secondary-color: rgba(222, 226, 230, 0.75);\n  --bs-secondary-color-rgb: 222, 226, 230;\n  --bs-secondary-bg: #343a40;\n  --bs-secondary-bg-rgb: 52, 58, 64;\n  --bs-tertiary-color: rgba(222, 226, 230, 0.5);\n  --bs-tertiary-color-rgb: 222, 226, 230;\n  --bs-tertiary-bg: #2b3035;\n  --bs-tertiary-bg-rgb: 43, 48, 53;\n  --bs-primary-text-emphasis: #6ea8fe;\n  --bs-secondary-text-emphasis: #a7acb1;\n  --bs-success-text-emphasis: #75b798;\n  --bs-info-text-emphasis: #6edff6;\n  --bs-warning-text-emphasis: #ffda6a;\n  --bs-danger-text-emphasis: #ea868f;\n  --bs-light-text-emphasis: #f8f9fa;\n  --bs-dark-text-emphasis: #dee2e6;\n  --bs-primary-bg-subtle: #031633;\n  --bs-secondary-bg-subtle: #161719;\n  --bs-success-bg-subtle: #051b11;\n  --bs-info-bg-subtle: #032830;\n  --bs-warning-bg-subtle: #332701;\n  --bs-danger-bg-subtle: #2c0b0e;\n  --bs-light-bg-subtle: #343a40;\n  --bs-dark-bg-subtle: #1a1d20;\n  --bs-primary-border-subtle: #084298;\n  --bs-secondary-border-subtle: #41464b;\n  --bs-success-border-subtle: #0f5132;\n  --bs-info-border-subtle: #087990;\n  --bs-warning-border-subtle: #997404;\n  --bs-danger-border-subtle: #842029;\n  --bs-light-border-subtle: #495057;\n  --bs-dark-border-subtle: #343a40;\n  --bs-heading-color: inherit;\n  --bs-link-color: #6ea8fe;\n  --bs-link-hover-color: #8bb9fe;\n  --bs-link-color-rgb: 110, 168, 254;\n  --bs-link-hover-color-rgb: 139, 185, 254;\n  --bs-code-color: #e685b5;\n  --bs-highlight-color: #dee2e6;\n  --bs-highlight-bg: #664d03;\n  --bs-border-color: #495057;\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: #75b798;\n  --bs-form-valid-border-color: #75b798;\n  --bs-form-invalid-color: #ea868f;\n  --bs-form-invalid-border-color: #ea868f;\n}\n\n.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.text-bg-primary {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-secondary {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-success {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-info {\n  color: #000 !important;\n  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-warning {\n  color: #000 !important;\n  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-danger {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-light {\n  color: #000 !important;\n  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-dark {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.link-primary {\n  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-primary:hover, .link-primary:focus {\n  color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-secondary {\n  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-secondary:hover, .link-secondary:focus {\n  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-success {\n  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-success:hover, .link-success:focus {\n  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-info {\n  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-info:hover, .link-info:focus {\n  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-warning {\n  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-warning:hover, .link-warning:focus {\n  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-danger {\n  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-danger:hover, .link-danger:focus {\n  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-light {\n  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-light:hover, .link-light:focus {\n  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-dark {\n  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-dark:hover, .link-dark:focus {\n  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-body-emphasis {\n  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-body-emphasis:hover, .link-body-emphasis:focus {\n  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;\n  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;\n}\n\n.focus-ring:focus {\n  outline: 0;\n  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);\n}\n\n.icon-link {\n  display: inline-flex;\n  gap: 0.375rem;\n  align-items: center;\n  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-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\n.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n}\n\n.ratio {\n  position: relative;\n  width: 100%;\n}\n.ratio::before {\n  display: block;\n  padding-top: var(--bs-aspect-ratio);\n  content: \"\";\n}\n.ratio > * {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.ratio-1x1 {\n  --bs-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n  --bs-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n  --bs-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n  --bs-aspect-ratio: 42.8571428571%;\n}\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n.sticky-top {\n  position: sticky;\n  top: 0;\n  z-index: 1020;\n}\n\n.sticky-bottom {\n  position: sticky;\n  bottom: 0;\n  z-index: 1020;\n}\n\n@media (min-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 (min-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 (min-width: 992px) {\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 (min-width: 1200px) {\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 (min-width: 1400px) {\n  .sticky-xxl-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-xxl-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n}\n.hstack {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  align-self: stretch;\n}\n\n.vstack {\n  display: flex;\n  flex: 1 1 auto;\n  flex-direction: column;\n  align-self: stretch;\n}\n\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.stretched-link::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1;\n  content: \"\";\n}\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.vr {\n  display: inline-block;\n  align-self: stretch;\n  width: var(--bs-border-width);\n  min-height: 1em;\n  background-color: currentcolor;\n  opacity: 0.25;\n}\n\n.align-baseline {\n  vertical-align: baseline !important;\n}\n\n.align-top {\n  vertical-align: top !important;\n}\n\n.align-middle {\n  vertical-align: middle !important;\n}\n\n.align-bottom {\n  vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n  vertical-align: text-top !important;\n}\n\n.float-start {\n  float: left !important;\n}\n\n.float-end {\n  float: right !important;\n}\n\n.float-none {\n  float: none !important;\n}\n\n.object-fit-contain {\n  object-fit: contain !important;\n}\n\n.object-fit-cover {\n  object-fit: cover !important;\n}\n\n.object-fit-fill {\n  object-fit: fill !important;\n}\n\n.object-fit-scale {\n  object-fit: scale-down !important;\n}\n\n.object-fit-none {\n  object-fit: none !important;\n}\n\n.opacity-0 {\n  opacity: 0 !important;\n}\n\n.opacity-25 {\n  opacity: 0.25 !important;\n}\n\n.opacity-50 {\n  opacity: 0.5 !important;\n}\n\n.opacity-75 {\n  opacity: 0.75 !important;\n}\n\n.opacity-100 {\n  opacity: 1 !important;\n}\n\n.overflow-auto {\n  overflow: auto !important;\n}\n\n.overflow-hidden {\n  overflow: hidden !important;\n}\n\n.overflow-visible {\n  overflow: visible !important;\n}\n\n.overflow-scroll {\n  overflow: scroll !important;\n}\n\n.overflow-x-auto {\n  overflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n  overflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n  overflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n  overflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n  overflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n  overflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n  overflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n  overflow-y: scroll !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-block {\n  display: block !important;\n}\n\n.d-grid {\n  display: grid !important;\n}\n\n.d-inline-grid {\n  display: inline-grid !important;\n}\n\n.d-table {\n  display: table !important;\n}\n\n.d-table-row {\n  display: table-row !important;\n}\n\n.d-table-cell {\n  display: table-cell !important;\n}\n\n.d-flex {\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: inline-flex !important;\n}\n\n.d-none {\n  display: none !important;\n}\n\n.shadow {\n  box-shadow: var(--bs-box-shadow) !important;\n}\n\n.shadow-sm {\n  box-shadow: var(--bs-box-shadow-sm) !important;\n}\n\n.shadow-lg {\n  box-shadow: var(--bs-box-shadow-lg) !important;\n}\n\n.shadow-none {\n  box-shadow: none !important;\n}\n\n.focus-ring-primary {\n  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-secondary {\n  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-success {\n  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-info {\n  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-warning {\n  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-danger {\n  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-light {\n  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-dark {\n  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));\n}\n\n.position-static {\n  position: static !important;\n}\n\n.position-relative {\n  position: relative !important;\n}\n\n.position-absolute {\n  position: absolute !important;\n}\n\n.position-fixed {\n  position: fixed !important;\n}\n\n.position-sticky {\n  position: sticky !important;\n}\n\n.top-0 {\n  top: 0 !important;\n}\n\n.top-50 {\n  top: 50% !important;\n}\n\n.top-100 {\n  top: 100% !important;\n}\n\n.bottom-0 {\n  bottom: 0 !important;\n}\n\n.bottom-50 {\n  bottom: 50% !important;\n}\n\n.bottom-100 {\n  bottom: 100% !important;\n}\n\n.start-0 {\n  left: 0 !important;\n}\n\n.start-50 {\n  left: 50% !important;\n}\n\n.start-100 {\n  left: 100% !important;\n}\n\n.end-0 {\n  right: 0 !important;\n}\n\n.end-50 {\n  right: 50% !important;\n}\n\n.end-100 {\n  right: 100% !important;\n}\n\n.translate-middle {\n  transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n  transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n  transform: translateY(-50%) !important;\n}\n\n.border {\n  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top {\n  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-end {\n  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-end-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom {\n  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !important;\n}\n\n.border-start {\n  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-start-0 {\n  border-left: 0 !important;\n}\n\n.border-primary {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-secondary {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-success {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-info {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-warning {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-danger {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-light {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-dark {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-black {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-white {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-primary-subtle {\n  border-color: var(--bs-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n  border-color: var(--bs-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n  border-color: var(--bs-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n  border-color: var(--bs-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n  border-color: var(--bs-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n  border-color: var(--bs-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n  border-color: var(--bs-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n  border-color: var(--bs-dark-border-subtle) !important;\n}\n\n.border-1 {\n  border-width: 1px !important;\n}\n\n.border-2 {\n  border-width: 2px !important;\n}\n\n.border-3 {\n  border-width: 3px !important;\n}\n\n.border-4 {\n  border-width: 4px !important;\n}\n\n.border-5 {\n  border-width: 5px !important;\n}\n\n.border-opacity-10 {\n  --bs-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n  --bs-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n  --bs-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n  --bs-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n  --bs-border-opacity: 1;\n}\n\n.w-25 {\n  width: 25% !important;\n}\n\n.w-50 {\n  width: 50% !important;\n}\n\n.w-75 {\n  width: 75% !important;\n}\n\n.w-100 {\n  width: 100% !important;\n}\n\n.w-auto {\n  width: auto !important;\n}\n\n.mw-100 {\n  max-width: 100% !important;\n}\n\n.vw-100 {\n  width: 100vw !important;\n}\n\n.min-vw-100 {\n  min-width: 100vw !important;\n}\n\n.h-25 {\n  height: 25% !important;\n}\n\n.h-50 {\n  height: 50% !important;\n}\n\n.h-75 {\n  height: 75% !important;\n}\n\n.h-100 {\n  height: 100% !important;\n}\n\n.h-auto {\n  height: auto !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.vh-100 {\n  height: 100vh !important;\n}\n\n.min-vh-100 {\n  min-height: 100vh !important;\n}\n\n.flex-fill {\n  flex: 1 1 auto !important;\n}\n\n.flex-row {\n  flex-direction: row !important;\n}\n\n.flex-column {\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n  flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n  flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n  flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n  flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n  justify-content: space-evenly !important;\n}\n\n.align-items-start {\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  align-content: center !important;\n}\n\n.align-content-between {\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  align-self: auto !important;\n}\n\n.align-self-start {\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  align-self: stretch !important;\n}\n\n.order-first {\n  order: -1 !important;\n}\n\n.order-0 {\n  order: 0 !important;\n}\n\n.order-1 {\n  order: 1 !important;\n}\n\n.order-2 {\n  order: 2 !important;\n}\n\n.order-3 {\n  order: 3 !important;\n}\n\n.order-4 {\n  order: 4 !important;\n}\n\n.order-5 {\n  order: 5 !important;\n}\n\n.order-last {\n  order: 6 !important;\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mx-0 {\n  margin-right: 0 !important;\n  margin-left: 0 !important;\n}\n\n.mx-1 {\n  margin-right: 0.25rem !important;\n  margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n  margin-right: 0.5rem !important;\n  margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n  margin-right: 1rem !important;\n  margin-left: 1rem !important;\n}\n\n.mx-4 {\n  margin-right: 1.5rem !important;\n  margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n  margin-right: 3rem !important;\n  margin-left: 3rem !important;\n}\n\n.mx-auto {\n  margin-right: auto !important;\n  margin-left: auto !important;\n}\n\n.my-0 {\n  margin-top: 0 !important;\n  margin-bottom: 0 !important;\n}\n\n.my-1 {\n  margin-top: 0.25rem !important;\n  margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n  margin-top: 0.5rem !important;\n  margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n  margin-top: 1rem !important;\n  margin-bottom: 1rem !important;\n}\n\n.my-4 {\n  margin-top: 1.5rem !important;\n  margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n  margin-top: 3rem !important;\n  margin-bottom: 3rem !important;\n}\n\n.my-auto {\n  margin-top: auto !important;\n  margin-bottom: auto !important;\n}\n\n.mt-0 {\n  margin-top: 0 !important;\n}\n\n.mt-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n  margin-top: 1rem !important;\n}\n\n.mt-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n  margin-top: 3rem !important;\n}\n\n.mt-auto {\n  margin-top: auto !important;\n}\n\n.me-0 {\n  margin-right: 0 !important;\n}\n\n.me-1 {\n  margin-right: 0.25rem !important;\n}\n\n.me-2 {\n  margin-right: 0.5rem !important;\n}\n\n.me-3 {\n  margin-right: 1rem !important;\n}\n\n.me-4 {\n  margin-right: 1.5rem !important;\n}\n\n.me-5 {\n  margin-right: 3rem !important;\n}\n\n.me-auto {\n  margin-right: auto !important;\n}\n\n.mb-0 {\n  margin-bottom: 0 !important;\n}\n\n.mb-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n  margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n  margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n  margin-bottom: auto !important;\n}\n\n.ms-0 {\n  margin-left: 0 !important;\n}\n\n.ms-1 {\n  margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n  margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n  margin-left: 1rem !important;\n}\n\n.ms-4 {\n  margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n  margin-left: 3rem !important;\n}\n\n.ms-auto {\n  margin-left: auto !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.px-0 {\n  padding-right: 0 !important;\n  padding-left: 0 !important;\n}\n\n.px-1 {\n  padding-right: 0.25rem !important;\n  padding-left: 0.25rem !important;\n}\n\n.px-2 {\n  padding-right: 0.5rem !important;\n  padding-left: 0.5rem !important;\n}\n\n.px-3 {\n  padding-right: 1rem !important;\n  padding-left: 1rem !important;\n}\n\n.px-4 {\n  padding-right: 1.5rem !important;\n  padding-left: 1.5rem !important;\n}\n\n.px-5 {\n  padding-right: 3rem !important;\n  padding-left: 3rem !important;\n}\n\n.py-0 {\n  padding-top: 0 !important;\n  padding-bottom: 0 !important;\n}\n\n.py-1 {\n  padding-top: 0.25rem !important;\n  padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n  padding-top: 0.5rem !important;\n  padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n  padding-top: 1rem !important;\n  padding-bottom: 1rem !important;\n}\n\n.py-4 {\n  padding-top: 1.5rem !important;\n  padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n  padding-top: 3rem !important;\n  padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n  padding-top: 0 !important;\n}\n\n.pt-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n  padding-top: 1rem !important;\n}\n\n.pt-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n  padding-top: 3rem !important;\n}\n\n.pe-0 {\n  padding-right: 0 !important;\n}\n\n.pe-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n  padding-right: 1rem !important;\n}\n\n.pe-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-0 {\n  padding-bottom: 0 !important;\n}\n\n.pb-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n  padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n  padding-left: 0 !important;\n}\n\n.ps-1 {\n  padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n  padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n  padding-left: 1rem !important;\n}\n\n.ps-4 {\n  padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n  padding-left: 3rem !important;\n}\n\n.gap-0 {\n  gap: 0 !important;\n}\n\n.gap-1 {\n  gap: 0.25rem !important;\n}\n\n.gap-2 {\n  gap: 0.5rem !important;\n}\n\n.gap-3 {\n  gap: 1rem !important;\n}\n\n.gap-4 {\n  gap: 1.5rem !important;\n}\n\n.gap-5 {\n  gap: 3rem !important;\n}\n\n.row-gap-0 {\n  row-gap: 0 !important;\n}\n\n.row-gap-1 {\n  row-gap: 0.25rem !important;\n}\n\n.row-gap-2 {\n  row-gap: 0.5rem !important;\n}\n\n.row-gap-3 {\n  row-gap: 1rem !important;\n}\n\n.row-gap-4 {\n  row-gap: 1.5rem !important;\n}\n\n.row-gap-5 {\n  row-gap: 3rem !important;\n}\n\n.column-gap-0 {\n  column-gap: 0 !important;\n}\n\n.column-gap-1 {\n  column-gap: 0.25rem !important;\n}\n\n.column-gap-2 {\n  column-gap: 0.5rem !important;\n}\n\n.column-gap-3 {\n  column-gap: 1rem !important;\n}\n\n.column-gap-4 {\n  column-gap: 1.5rem !important;\n}\n\n.column-gap-5 {\n  column-gap: 3rem !important;\n}\n\n.font-monospace {\n  font-family: var(--bs-font-monospace) !important;\n}\n\n.fs-1 {\n  font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n  font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n  font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n  font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n  font-size: 1.25rem !important;\n}\n\n.fs-6 {\n  font-size: 1rem !important;\n}\n\n.fst-italic {\n  font-style: italic !important;\n}\n\n.fst-normal {\n  font-style: normal !important;\n}\n\n.fw-lighter {\n  font-weight: lighter !important;\n}\n\n.fw-light {\n  font-weight: 300 !important;\n}\n\n.fw-normal {\n  font-weight: 400 !important;\n}\n\n.fw-medium {\n  font-weight: 500 !important;\n}\n\n.fw-semibold {\n  font-weight: 600 !important;\n}\n\n.fw-bold {\n  font-weight: 700 !important;\n}\n\n.fw-bolder {\n  font-weight: bolder !important;\n}\n\n.lh-1 {\n  line-height: 1 !important;\n}\n\n.lh-sm {\n  line-height: 1.25 !important;\n}\n\n.lh-base {\n  line-height: 1.5 !important;\n}\n\n.lh-lg {\n  line-height: 2 !important;\n}\n\n.text-start {\n  text-align: left !important;\n}\n\n.text-end {\n  text-align: right !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n.text-decoration-none {\n  text-decoration: none !important;\n}\n\n.text-decoration-underline {\n  text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n  text-decoration: line-through !important;\n}\n\n.text-lowercase {\n  text-transform: lowercase !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n\n.text-capitalize {\n  text-transform: capitalize !important;\n}\n\n.text-wrap {\n  white-space: normal !important;\n}\n\n.text-nowrap {\n  white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n  word-wrap: break-word !important;\n  word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n.text-primary {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-secondary {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-success {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-info {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-warning {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-danger {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-light {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-dark {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-black {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-white {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-body {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-muted {\n  --bs-text-opacity: 1;\n  color: var(--bs-secondary-color) !important;\n}\n\n.text-black-50 {\n  --bs-text-opacity: 1;\n  color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n  --bs-text-opacity: 1;\n  color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-body-secondary {\n  --bs-text-opacity: 1;\n  color: var(--bs-secondary-color) !important;\n}\n\n.text-body-tertiary {\n  --bs-text-opacity: 1;\n  color: var(--bs-tertiary-color) !important;\n}\n\n.text-body-emphasis {\n  --bs-text-opacity: 1;\n  color: var(--bs-emphasis-color) !important;\n}\n\n.text-reset {\n  --bs-text-opacity: 1;\n  color: inherit !important;\n}\n\n.text-opacity-25 {\n  --bs-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n  --bs-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n  --bs-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n  --bs-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n  color: var(--bs-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n  color: var(--bs-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n  color: var(--bs-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n  color: var(--bs-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n  color: var(--bs-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n  color: var(--bs-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n  color: var(--bs-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n  color: var(--bs-dark-text-emphasis) !important;\n}\n\n.link-opacity-10 {\n  --bs-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n  --bs-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n  --bs-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n  --bs-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n  --bs-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n  --bs-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n  --bs-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n  --bs-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n  --bs-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n  --bs-link-opacity: 1;\n}\n\n.link-offset-1 {\n  text-underline-offset: 0.125em !important;\n}\n\n.link-offset-1-hover:hover {\n  text-underline-offset: 0.125em !important;\n}\n\n.link-offset-2 {\n  text-underline-offset: 0.25em !important;\n}\n\n.link-offset-2-hover:hover {\n  text-underline-offset: 0.25em !important;\n}\n\n.link-offset-3 {\n  text-underline-offset: 0.375em !important;\n}\n\n.link-offset-3-hover:hover {\n  text-underline-offset: 0.375em !important;\n}\n\n.link-underline-primary {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-secondary {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-success {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-info {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-warning {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-danger {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-light {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-dark {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-underline-opacity-0 {\n  --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n  --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n  --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n  --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n  --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n  --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n  --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n  --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n  --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n  --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n  --bs-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n  --bs-link-underline-opacity: 1;\n}\n\n.bg-primary {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-secondary {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-success {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-info {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-warning {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-danger {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-light {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-dark {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-black {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-white {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-transparent {\n  --bs-bg-opacity: 1;\n  background-color: transparent !important;\n}\n\n.bg-body-secondary {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body-tertiary {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-opacity-10 {\n  --bs-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n  --bs-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n  --bs-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n  --bs-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n  --bs-bg-opacity: 1;\n}\n\n.bg-primary-subtle {\n  background-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.bg-secondary-subtle {\n  background-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.bg-success-subtle {\n  background-color: var(--bs-success-bg-subtle) !important;\n}\n\n.bg-info-subtle {\n  background-color: var(--bs-info-bg-subtle) !important;\n}\n\n.bg-warning-subtle {\n  background-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.bg-danger-subtle {\n  background-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.bg-light-subtle {\n  background-color: var(--bs-light-bg-subtle) !important;\n}\n\n.bg-dark-subtle {\n  background-color: var(--bs-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n  background-image: var(--bs-gradient) !important;\n}\n\n.user-select-all {\n  user-select: all !important;\n}\n\n.user-select-auto {\n  user-select: auto !important;\n}\n\n.user-select-none {\n  user-select: none !important;\n}\n\n.pe-none {\n  pointer-events: none !important;\n}\n\n.pe-auto {\n  pointer-events: auto !important;\n}\n\n.rounded {\n  border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n\n.rounded-1 {\n  border-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-2 {\n  border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-3 {\n  border-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-4 {\n  border-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-5 {\n  border-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-pill {\n  border-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-top {\n  border-top-left-radius: var(--bs-border-radius) !important;\n  border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-0 {\n  border-top-left-radius: 0 !important;\n  border-top-right-radius: 0 !important;\n}\n\n.rounded-top-1 {\n  border-top-left-radius: var(--bs-border-radius-sm) !important;\n  border-top-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n  border-top-left-radius: var(--bs-border-radius) !important;\n  border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-3 {\n  border-top-left-radius: var(--bs-border-radius-lg) !important;\n  border-top-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n  border-top-left-radius: var(--bs-border-radius-xl) !important;\n  border-top-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n  border-top-left-radius: var(--bs-border-radius-xxl) !important;\n  border-top-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n  border-top-left-radius: 50% !important;\n  border-top-right-radius: 50% !important;\n}\n\n.rounded-top-pill {\n  border-top-left-radius: var(--bs-border-radius-pill) !important;\n  border-top-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-end {\n  border-top-right-radius: var(--bs-border-radius) !important;\n  border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-0 {\n  border-top-right-radius: 0 !important;\n  border-bottom-right-radius: 0 !important;\n}\n\n.rounded-end-1 {\n  border-top-right-radius: var(--bs-border-radius-sm) !important;\n  border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n  border-top-right-radius: var(--bs-border-radius) !important;\n  border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-3 {\n  border-top-right-radius: var(--bs-border-radius-lg) !important;\n  border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n  border-top-right-radius: var(--bs-border-radius-xl) !important;\n  border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n  border-top-right-radius: var(--bs-border-radius-xxl) !important;\n  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n  border-top-right-radius: 50% !important;\n  border-bottom-right-radius: 50% !important;\n}\n\n.rounded-end-pill {\n  border-top-right-radius: var(--bs-border-radius-pill) !important;\n  border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: var(--bs-border-radius) !important;\n  border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n  border-bottom-right-radius: 0 !important;\n  border-bottom-left-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n  border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n  border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n  border-bottom-right-radius: var(--bs-border-radius) !important;\n  border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n  border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n  border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n  border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n  border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n  border-bottom-right-radius: 50% !important;\n  border-bottom-left-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n  border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n  border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-start {\n  border-bottom-left-radius: var(--bs-border-radius) !important;\n  border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-0 {\n  border-bottom-left-radius: 0 !important;\n  border-top-left-radius: 0 !important;\n}\n\n.rounded-start-1 {\n  border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n  border-top-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n  border-bottom-left-radius: var(--bs-border-radius) !important;\n  border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-3 {\n  border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n  border-top-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n  border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n  border-top-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n  border-top-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n  border-bottom-left-radius: 50% !important;\n  border-top-left-radius: 50% !important;\n}\n\n.rounded-start-pill {\n  border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n  border-top-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n\n.z-n1 {\n  z-index: -1 !important;\n}\n\n.z-0 {\n  z-index: 0 !important;\n}\n\n.z-1 {\n  z-index: 1 !important;\n}\n\n.z-2 {\n  z-index: 2 !important;\n}\n\n.z-3 {\n  z-index: 3 !important;\n}\n\n@media (min-width: 576px) {\n  .float-sm-start {\n    float: left !important;\n  }\n  .float-sm-end {\n    float: right !important;\n  }\n  .float-sm-none {\n    float: none !important;\n  }\n  .object-fit-sm-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-sm-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-sm-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-sm-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-sm-none {\n    object-fit: none !important;\n  }\n  .d-sm-inline {\n    display: inline !important;\n  }\n  .d-sm-inline-block {\n    display: inline-block !important;\n  }\n  .d-sm-block {\n    display: block !important;\n  }\n  .d-sm-grid {\n    display: grid !important;\n  }\n  .d-sm-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-sm-table {\n    display: table !important;\n  }\n  .d-sm-table-row {\n    display: table-row !important;\n  }\n  .d-sm-table-cell {\n    display: table-cell !important;\n  }\n  .d-sm-flex {\n    display: flex !important;\n  }\n  .d-sm-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-sm-none {\n    display: none !important;\n  }\n  .flex-sm-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-sm-row {\n    flex-direction: row !important;\n  }\n  .flex-sm-column {\n    flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-sm-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-sm-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-sm-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-sm-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-sm-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-sm-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-sm-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-sm-start {\n    align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    align-content: center !important;\n  }\n  .align-content-sm-between {\n    align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    align-self: auto !important;\n  }\n  .align-self-sm-start {\n    align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    align-self: stretch !important;\n  }\n  .order-sm-first {\n    order: -1 !important;\n  }\n  .order-sm-0 {\n    order: 0 !important;\n  }\n  .order-sm-1 {\n    order: 1 !important;\n  }\n  .order-sm-2 {\n    order: 2 !important;\n  }\n  .order-sm-3 {\n    order: 3 !important;\n  }\n  .order-sm-4 {\n    order: 4 !important;\n  }\n  .order-sm-5 {\n    order: 5 !important;\n  }\n  .order-sm-last {\n    order: 6 !important;\n  }\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mx-sm-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-sm-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-sm-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-sm-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-sm-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-sm-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mt-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-sm-auto {\n    margin-top: auto !important;\n  }\n  .me-sm-0 {\n    margin-right: 0 !important;\n  }\n  .me-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .me-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .me-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-sm-0 {\n    margin-left: 0 !important;\n  }\n  .ms-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-sm-auto {\n    margin-left: auto !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .px-sm-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-sm-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-sm-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-sm-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-sm-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-sm-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pt-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pe-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-sm-0 {\n    padding-left: 0 !important;\n  }\n  .ps-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-sm-0 {\n    gap: 0 !important;\n  }\n  .gap-sm-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-sm-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-sm-3 {\n    gap: 1rem !important;\n  }\n  .gap-sm-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-sm-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-sm-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-sm-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-sm-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-sm-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-sm-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-sm-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-sm-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-sm-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-sm-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-sm-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-sm-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-sm-5 {\n    column-gap: 3rem !important;\n  }\n  .text-sm-start {\n    text-align: left !important;\n  }\n  .text-sm-end {\n    text-align: right !important;\n  }\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 768px) {\n  .float-md-start {\n    float: left !important;\n  }\n  .float-md-end {\n    float: right !important;\n  }\n  .float-md-none {\n    float: none !important;\n  }\n  .object-fit-md-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-md-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-md-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-md-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-md-none {\n    object-fit: none !important;\n  }\n  .d-md-inline {\n    display: inline !important;\n  }\n  .d-md-inline-block {\n    display: inline-block !important;\n  }\n  .d-md-block {\n    display: block !important;\n  }\n  .d-md-grid {\n    display: grid !important;\n  }\n  .d-md-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-md-table {\n    display: table !important;\n  }\n  .d-md-table-row {\n    display: table-row !important;\n  }\n  .d-md-table-cell {\n    display: table-cell !important;\n  }\n  .d-md-flex {\n    display: flex !important;\n  }\n  .d-md-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-md-none {\n    display: none !important;\n  }\n  .flex-md-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-md-row {\n    flex-direction: row !important;\n  }\n  .flex-md-column {\n    flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-md-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-md-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-md-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-md-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-md-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-md-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    justify-content: center !important;\n  }\n  .justify-content-md-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-md-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-md-start {\n    align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    align-items: center !important;\n  }\n  .align-items-md-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-md-start {\n    align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    align-content: center !important;\n  }\n  .align-content-md-between {\n    align-content: space-between !important;\n  }\n  .align-content-md-around {\n    align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    align-self: auto !important;\n  }\n  .align-self-md-start {\n    align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    align-self: center !important;\n  }\n  .align-self-md-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    align-self: stretch !important;\n  }\n  .order-md-first {\n    order: -1 !important;\n  }\n  .order-md-0 {\n    order: 0 !important;\n  }\n  .order-md-1 {\n    order: 1 !important;\n  }\n  .order-md-2 {\n    order: 2 !important;\n  }\n  .order-md-3 {\n    order: 3 !important;\n  }\n  .order-md-4 {\n    order: 4 !important;\n  }\n  .order-md-5 {\n    order: 5 !important;\n  }\n  .order-md-last {\n    order: 6 !important;\n  }\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mx-md-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-md-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-md-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-md-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-md-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-md-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-md-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-md-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-md-0 {\n    margin-top: 0 !important;\n  }\n  .mt-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-md-auto {\n    margin-top: auto !important;\n  }\n  .me-md-0 {\n    margin-right: 0 !important;\n  }\n  .me-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-md-3 {\n    margin-right: 1rem !important;\n  }\n  .me-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-md-5 {\n    margin-right: 3rem !important;\n  }\n  .me-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-md-0 {\n    margin-left: 0 !important;\n  }\n  .ms-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-md-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-md-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-md-auto {\n    margin-left: auto !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .px-md-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-md-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-md-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-md-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-md-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-md-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-md-0 {\n    padding-top: 0 !important;\n  }\n  .pt-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-md-0 {\n    padding-right: 0 !important;\n  }\n  .pe-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-md-0 {\n    padding-left: 0 !important;\n  }\n  .ps-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-md-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-md-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-md-0 {\n    gap: 0 !important;\n  }\n  .gap-md-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-md-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-md-3 {\n    gap: 1rem !important;\n  }\n  .gap-md-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-md-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-md-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-md-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-md-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-md-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-md-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-md-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-md-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-md-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-md-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-md-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-md-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-md-5 {\n    column-gap: 3rem !important;\n  }\n  .text-md-start {\n    text-align: left !important;\n  }\n  .text-md-end {\n    text-align: right !important;\n  }\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 992px) {\n  .float-lg-start {\n    float: left !important;\n  }\n  .float-lg-end {\n    float: right !important;\n  }\n  .float-lg-none {\n    float: none !important;\n  }\n  .object-fit-lg-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-lg-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-lg-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-lg-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-lg-none {\n    object-fit: none !important;\n  }\n  .d-lg-inline {\n    display: inline !important;\n  }\n  .d-lg-inline-block {\n    display: inline-block !important;\n  }\n  .d-lg-block {\n    display: block !important;\n  }\n  .d-lg-grid {\n    display: grid !important;\n  }\n  .d-lg-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-lg-table {\n    display: table !important;\n  }\n  .d-lg-table-row {\n    display: table-row !important;\n  }\n  .d-lg-table-cell {\n    display: table-cell !important;\n  }\n  .d-lg-flex {\n    display: flex !important;\n  }\n  .d-lg-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-lg-none {\n    display: none !important;\n  }\n  .flex-lg-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-lg-row {\n    flex-direction: row !important;\n  }\n  .flex-lg-column {\n    flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-lg-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-lg-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-lg-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-lg-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-lg-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-lg-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-lg-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-lg-start {\n    align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    align-content: center !important;\n  }\n  .align-content-lg-between {\n    align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    align-self: auto !important;\n  }\n  .align-self-lg-start {\n    align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    align-self: stretch !important;\n  }\n  .order-lg-first {\n    order: -1 !important;\n  }\n  .order-lg-0 {\n    order: 0 !important;\n  }\n  .order-lg-1 {\n    order: 1 !important;\n  }\n  .order-lg-2 {\n    order: 2 !important;\n  }\n  .order-lg-3 {\n    order: 3 !important;\n  }\n  .order-lg-4 {\n    order: 4 !important;\n  }\n  .order-lg-5 {\n    order: 5 !important;\n  }\n  .order-lg-last {\n    order: 6 !important;\n  }\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mx-lg-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-lg-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-lg-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-lg-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-lg-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-lg-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mt-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-lg-auto {\n    margin-top: auto !important;\n  }\n  .me-lg-0 {\n    margin-right: 0 !important;\n  }\n  .me-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .me-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .me-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-lg-0 {\n    margin-left: 0 !important;\n  }\n  .ms-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-lg-auto {\n    margin-left: auto !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .px-lg-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-lg-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-lg-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-lg-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-lg-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-lg-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pt-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pe-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-lg-0 {\n    padding-left: 0 !important;\n  }\n  .ps-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-lg-0 {\n    gap: 0 !important;\n  }\n  .gap-lg-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-lg-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-lg-3 {\n    gap: 1rem !important;\n  }\n  .gap-lg-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-lg-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-lg-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-lg-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-lg-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-lg-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-lg-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-lg-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-lg-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-lg-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-lg-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-lg-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-lg-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-lg-5 {\n    column-gap: 3rem !important;\n  }\n  .text-lg-start {\n    text-align: left !important;\n  }\n  .text-lg-end {\n    text-align: right !important;\n  }\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 1200px) {\n  .float-xl-start {\n    float: left !important;\n  }\n  .float-xl-end {\n    float: right !important;\n  }\n  .float-xl-none {\n    float: none !important;\n  }\n  .object-fit-xl-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-xl-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-xl-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-xl-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-xl-none {\n    object-fit: none !important;\n  }\n  .d-xl-inline {\n    display: inline !important;\n  }\n  .d-xl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xl-block {\n    display: block !important;\n  }\n  .d-xl-grid {\n    display: grid !important;\n  }\n  .d-xl-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-xl-table {\n    display: table !important;\n  }\n  .d-xl-table-row {\n    display: table-row !important;\n  }\n  .d-xl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xl-flex {\n    display: flex !important;\n  }\n  .d-xl-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-xl-none {\n    display: none !important;\n  }\n  .flex-xl-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-xl-row {\n    flex-direction: row !important;\n  }\n  .flex-xl-column {\n    flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-xl-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-xl-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-xl-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-xl-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-xl-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xl-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-xl-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-xl-start {\n    align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    align-content: center !important;\n  }\n  .align-content-xl-between {\n    align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    align-self: auto !important;\n  }\n  .align-self-xl-start {\n    align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    align-self: stretch !important;\n  }\n  .order-xl-first {\n    order: -1 !important;\n  }\n  .order-xl-0 {\n    order: 0 !important;\n  }\n  .order-xl-1 {\n    order: 1 !important;\n  }\n  .order-xl-2 {\n    order: 2 !important;\n  }\n  .order-xl-3 {\n    order: 3 !important;\n  }\n  .order-xl-4 {\n    order: 4 !important;\n  }\n  .order-xl-5 {\n    order: 5 !important;\n  }\n  .order-xl-last {\n    order: 6 !important;\n  }\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mx-xl-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-xl-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-xl-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-xl-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-xl-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-xl-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mt-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-xl-auto {\n    margin-top: auto !important;\n  }\n  .me-xl-0 {\n    margin-right: 0 !important;\n  }\n  .me-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .me-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .me-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-xl-0 {\n    margin-left: 0 !important;\n  }\n  .ms-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-xl-auto {\n    margin-left: auto !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .px-xl-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-xl-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-xl-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-xl-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-xl-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-xl-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pt-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pe-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-xl-0 {\n    padding-left: 0 !important;\n  }\n  .ps-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-xl-0 {\n    gap: 0 !important;\n  }\n  .gap-xl-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-xl-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-xl-3 {\n    gap: 1rem !important;\n  }\n  .gap-xl-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-xl-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-xl-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-xl-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-xl-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-xl-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-xl-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-xl-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-xl-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-xl-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-xl-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-xl-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-xl-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-xl-5 {\n    column-gap: 3rem !important;\n  }\n  .text-xl-start {\n    text-align: left !important;\n  }\n  .text-xl-end {\n    text-align: right !important;\n  }\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 1400px) {\n  .float-xxl-start {\n    float: left !important;\n  }\n  .float-xxl-end {\n    float: right !important;\n  }\n  .float-xxl-none {\n    float: none !important;\n  }\n  .object-fit-xxl-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-xxl-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-xxl-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-xxl-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-xxl-none {\n    object-fit: none !important;\n  }\n  .d-xxl-inline {\n    display: inline !important;\n  }\n  .d-xxl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xxl-block {\n    display: block !important;\n  }\n  .d-xxl-grid {\n    display: grid !important;\n  }\n  .d-xxl-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-xxl-table {\n    display: table !important;\n  }\n  .d-xxl-table-row {\n    display: table-row !important;\n  }\n  .d-xxl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xxl-flex {\n    display: flex !important;\n  }\n  .d-xxl-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-xxl-none {\n    display: none !important;\n  }\n  .flex-xxl-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-xxl-row {\n    flex-direction: row !important;\n  }\n  .flex-xxl-column {\n    flex-direction: column !important;\n  }\n  .flex-xxl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-xxl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-xxl-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-xxl-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-xxl-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-xxl-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-xxl-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-xxl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-xxl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xxl-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-xxl-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-xxl-center {\n    justify-content: center !important;\n  }\n  .justify-content-xxl-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-xxl-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-xxl-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-xxl-start {\n    align-items: flex-start !important;\n  }\n  .align-items-xxl-end {\n    align-items: flex-end !important;\n  }\n  .align-items-xxl-center {\n    align-items: center !important;\n  }\n  .align-items-xxl-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-xxl-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-xxl-start {\n    align-content: flex-start !important;\n  }\n  .align-content-xxl-end {\n    align-content: flex-end !important;\n  }\n  .align-content-xxl-center {\n    align-content: center !important;\n  }\n  .align-content-xxl-between {\n    align-content: space-between !important;\n  }\n  .align-content-xxl-around {\n    align-content: space-around !important;\n  }\n  .align-content-xxl-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-xxl-auto {\n    align-self: auto !important;\n  }\n  .align-self-xxl-start {\n    align-self: flex-start !important;\n  }\n  .align-self-xxl-end {\n    align-self: flex-end !important;\n  }\n  .align-self-xxl-center {\n    align-self: center !important;\n  }\n  .align-self-xxl-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-xxl-stretch {\n    align-self: stretch !important;\n  }\n  .order-xxl-first {\n    order: -1 !important;\n  }\n  .order-xxl-0 {\n    order: 0 !important;\n  }\n  .order-xxl-1 {\n    order: 1 !important;\n  }\n  .order-xxl-2 {\n    order: 2 !important;\n  }\n  .order-xxl-3 {\n    order: 3 !important;\n  }\n  .order-xxl-4 {\n    order: 4 !important;\n  }\n  .order-xxl-5 {\n    order: 5 !important;\n  }\n  .order-xxl-last {\n    order: 6 !important;\n  }\n  .m-xxl-0 {\n    margin: 0 !important;\n  }\n  .m-xxl-1 {\n    margin: 0.25rem !important;\n  }\n  .m-xxl-2 {\n    margin: 0.5rem !important;\n  }\n  .m-xxl-3 {\n    margin: 1rem !important;\n  }\n  .m-xxl-4 {\n    margin: 1.5rem !important;\n  }\n  .m-xxl-5 {\n    margin: 3rem !important;\n  }\n  .m-xxl-auto {\n    margin: auto !important;\n  }\n  .mx-xxl-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-xxl-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-xxl-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-xxl-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-xxl-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-xxl-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-xxl-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-xxl-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-xxl-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-xxl-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-xxl-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-xxl-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-xxl-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-xxl-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-xxl-0 {\n    margin-top: 0 !important;\n  }\n  .mt-xxl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-xxl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-xxl-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-xxl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-xxl-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-xxl-auto {\n    margin-top: auto !important;\n  }\n  .me-xxl-0 {\n    margin-right: 0 !important;\n  }\n  .me-xxl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-xxl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-xxl-3 {\n    margin-right: 1rem !important;\n  }\n  .me-xxl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-xxl-5 {\n    margin-right: 3rem !important;\n  }\n  .me-xxl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xxl-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-xxl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-xxl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-xxl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-xxl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-xxl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-xxl-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-xxl-0 {\n    margin-left: 0 !important;\n  }\n  .ms-xxl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-xxl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-xxl-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-xxl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-xxl-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-xxl-auto {\n    margin-left: auto !important;\n  }\n  .p-xxl-0 {\n    padding: 0 !important;\n  }\n  .p-xxl-1 {\n    padding: 0.25rem !important;\n  }\n  .p-xxl-2 {\n    padding: 0.5rem !important;\n  }\n  .p-xxl-3 {\n    padding: 1rem !important;\n  }\n  .p-xxl-4 {\n    padding: 1.5rem !important;\n  }\n  .p-xxl-5 {\n    padding: 3rem !important;\n  }\n  .px-xxl-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-xxl-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-xxl-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-xxl-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-xxl-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-xxl-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-xxl-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-xxl-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-xxl-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-xxl-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-xxl-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-xxl-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-xxl-0 {\n    padding-top: 0 !important;\n  }\n  .pt-xxl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-xxl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-xxl-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-xxl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-xxl-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-xxl-0 {\n    padding-right: 0 !important;\n  }\n  .pe-xxl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-xxl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-xxl-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-xxl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-xxl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xxl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-xxl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-xxl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-xxl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-xxl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-xxl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-xxl-0 {\n    padding-left: 0 !important;\n  }\n  .ps-xxl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-xxl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-xxl-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-xxl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-xxl-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-xxl-0 {\n    gap: 0 !important;\n  }\n  .gap-xxl-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-xxl-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-xxl-3 {\n    gap: 1rem !important;\n  }\n  .gap-xxl-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-xxl-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-xxl-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-xxl-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-xxl-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-xxl-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-xxl-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-xxl-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-xxl-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-xxl-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-xxl-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-xxl-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-xxl-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-xxl-5 {\n    column-gap: 3rem !important;\n  }\n  .text-xxl-start {\n    text-align: left !important;\n  }\n  .text-xxl-end {\n    text-align: right !important;\n  }\n  .text-xxl-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 1200px) {\n  .fs-1 {\n    font-size: 2.5rem !important;\n  }\n  .fs-2 {\n    font-size: 2rem !important;\n  }\n  .fs-3 {\n    font-size: 1.75rem !important;\n  }\n  .fs-4 {\n    font-size: 1.5rem !important;\n  }\n}\n@media print {\n  .d-print-inline {\n    display: inline !important;\n  }\n  .d-print-inline-block {\n    display: inline-block !important;\n  }\n  .d-print-block {\n    display: block !important;\n  }\n  .d-print-grid {\n    display: grid !important;\n  }\n  .d-print-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-print-table {\n    display: table !important;\n  }\n  .d-print-table-row {\n    display: table-row !important;\n  }\n  .d-print-table-cell {\n    display: table-cell !important;\n  }\n  .d-print-flex {\n    display: flex !important;\n  }\n  .d-print-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-print-none {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap-utilities.css.map */\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","// scss-docs-start clearfix\n@mixin clearfix() {\n  &::after {\n    display: block;\n    clear: both;\n    content: \"\";\n  }\n}\n// scss-docs-end clearfix\n","// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n@each $color, $value in $theme-colors {\n  .text-bg-#{$color} {\n    color: color-contrast($value) if($enable-important-utilities, !important, null);\n    background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);\n  }\n}\n","// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n@each $color, $value in $theme-colors {\n  .link-#{$color} {\n    color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);\n    text-decoration-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);\n\n    @if $link-shade-percentage != 0 {\n      &:hover,\n      &:focus {\n        $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n        color: RGBA(#{to-rgb($hover-color)}, var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);\n        text-decoration-color: RGBA(to-rgb($hover-color), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);\n      }\n    }\n  }\n}\n\n// One-off special link helper as a bridge until v6\n.link-body-emphasis {\n  color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);\n  text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);\n\n  @if $link-shade-percentage != 0 {\n    &:hover,\n    &:focus {\n      color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, .75)) if($enable-important-utilities, !important, null);\n      text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, .75)) if($enable-important-utilities, !important, null);\n    }\n  }\n}\n",".focus-ring:focus {\n  outline: 0;\n  // By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values\n  box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color);\n}\n",".icon-link {\n  display: inline-flex;\n  gap: $icon-link-gap;\n  align-items: center;\n  text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}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(--#{$prefix}icon-link-transform, $icon-link-icon-transform);\n    }\n  }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white:    #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black:    #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n  \"100\": $gray-100,\n  \"200\": $gray-200,\n  \"300\": $gray-300,\n  \"400\": $gray-400,\n  \"500\": $gray-500,\n  \"600\": $gray-600,\n  \"700\": $gray-700,\n  \"800\": $gray-800,\n  \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue:    #0d6efd !default;\n$indigo:  #6610f2 !default;\n$purple:  #6f42c1 !default;\n$pink:    #d63384 !default;\n$red:     #dc3545 !default;\n$orange:  #fd7e14 !default;\n$yellow:  #ffc107 !default;\n$green:   #198754 !default;\n$teal:    #20c997 !default;\n$cyan:    #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n  \"blue\":       $blue,\n  \"indigo\":     $indigo,\n  \"purple\":     $purple,\n  \"pink\":       $pink,\n  \"red\":        $red,\n  \"orange\":     $orange,\n  \"yellow\":     $yellow,\n  \"green\":      $green,\n  \"teal\":       $teal,\n  \"cyan\":       $cyan,\n  \"black\":      $black,\n  \"white\":      $white,\n  \"gray\":       $gray-600,\n  \"gray-dark\":  $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.2 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG/#contrast-minimum\n$min-contrast-ratio:   4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark:      $black !default;\n$color-contrast-light:     $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n  \"blue-100\": $blue-100,\n  \"blue-200\": $blue-200,\n  \"blue-300\": $blue-300,\n  \"blue-400\": $blue-400,\n  \"blue-500\": $blue-500,\n  \"blue-600\": $blue-600,\n  \"blue-700\": $blue-700,\n  \"blue-800\": $blue-800,\n  \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n  \"indigo-100\": $indigo-100,\n  \"indigo-200\": $indigo-200,\n  \"indigo-300\": $indigo-300,\n  \"indigo-400\": $indigo-400,\n  \"indigo-500\": $indigo-500,\n  \"indigo-600\": $indigo-600,\n  \"indigo-700\": $indigo-700,\n  \"indigo-800\": $indigo-800,\n  \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n  \"purple-100\": $purple-100,\n  \"purple-200\": $purple-200,\n  \"purple-300\": $purple-300,\n  \"purple-400\": $purple-400,\n  \"purple-500\": $purple-500,\n  \"purple-600\": $purple-600,\n  \"purple-700\": $purple-700,\n  \"purple-800\": $purple-800,\n  \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n  \"pink-100\": $pink-100,\n  \"pink-200\": $pink-200,\n  \"pink-300\": $pink-300,\n  \"pink-400\": $pink-400,\n  \"pink-500\": $pink-500,\n  \"pink-600\": $pink-600,\n  \"pink-700\": $pink-700,\n  \"pink-800\": $pink-800,\n  \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n  \"red-100\": $red-100,\n  \"red-200\": $red-200,\n  \"red-300\": $red-300,\n  \"red-400\": $red-400,\n  \"red-500\": $red-500,\n  \"red-600\": $red-600,\n  \"red-700\": $red-700,\n  \"red-800\": $red-800,\n  \"red-900\": $red-900\n) !default;\n\n$oranges: (\n  \"orange-100\": $orange-100,\n  \"orange-200\": $orange-200,\n  \"orange-300\": $orange-300,\n  \"orange-400\": $orange-400,\n  \"orange-500\": $orange-500,\n  \"orange-600\": $orange-600,\n  \"orange-700\": $orange-700,\n  \"orange-800\": $orange-800,\n  \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n  \"yellow-100\": $yellow-100,\n  \"yellow-200\": $yellow-200,\n  \"yellow-300\": $yellow-300,\n  \"yellow-400\": $yellow-400,\n  \"yellow-500\": $yellow-500,\n  \"yellow-600\": $yellow-600,\n  \"yellow-700\": $yellow-700,\n  \"yellow-800\": $yellow-800,\n  \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n  \"green-100\": $green-100,\n  \"green-200\": $green-200,\n  \"green-300\": $green-300,\n  \"green-400\": $green-400,\n  \"green-500\": $green-500,\n  \"green-600\": $green-600,\n  \"green-700\": $green-700,\n  \"green-800\": $green-800,\n  \"green-900\": $green-900\n) !default;\n\n$teals: (\n  \"teal-100\": $teal-100,\n  \"teal-200\": $teal-200,\n  \"teal-300\": $teal-300,\n  \"teal-400\": $teal-400,\n  \"teal-500\": $teal-500,\n  \"teal-600\": $teal-600,\n  \"teal-700\": $teal-700,\n  \"teal-800\": $teal-800,\n  \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n  \"cyan-100\": $cyan-100,\n  \"cyan-200\": $cyan-200,\n  \"cyan-300\": $cyan-300,\n  \"cyan-400\": $cyan-400,\n  \"cyan-500\": $cyan-500,\n  \"cyan-600\": $cyan-600,\n  \"cyan-700\": $cyan-700,\n  \"cyan-800\": $cyan-800,\n  \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary:       $blue !default;\n$secondary:     $gray-600 !default;\n$success:       $green !default;\n$info:          $cyan !default;\n$warning:       $yellow !default;\n$danger:        $red !default;\n$light:         $gray-100 !default;\n$dark:          $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// scss-docs-start theme-text-variables\n$primary-text-emphasis:   shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis:   shade-color($success, 60%) !default;\n$info-text-emphasis:      shade-color($info, 60%) !default;\n$warning-text-emphasis:   shade-color($warning, 60%) !default;\n$danger-text-emphasis:    shade-color($danger, 60%) !default;\n$light-text-emphasis:     $gray-700 !default;\n$dark-text-emphasis:      $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle:       tint-color($primary, 80%) !default;\n$secondary-bg-subtle:     tint-color($secondary, 80%) !default;\n$success-bg-subtle:       tint-color($success, 80%) !default;\n$info-bg-subtle:          tint-color($info, 80%) !default;\n$warning-bg-subtle:       tint-color($warning, 80%) !default;\n$danger-bg-subtle:        tint-color($danger, 80%) !default;\n$light-bg-subtle:         mix($gray-100, $white) !default;\n$dark-bg-subtle:          $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle:   tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle:   tint-color($success, 60%) !default;\n$info-border-subtle:      tint-color($info, 60%) !default;\n$warning-border-subtle:   tint-color($warning, 60%) !default;\n$danger-border-subtle:    tint-color($danger, 60%) !default;\n$light-border-subtle:     $gray-200 !default;\n$dark-border-subtle:      $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\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$enable-important-utilities:  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\n$variable-prefix:             bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix:                      $variable-prefix !default;\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$body-color:                $gray-900 !default;\n$body-bg:                   $white !default;\n\n$body-secondary-color:      rgba($body-color, .75) !default;\n$body-secondary-bg:         $gray-200 !default;\n\n$body-tertiary-color:       rgba($body-color, .5) !default;\n$body-tertiary-bg:          $gray-100 !default;\n\n$body-emphasis-color:       $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              $primary !default;\n$link-decoration:                         underline !default;\n$link-shade-percentage:                   20% !default;\n$link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration:                   null !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// 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: 992px,\n  xl: 1200px,\n  xxl: 1400px\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\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: 1140px,\n  xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\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// Container padding\n\n$container-padding-x: $grid-gutter-width !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:                $gray-300 !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .375rem !default;\n$border-radius-sm:            .25rem !default;\n$border-radius-lg:            .5rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-xxl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl:           $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\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$component-active-color:      $white !default;\n$component-active-bg:         $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      rgba($primary, $focus-ring-opacity) !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// scss-docs-start caret-variables\n$caret-width:                 .3em !default;\n$caret-vertical-align:        $caret-width * .85 !default;\n$caret-spacing:               $caret-width * .85 !default;\n// scss-docs-end caret-variables\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// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"1x1\": 100%,\n  \"4x3\": calc(3 / 4 * 100%),\n  \"16x9\": calc(9 / 16 * 100%),\n  \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\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(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}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:              null !default;\n$font-size-base:              1rem !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:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n  1: $h1-font-size,\n  2: $h2-font-size,\n  3: $h3-font-size,\n  4: $h4-font-size,\n  5: $h5-font-size,\n  6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\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 display-headings\n$display-font-sizes: (\n  1: 5rem,\n  2: 4.5rem,\n  3: 4rem,\n  4: 3.5rem,\n  5: 3rem,\n  6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style:  null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size:              $font-size-base * 1.25 !default;\n$lead-font-weight:            300 !default;\n\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n// fusv-disable\n$text-muted:                  var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\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:     $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n// fusv-disable\n$hr-bg-color:                 null !default; // Deprecated in v5.2.0\n$hr-height:                   null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}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:                  $body-color !default;\n$mark-bg:                     $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\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(--#{$prefix}emphasis-color) !default;\n$table-bg:                    var(--#{$prefix}body-bg) !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:            rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor:         .2 !default;\n$table-border-width:          var(--#{$prefix}border-width) !default;\n$table-border-color:          var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale:              -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n  \"primary\":    shift-color($primary, $table-bg-scale),\n  \"secondary\":  shift-color($secondary, $table-bg-scale),\n  \"success\":    shift-color($success, $table-bg-scale),\n  \"info\":       shift-color($info, $table-bg-scale),\n  \"warning\":    shift-color($warning, $table-bg-scale),\n  \"danger\":     shift-color($danger, $table-bg-scale),\n  \"light\":      $light,\n  \"dark\":       $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\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(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}body-color) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     $gray-600 !default;\n$btn-link-focus-shadow-rgb:   to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount:       15% !default;\n$btn-hover-bg-tint-amount:        15% !default;\n$btn-hover-border-shade-amount:   20% !default;\n$btn-hover-border-tint-amount:    10% !default;\n$btn-active-bg-shade-amount:      20% !default;\n$btn-active-bg-tint-amount:       20% !default;\n$btn-active-border-shade-amount:  25% !default;\n$btn-active-border-tint-amount:   10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\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(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\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// 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(--#{$prefix}body-bg) !default;\n$input-disabled-color:                  null !default;\n$input-disabled-bg:                     var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color:           null !default;\n\n$input-color:                           var(--#{$prefix}body-color) !default;\n$input-border-color:                    var(--#{$prefix}border-color) !default;\n$input-border-width:                    $input-btn-border-width !default;\n$input-box-shadow:                      var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius:                   var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm:                var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg:                var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              tint-color($component-active-bg, 50%) !default;\n$input-focus-color:                     $input-color !default;\n$input-focus-width:                     $input-btn-focus-width !default;\n$input-focus-box-shadow:                $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color:               var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color:                 var(--#{$prefix}body-color) !default;\n\n$input-height-border:                   calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\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\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-check-variables\n$form-check-input-width:                  1em !default;\n$form-check-min-height:                   $font-size-base * $line-height-base !default;\n$form-check-padding-start:                $form-check-input-width + .5em !default;\n$form-check-margin-bottom:                .125rem !default;\n$form-check-label-color:                  null !default;\n$form-check-label-cursor:                 null !default;\n$form-check-transition:                   null !default;\n\n$form-check-input-active-filter:          brightness(90%) !default;\n\n$form-check-input-bg:                     $input-bg !default;\n$form-check-input-border:                 var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius:          .25em !default;\n$form-check-radio-border-radius:          50% !default;\n$form-check-input-focus-border:           $input-focus-border-color !default;\n$form-check-input-focus-box-shadow:       $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color:          $component-active-color !default;\n$form-check-input-checked-bg-color:       $component-active-bg !default;\n$form-check-input-checked-border-color:   $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color:          $component-active-color !default;\n$form-check-input-indeterminate-bg-color:       $component-active-bg !default;\n$form-check-input-indeterminate-border-color:   $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity:        .5 !default;\n$form-check-label-disabled-opacity:        $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity:    $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end:    1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color:               rgba($black, .25) !default;\n$form-switch-width:               2em !default;\n$form-switch-padding-start:       $form-switch-width + .5em !default;\n$form-switch-bg-image:            url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius:       $form-switch-width !default;\n$form-switch-transition:          background-position .15s ease-in-out !default;\n\n$form-switch-focus-color:         $input-focus-border-color !default;\n$form-switch-focus-bg-image:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color:       $component-active-color !default;\n$form-switch-checked-bg-image:    url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\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(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y:             $input-padding-y !default;\n$form-select-padding-x:             $input-padding-x !default;\n$form-select-font-family:           $input-font-family !default;\n$form-select-font-size:             $input-font-size !default;\n$form-select-indicator-padding:     $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight:           $input-font-weight !default;\n$form-select-line-height:           $input-line-height !default;\n$form-select-color:                 $input-color !default;\n$form-select-bg:                    $input-bg !default;\n$form-select-disabled-color:        null !default;\n$form-select-disabled-bg:           $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position:           right $form-select-padding-x center !default;\n$form-select-bg-size:               16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color:       $gray-800 !default;\n$form-select-indicator:             url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position:    center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size:        $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width:        $input-border-width !default;\n$form-select-border-color:        $input-border-color !default;\n$form-select-border-radius:       $input-border-radius !default;\n$form-select-box-shadow:          var(--#{$prefix}box-shadow-inset) !default;\n\n$form-select-focus-border-color:  $input-focus-border-color !default;\n$form-select-focus-width:         $input-focus-width !default;\n$form-select-focus-box-shadow:    0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm:        $input-padding-y-sm !default;\n$form-select-padding-x-sm:        $input-padding-x-sm !default;\n$form-select-font-size-sm:        $input-font-size-sm !default;\n$form-select-border-radius-sm:    $input-border-radius-sm !default;\n\n$form-select-padding-y-lg:        $input-padding-y-lg !default;\n$form-select-padding-x-lg:        $input-padding-x-lg !default;\n$form-select-font-size-lg:        $input-font-size-lg !default;\n$form-select-border-radius-lg:    $input-border-radius-lg !default;\n\n$form-select-transition:          $input-transition !default;\n// scss-docs-end form-select-variables\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(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--#{$prefix}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-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--#{$prefix}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// scss-docs-start form-file-variables\n$form-file-button-color:          $input-color !default;\n$form-file-button-bg:             var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  add(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:    $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// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          $form-text-margin-top !default;\n$form-feedback-font-size:           $form-text-font-size !default;\n$form-feedback-font-style:          $form-text-font-style !default;\n$form-feedback-valid-color:         $success !default;\n$form-feedback-invalid-color:       $danger !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' 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(--#{$prefix}form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}success),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-valid-border-color),\n  ),\n  \"invalid\": (\n    \"color\": var(--#{$prefix}form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}danger),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-invalid-border-color),\n  )\n) !default;\n// scss-docs-end form-validation-states\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-modal-backdrop:             1050 !default;\n$zindex-modal:                      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// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-font-size:                null !default;\n$nav-link-font-weight:              null !default;\n$nav-link-color:                    var(--#{$prefix}link-color) !default;\n$nav-link-hover-color:              var(--#{$prefix}link-hover-color) !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(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow:         $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color:             var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width:             var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius:            var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color:        var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg:           var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius:           var(--#{$prefix}border-radius) !default;\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(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\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:         .5rem !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$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-padding-y:            ($nav-link-height - $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:      $btn-border-radius !default;\n$navbar-toggler-focus-width:        $btn-focus-width !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color:          rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color:         rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color:       rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color:           rgba($body-color, .75) !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: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !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\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                0 !default;\n$dropdown-padding-y:                .5rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--#{$prefix}body-color) !default;\n$dropdown-bg:                       var(--#{$prefix}body-bg) !default;\n$dropdown-border-color:             var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius:            var(--#{$prefix}border-radius) !default;\n$dropdown-border-width:             var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .5 !default;\n$dropdown-box-shadow:               var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color:               var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--#{$prefix}tertiary-bg) !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(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer !default;\n\n$dropdown-header-color:             $gray-600 !default;\n$dropdown-header-padding-x:         $dropdown-item-padding-x !default;\n$dropdown-header-padding-y:         $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding:           $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color:               $gray-300 !default;\n$dropdown-dark-bg:                  $gray-800 !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: $gray-500 !default;\n$dropdown-dark-header-color:        $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\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(--#{$prefix}link-color) !default;\n$pagination-bg:                     var(--#{$prefix}body-bg) !default;\n$pagination-border-radius:          var(--#{$prefix}border-radius) !default;\n$pagination-border-width:           var(--#{$prefix}border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color:           var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg:               var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow:       $focus-ring-box-shadow !default;\n$pagination-focus-outline:          0 !default;\n\n$pagination-hover-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg:               var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color:     var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg:            var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color:  var(--#{$prefix}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(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\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// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y:                     $spacer !default;\n$card-spacer-x:                     $spacer !default;\n$card-title-spacer-y:               $spacer * .5 !default;\n$card-title-color:                  null !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--#{$prefix}border-width) !default;\n$card-border-color:                 var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius:                var(--#{$prefix}border-radius) !default;\n$card-box-shadow:                   null !default;\n$card-inner-border-radius:          subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y:                $card-spacer-y * .5 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y:                     1rem !default;\n$accordion-padding-x:                     1.25rem !default;\n$accordion-color:                         var(--#{$prefix}body-color) !default;\n$accordion-bg:                            var(--#{$prefix}body-bg) !default;\n$accordion-border-width:                  var(--#{$prefix}border-width) !default;\n$accordion-border-color:                  var(--#{$prefix}border-color) !default;\n$accordion-border-radius:                 var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius:           subtract($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(--#{$prefix}body-color) !default;\n$accordion-button-bg:                     var(--#{$prefix}accordion-bg) !default;\n$accordion-transition:                    $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color:           var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color:     $input-focus-border-color !default; // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow:       $btn-focus-box-shadow !default;\n\n$accordion-icon-width:                    1.25rem !default;\n$accordion-icon-color:                    $body-color !default;\n$accordion-icon-active-color:             $primary-text-emphasis !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n\n$accordion-button-icon:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n$accordion-button-active-icon:  url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 $font-size-sm !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--#{$prefix}body-bg) !default;\n$tooltip-bg:                        var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius:             var(--#{$prefix}border-radius) !default;\n$tooltip-opacity:                   .9 !default;\n$tooltip-padding-y:                 $spacer * .25 !default;\n$tooltip-padding-x:                 $spacer * .5 !default;\n$tooltip-margin:                    null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width:               .8rem !default;\n$tooltip-arrow-height:              .4rem !default;\n// fusv-disable\n$tooltip-arrow-color:               null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\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// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size:                 $font-size-sm !default;\n$popover-bg:                        var(--#{$prefix}body-bg) !default;\n$popover-max-width:                 276px !default;\n$popover-border-width:              var(--#{$prefix}border-width) !default;\n$popover-border-color:              var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius:             var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow:                var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--#{$prefix}secondary-bg) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          .5rem !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--#{$prefix}body-color) !default;\n$popover-body-padding-y:            $spacer !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// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color:               $popover-bg !default;\n$popover-arrow-outer-color:         var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\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(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width:                var(--#{$prefix}border-width) !default;\n$toast-border-color:                var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius:               var(--#{$prefix}border-radius) !default;\n$toast-box-shadow:                  var(--#{$prefix}box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color:     rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color:         $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size:                   .75em !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-color:                       $white !default;\n$badge-padding-y:                   .35em !default;\n$badge-padding-x:                   .65em !default;\n$badge-border-radius:               var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding:               $spacer !default;\n\n$modal-footer-margin-between:       .5rem !default;\n\n$modal-dialog-margin:               .5rem !default;\n$modal-dialog-margin-y-sm-up:       1.75rem !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-color:               var(--#{$prefix}body-color) !default;\n$modal-content-bg:                  var(--#{$prefix}body-bg) !default;\n$modal-content-border-color:        var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width:        var(--#{$prefix}border-width) !default;\n$modal-content-border-radius:       var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs:       var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up:    var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n\n$modal-header-border-color:         var(--#{$prefix}border-color) !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-header-padding-y:            $modal-inner-padding !default;\n$modal-header-padding-x:            $modal-inner-padding !default;\n$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg:                   null !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n\n$modal-sm:                          300px !default;\n$modal-md:                          500px !default;\n$modal-lg:                          800px !default;\n$modal-xl:                          1140px !default;\n\n$modal-fade-transform:              translate(0, -50px) !default;\n$modal-show-transform:              none !default;\n$modal-transition:                  transform .3s ease-out !default;\n$modal-scale-transform:             scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-margin-bottom:           1rem !default;\n$alert-border-radius:           var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight:        $font-weight-bold !default;\n$alert-border-width:            var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r:   $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale:                -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale:            -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale:             40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\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(--#{$prefix}secondary-bg) !default;\n$progress-border-radius:            var(--#{$prefix}border-radius) !default;\n$progress-box-shadow:               var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   $primary !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// List group\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--#{$prefix}body-color) !default;\n$list-group-bg:                     var(--#{$prefix}body-bg) !default;\n$list-group-border-color:           var(--#{$prefix}border-color) !default;\n$list-group-border-width:           var(--#{$prefix}border-width) !default;\n$list-group-border-radius:          var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y:         $spacer * .5 !default;\n$list-group-item-padding-x:         $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale:          -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale:       40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg:               var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color:     var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color:    var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width:            var(--#{$prefix}border-width) !default;\n$thumbnail-border-color:            var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius:           var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow:              var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\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-item-padding-x:         .5rem !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color:           var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider:                quote(\"/\") !default;\n$breadcrumb-divider-flipped:        $breadcrumb-divider !default;\n$breadcrumb-border-radius:          null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\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-dark-indicator-active-bg:  $black !default; // Deprecated in v5.3.4\n$carousel-dark-caption-color:        $black !default; // Deprecated in v5.3.4\n$carousel-dark-control-icon-filter:  invert(1) grayscale(100) !default; // Deprecated in v5.3.4\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\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// Close\n\n// scss-docs-start close-variables\n$btn-close-width:            1em !default;\n$btn-close-height:           $btn-close-width !default;\n$btn-close-padding-x:        .25em !default;\n$btn-close-padding-y:        $btn-close-padding-x !default;\n$btn-close-color:            $black !default;\n$btn-close-bg:               url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>\") !default;\n$btn-close-focus-shadow:     $focus-ring-box-shadow !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-filter:           null !default;\n$btn-close-white-filter:     invert(1) grayscale(100%) brightness(200%) !default; // Deprecated in v5.3.4\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $modal-inner-padding !default;\n$offcanvas-padding-x:               $modal-inner-padding !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            $modal-content-border-color !default;\n$offcanvas-border-width:            $modal-content-border-width !default;\n$offcanvas-title-line-height:       $modal-title-line-height !default;\n$offcanvas-bg-color:                var(--#{$prefix}body-bg) !default;\n$offcanvas-color:                   var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow:              $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg:             $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity:        $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    $small-font-size !default;\n$code-color:                        $pink !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(--#{$prefix}body-bg) !default;\n$kbd-bg:                            var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight:            null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color:                         null !default;\n\n@import \"variables-dark\"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\n","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n  position: relative;\n  width: 100%;\n\n  &::before {\n    display: block;\n    padding-top: var(--#{$prefix}aspect-ratio);\n    content: \"\";\n  }\n\n  > * {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n  }\n}\n\n@each $key, $ratio in $aspect-ratios {\n  .ratio-#{$key} {\n    --#{$prefix}aspect-ratio: #{$ratio};\n  }\n}\n","// Shorthand\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 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","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n  }\n  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n//    >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $max: map-get($breakpoints, $name);\n  @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// scss-docs-start stacks\n.hstack {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  align-self: stretch;\n}\n\n.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// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n  @include visually-hidden();\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","//\n// Stretched link\n//\n\n.stretched-link {\n  &::#{$stretched-link-pseudo-element} {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    z-index: $stretched-link-z-index;\n    content: \"\";\n  }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n  @include text-truncate();\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",".vr {\n  display: inline-block;\n  align-self: stretch;\n  width: $vr-border-width;\n  min-height: 1em;\n  background-color: currentcolor;\n  opacity: $hr-opacity;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n  $values: map-get($utility, values);\n\n  // If the values are a list or string, convert it into a map\n  @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n    $values: zip($values, $values);\n  }\n\n  @each $key, $value in $values {\n    $properties: map-get($utility, property);\n\n    // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n    @if type-of($properties) == \"string\" {\n      $properties: append((), $properties);\n    }\n\n    // Use custom class if present\n    $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n    $property-class: if($property-class == null, \"\", $property-class);\n\n    // Use custom CSS variable name if present, otherwise default to `class`\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 pseudo-classes\n    $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n    $infix: if($property-class == \"\" 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    $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    @if map-get($utility, rfs) {\n      // Inside the media query\n      @if $is-rfs-media-query {\n        $val: rfs-value($value);\n\n        // Do not render anything if fluid and non fluid values are the same\n        $value: if($val == rfs-fluid-value($value), null, $val);\n      }\n      @else {\n        $value: rfs-fluid-value($value);\n      }\n    }\n\n    $is-css-var: map-get($utility, css-var);\n    $is-local-vars: map-get($utility, local-vars);\n    $is-rtl: map-get($utility, rtl);\n\n    @if $value != null {\n      @if $is-rtl == false {\n        /* rtl:begin:remove */\n      }\n\n      @if $is-css-var {\n        .#{$property-class + $infix + $property-class-modifier} {\n          --#{$prefix}#{$css-variable-name}: #{$value};\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            --#{$prefix}#{$css-variable-name}: #{$value};\n          }\n        }\n      } @else {\n        .#{$property-class + $infix + $property-class-modifier} {\n          @each $property in $properties {\n            @if $is-local-vars {\n              @each $local-var, $variable in $is-local-vars {\n                --#{$prefix}#{$local-var}: #{$variable};\n              }\n            }\n            #{$property}: $value if($enable-important-utilities, !important, null);\n          }\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            @each $property in $properties {\n              @if $is-local-vars {\n                @each $local-var, $variable in $is-local-vars {\n                  --#{$prefix}#{$local-var}: #{$variable};\n                }\n              }\n              #{$property}: $value if($enable-important-utilities, !important, null);\n            }\n          }\n        }\n      }\n\n      @if $is-rtl == false {\n        /* rtl:end:remove */\n      }\n    }\n  }\n}\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 type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n        @include generate-utility($utility, $infix);\n      }\n    }\n  }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n  @each $breakpoint in map-keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\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 type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix, true);\n        }\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 type-of($utility) == \"map\" and map-get($utility, print) == true {\n      @include generate-utility($utility, \"-print\");\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../scss/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_color-mode.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.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":"AAEA;AAAA;AAAA;AAAA;AAAA;ACSA;AAEA;EACE;EAKM;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAQJ;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAKE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAIJ;EACA;;;AAGF;AAAA;EAoCE;EACA;EAMA;EACA;EACA;EAOA;EC8JI,qBALI;EDvJR;EACA;EAOE;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAKA;EAAA;EAAA;EAAA;EAAA;EAAA;EAAA;EAKA;EAAA;EAAA;EAAA;EAGF;EACA;EACA;EACA;EAgBA;EASA;EACA;EACA;EAMA;EACA;EACA;EAGA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EAQA;EACA;EACA;EACA;EAKA;EACA;EACA;EACA;;;AE9KE;EFoLA;EAGA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EAcA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AGnPJ;EAGI;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;;ACJN;EAEI;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EAOR;IACE;IACA;;EAGE;IAEE;IACA;;;AC7BR;EACE;IACE;;;ACAJ;EACE;IACE;IACA,KC4K0B;ID3K1B;IACA;IACA,uBC0K0B;IDzK1B;;EAEA;IACE;IACA,OCsKwB;IDrKxB,QCqKwB;IDpKxB;IEEA,YFDA;;EEKA;IFVF;MEWI;;;EFCF;IACE;;;AGrBR;EACE;IACE;IACA;IACA;IACA;IACA,SFocgC;;EEjclC;IACE;IACA;IACA;IACA;IACA,SF4bgC;;EEpb9B;IACE;IACA;IACA,SFgb4B;;EE7a9B;IACE;IACA;IACA,SF0a4B;;EG3YhC;IDxCE;MACE;MACA;MACA,SFgb4B;;IE7a9B;MACE;MACA;MACA,SF0a4B;;;EG3YhC;IDxCE;MACE;MACA;MACA,SFgb4B;;IE7a9B;MACE;MACA;MACA,SF0a4B;;;EG3YhC;IDxCE;MACE;MACA;MACA,SFgb4B;;IE7a9B;MACE;MACA;MACA,SF0a4B;;;EG3YhC;IDxCE;MACE;MACA;MACA,SFgb4B;;IE7a9B;MACE;MACA;MACA,SF0a4B;;;EG3YhC;IDxCE;MACE;MACA;MACA,SFgb4B;;IE7a9B;MACE;MACA;MACA,SF0a4B;;;;AI9cpC;EAEE;IACE;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;;;ACXJ;EACE;AAAA;ICKA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGA;AAAA;IACE;;EAIF;AAAA;IACE;;;ACtBJ;EAEI;IACE;IACA;IACA;IACA;IACA;IACA,SPqKoC;IOpKpC;;;ACTN;EACE;ICCA;IACA;IACA;;;ACJF;EACE;IACE;IACA;IACA,OV6V0B;IU5V1B;IACA;IACA,SVuV0B;;;AWvV9B;ECoEQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;AArBJ;EAcA;IAOI;IAAA;;AAmBJ;EA1BA;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;ETjBR;ISUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;ETjBR;ISUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;ETjBR;ISUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;ETjBR;ISUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;ETjBR;ISUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;EDvDV;ICgDM;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;EDpCV;IC6BM;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI","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 \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"vendor/rfs\" 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, helpers, custom, utilities;\n\n:root {\n  color-scheme: light dark;\n\n  @each $color-group-name, $color-group in $all-colors {\n    @if meta.type-of($color-group) == \"map\" {\n      @each $color-name, $color-value in $color-group {\n        --#{$prefix}#{$color-name}: #{$color-value};\n      }\n    } @else {\n      --#{$prefix}#{$color-group-name}: #{$color-group};\n    }\n  }\n\n  @each $color, $value in $theme-colors {\n    --#{$prefix}#{$color}: #{$value};\n  }\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$prefix}#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  --#{$prefix}black: #{$black};\n  --#{$prefix}white: #{$white};\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Colors\n  //\n  // Generate palettes for full colors, grays, and theme colors.\n\n  // @each $color, $value in $colors {\n  //   --#{$prefix}#{$color}: #{$value};\n  // }\n\n  // @each $color, $value in $grays {\n  //   --#{$prefix}gray-#{$color}: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors {\n  //   --#{$prefix}#{$color}: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-rgb {\n  //   --#{$prefix}#{$color}-rgb: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-text {\n  //   --#{$prefix}#{$color}-text-emphasis: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-bg-subtle {\n  //   --#{$prefix}#{$color}-bg-subtle: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-border-subtle {\n  //   --#{$prefix}#{$color}-border-subtle: #{$value};\n  // }\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\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  --#{$prefix}font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{meta.inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{meta.inspect($font-family-base)};\n  @include rfs($font-size-base, --#{$prefix}body-font-size);\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  @each $key, $value in $theme-bgs {\n    $key: if($key == null, \"\", \"-\" + $key);\n    --#{$prefix}bg#{$key}: #{$value};\n  }\n\n  @each $key, $value in $theme-fgs {\n    $key: if($key == null, \"\", \"-\" + $key);\n    --#{$prefix}fg#{$key}: #{$value};\n  }\n\n  @each $key, $value in $theme-borders {\n    $key: if($key == null, \"\", \"-\" + $key);\n    --#{$prefix}border#{$key}: #{$value};\n  }\n\n  --#{$prefix}body-color: #{$body-color};\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg: #{$body-bg};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n  // --#{$prefix}emphasis-color: #{$body-emphasis-color};\n  // --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n  // --#{$prefix}secondary-color: #{$body-secondary-color};\n  // --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n  // --#{$prefix}secondary-bg: #{$body-secondary-bg};\n  // --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n  // --#{$prefix}tertiary-color: #{$body-tertiary-color};\n  // --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n  // --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n  // --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  // --#{$prefix}link-color: #{$link-color};\n  // --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n  // --#{$prefix}link-decoration: #{$link-decoration};\n\n  // --#{$prefix}link-hover-color: #{$link-hover-color};\n  // --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n  --#{$prefix}link-color: light-dark(var(--#{$prefix}primary-base), var(--#{$prefix}primary-text));\n  --#{$prefix}link-decoration: #{$link-decoration};\n  --#{$prefix}link-hover-color: color-mix(in oklch, var(--#{$prefix}link-color) 90%, #000);\n\n  @if $link-hover-decoration != null {\n    --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n  }\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  // --#{$prefix}focus-ring-width: #{$focus-ring-width};\n  // --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n  // --#{$prefix}focus-ring-color: #{$focus-ring-color};\n\n  --#{$prefix}focus-ring-width: 3px;\n  --#{$prefix}focus-ring-offset: -1px;\n  --#{$prefix}focus-ring-color: var(--#{$prefix}primary-focus-ring);\n  --#{$prefix}focus-ring: var(--#{$prefix}focus-ring-width) solid var(--#{$prefix}focus-ring-color);\n\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}body-color: #{$body-color-dark};\n    --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n    --#{$prefix}body-bg: #{$body-bg-dark};\n    --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n    --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n    --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n    --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n    --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n    --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n    --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n    --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n    --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n    // @each $color, $value in $theme-colors-text-dark {\n    //   --#{$prefix}#{$color}-text-emphasis: #{$value};\n    // }\n\n    // @each $color, $value in $theme-colors-bg-subtle-dark {\n    //   --#{$prefix}#{$color}-bg-subtle: #{$value};\n    // }\n\n    // @each $color, $value in $theme-colors-border-subtle-dark {\n    //   --#{$prefix}#{$color}-border-subtle: #{$value};\n    // }\n\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}link-color: #{$link-color-dark};\n    --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n    --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n    --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n    --#{$prefix}code-color: #{$code-color-dark};\n    --#{$prefix}highlight-color: #{$mark-color-dark};\n    --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"sass:string\";\n\n// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n  @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n  @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if meta.type-of($rfs-factor) != number or $rfs-factor <= 1 {\n  @error \"`#{$rfs-factor}` is not a valid  $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: math.unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n  $rfs-base-value: math.div($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n  $rfs-base-value: math.div($rfs-base-value, math.div($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: math.unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n  $rfs-breakpoint: math.div($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n  $rfs-breakpoint: math.div($rfs-breakpoint, math.div($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{math.div($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n  @if $rfs-two-dimensional {\n    @if $rfs-mode == max-media-query {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n    @else {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n  }\n  @else {\n    @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n      @content;\n    }\n  }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n  @if $rfs-class == disable and $rfs-mode == max-media-query {\n    // Adding an extra class increases specificity, which prevents the media query to override the property\n    &,\n    .disable-rfs &,\n    &.disable-rfs {\n      @content;\n    }\n  }\n  @else if $rfs-class == enable and $rfs-mode == min-media-query {\n    .enable-rfs &,\n    &.enable-rfs {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n  @if $rfs-class == enable {\n    @if $rfs-mode == min-media-query {\n      @content;\n    }\n\n    @include _rfs-media-query () {\n      .enable-rfs &,\n      &.enable-rfs {\n        @content;\n      }\n    }\n  }\n  @else {\n    @if $rfs-class == disable and $rfs-mode == min-media-query {\n      .disable-rfs &,\n      &.disable-rfs {\n        @content;\n      }\n    }\n    @include _rfs-media-query () {\n      @content;\n    }\n  }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n  // Convert to list\n  $values: if(meta.type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    }\n    @else {\n      // Cache $value unit\n      $unit: if(meta.type-of($value) == \"number\", math.unit($value), false);\n\n      @if $unit == px {\n        // Convert to rem if needed\n        $val: $val + \" \" + if($rfs-unit == rem, #{math.div($value, $value * 0 + $rfs-rem-value)}rem, $value);\n      }\n      @else if $unit == rem {\n        // Convert to px if needed\n        $val: $val + \" \" + if($rfs-unit == px, #{math.div($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n      } @else {\n        // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n        $val: $val + \" \" + $value;\n      }\n    }\n  }\n\n  // Remove first space\n  @return string.unquote(string.slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n  // Convert to list\n  $values: if(meta.type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    } @else {\n      // Cache $value unit\n      $unit: if(meta.type-of($value) == \"number\", math.unit($value), false);\n\n      // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n      @if not $unit or $unit != px and $unit != rem {\n        $val: $val + \" \" + $value;\n      } @else {\n        // Remove unit from $value for calculations\n        $value: math.div($value, $value * 0 + if($unit == px, 1, math.div(1, $rfs-rem-value)));\n\n        // Only add the media query if the value is greater than the minimum value\n        @if abs($value) <= $rfs-base-value or not $enable-rfs {\n          $val: $val + \" \" + if($rfs-unit == rem, #{math.div($value, $rfs-rem-value)}rem, #{$value}px);\n        }\n        @else {\n          // Calculate the minimum value\n          $value-min: $rfs-base-value + math.div(abs($value) - $rfs-base-value, $rfs-factor);\n\n          // Calculate difference between $value and the minimum value\n          $value-diff: abs($value) - $value-min;\n\n          // Base value formatting\n          $min-width: if($rfs-unit == rem, #{math.div($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n          // Use negative value if needed\n          $min-width: if($value < 0, -$min-width, $min-width);\n\n          // Use `vmin` if two-dimensional is enabled\n          $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n          // Calculate the variable width between 0 and $rfs-breakpoint\n          $variable-width: #{math.div($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n          // Return the calculated value\n          $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n        }\n      }\n    }\n  }\n\n  // Remove first space\n  @return string.unquote(string.slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n  @if $values != null {\n    $val: rfs-value($values);\n    $fluid-val: rfs-fluid-value($values);\n\n    // Do not print the media query if responsive & non-responsive values are the same\n    @if $val == $fluid-val {\n      #{$property}: $val;\n    }\n    @else {\n      @include _rfs-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n        // Include safari iframe resize fix if needed\n        min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n      }\n\n      @include _rfs-media-query-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n      }\n    }\n  }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n  @include rfs($value);\n}\n\n@mixin padding($value) {\n  @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n  @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n  @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n  @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n  @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n  @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n  @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n  @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n  @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n  @include rfs($value, margin-left);\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\n@layer helpers {\n  // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n  @each $color, $value in $theme-colors {\n    .text-bg-#{$color} {\n      color: color-contrast($value) if($enable-important-utilities, !important, null);\n      background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n\n// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n@layer helpers {\n  @each $color, $value in $theme-colors {\n    .link-#{$color} {\n      color: color-mix(in srgb, var(--#{$prefix}#{$color}), transparent var(--#{$prefix}link-opacity));\n      text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}), transparent var(--#{$prefix}link-underline-opacity));\n\n      @if $link-shade-percentage != 0 {\n        &:hover,\n        &:focus {\n          $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n          color: color-mix(in srgb, $hover-color, transparent var(--#{$prefix}link-opacity));\n          text-decoration-color: color-mix(in srgb, $hover-color, transparent var(--#{$prefix}link-underline-opacity));\n        }\n      }\n    }\n  }\n\n  // One-off special link helper as a bridge until v6\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity));\n\n    @if $link-shade-percentage != 0 {\n      &:hover,\n      &:focus {\n        color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity, .75));\n        text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity, .75));\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--#{$prefix}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(--#{$prefix}link-color-rgb), var(--#{$prefix}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(--#{$prefix}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 $modal-content-box-shadow-xs.\n\n// scss-docs-start theme-color-variables\n$primary:       $purple-500 !default;\n$secondary:     $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:         $gray-100 !default;\n$dark:          $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// // scss-docs-start theme-text-variables\n// $primary-text-emphasis:   shade-color($primary, 60%) !default;\n// $secondary-text-emphasis: shade-color($secondary, 60%) !default;\n// $success-text-emphasis:   shade-color($success, 60%) !default;\n// $info-text-emphasis:      shade-color($info, 60%) !default;\n// $warning-text-emphasis:   shade-color($warning, 60%) !default;\n// $danger-text-emphasis:    shade-color($danger, 60%) !default;\n// $light-text-emphasis:     $gray-700 !default;\n// $dark-text-emphasis:      $gray-700 !default;\n// // scss-docs-end theme-text-variables\n\n// // scss-docs-start theme-bg-subtle-variables\n// $primary-bg-subtle:       tint-color($primary, 80%) !default;\n// $secondary-bg-subtle:     tint-color($secondary, 80%) !default;\n// $success-bg-subtle:       tint-color($success, 80%) !default;\n// $info-bg-subtle:          tint-color($info, 80%) !default;\n// $warning-bg-subtle:       tint-color($warning, 80%) !default;\n// $danger-bg-subtle:        tint-color($danger, 80%) !default;\n// $light-bg-subtle:         color.mix($gray-100, $white) !default;\n// $dark-bg-subtle:          $gray-400 !default;\n// // scss-docs-end theme-bg-subtle-variables\n\n// // scss-docs-start theme-border-subtle-variables\n// $primary-border-subtle:   tint-color($primary, 60%) !default;\n// $secondary-border-subtle: tint-color($secondary, 60%) !default;\n// $success-border-subtle:   tint-color($success, 60%) !default;\n// $info-border-subtle:      tint-color($info, 60%) !default;\n// $warning-border-subtle:   tint-color($warning, 60%) !default;\n// $danger-border-subtle:    tint-color($danger, 60%) !default;\n// $light-border-subtle:     $gray-200 !default;\n// $dark-border-subtle:      $gray-500 !default;\n// // scss-docs-end theme-border-subtle-variables\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// $enable-important-utilities:  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// $prefix:                      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$body-color:                $gray-900 !default;\n$body-bg:                   $white !default;\n\n$body-secondary-color:      rgba($body-color, .75) !default;\n$body-secondary-bg:         $gray-200 !default;\n\n$body-tertiary-color:       rgba($body-color, .5) !default;\n$body-tertiary-bg:          $gray-100 !default;\n\n$body-emphasis-color:       $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              $primary !default;\n$link-decoration:                         underline !default;\n$link-shade-percentage:                   20% !default;\n$link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration:                   null !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:                $gray-300 !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .375rem !default;\n$border-radius-sm:            .25rem !default;\n$border-radius-lg:            .5rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-xxl:           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$component-active-color:      $white !default;\n$component-active-bg:         $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      rgba($primary, $focus-ring-opacity) !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$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(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}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:              null !default;\n$font-size-base:              1rem !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:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n  1: $h1-font-size,\n  2: $h2-font-size,\n  3: $h3-font-size,\n  4: $h4-font-size,\n  5: $h5-font-size,\n  6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\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 display-headings\n$display-font-sizes: (\n  1: 5rem,\n  2: 4.5rem,\n  3: 4rem,\n  4: 3.5rem,\n  5: 3rem,\n  6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style:  null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size:              $font-size-base * 1.25 !default;\n$lead-font-weight:            300 !default;\n\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:     $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}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:                  $body-color !default;\n$mark-bg:                     $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\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(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}body-color) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     $gray-600 !default;\n$btn-link-color-contrast:     color-contrast($link-color) !default;\n$btn-link-focus-shadow-rgb:   to-rgb(color.mix($btn-link-color-contrast, $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount:       15% !default;\n$btn-hover-bg-tint-amount:        15% !default;\n$btn-hover-border-shade-amount:   20% !default;\n$btn-hover-border-tint-amount:    10% !default;\n$btn-active-bg-shade-amount:      20% !default;\n$btn-active-bg-tint-amount:       20% !default;\n$btn-active-border-shade-amount:  25% !default;\n$btn-active-border-tint-amount:   10% !default;\n// scss-docs-end btn-variables\n\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-modal-backdrop:             1050 !default;\n$zindex-modal:                      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// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding:               $spacer !default;\n\n$modal-footer-margin-between:       .5rem !default;\n\n$modal-dialog-margin:               .5rem !default;\n$modal-dialog-margin-y-sm-up:       1.75rem !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-color:               var(--#{$prefix}body-color) !default;\n$modal-content-bg:                  var(--#{$prefix}body-bg) !default;\n$modal-content-border-color:        var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width:        var(--#{$prefix}border-width) !default;\n$modal-content-border-radius:       var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: calc(#{$modal-content-border-radius} - #{$modal-content-border-width}) !default;\n$modal-content-box-shadow-xs:       var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up:    var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n\n$modal-header-border-color:         var(--#{$prefix}border-color) !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-header-padding-y:            $modal-inner-padding !default;\n$modal-header-padding-x:            $modal-inner-padding !default;\n$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg:                   null !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n\n$modal-sm:                          300px !default;\n$modal-md:                          500px !default;\n$modal-lg:                          800px !default;\n$modal-xl:                          1140px !default;\n\n$modal-fade-transform:              translate(0, -50px) !default;\n$modal-show-transform:              none !default;\n$modal-transition:                  transform .3s ease-out !default;\n$modal-scale-transform:             scale(1.02) !default;\n// scss-docs-end modal-variables\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $modal-inner-padding !default;\n$offcanvas-padding-x:               $modal-inner-padding !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            $modal-content-border-color !default;\n$offcanvas-border-width:            $modal-content-border-width !default;\n$offcanvas-title-line-height:       $modal-title-line-height !default;\n$offcanvas-bg-color:                var(--#{$prefix}body-bg) !default;\n$offcanvas-color:                   var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow:              $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg:             $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity:        $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    $small-font-size !default;\n$code-color:                        $pink !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(--#{$prefix}body-bg) !default;\n$kbd-bg:                            var(--#{$prefix}body-color) !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:                   $gray-300 !default;\n$body-bg-dark:                      $gray-900 !default;\n$body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n$body-secondary-bg-dark:            $gray-800 !default;\n$body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n$body-tertiary-bg-dark:             color.mix($gray-800, $gray-900, 50%) !default;\n$body-emphasis-color-dark:          $white !default;\n$border-color-dark:                 $gray-700 !default;\n$border-color-translucent-dark:     rgba($white, .15) !default;\n$headings-color-dark:               inherit !default;\n$link-color-dark:                   tint-color($primary, 40%) !default;\n$link-hover-color-dark:             shift-color($link-color-dark, -$link-shade-percentage) !default;\n$code-color-dark:                   tint-color($code-color, 40%) !default;\n$mark-color-dark:                   $body-color-dark !default;\n$mark-bg-dark:                      $yellow-800 !default;\n\n\n//\n// Forms\n//\n\n$form-select-indicator-color-dark:  $body-color-dark !default;\n$form-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='#{$form-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n$form-switch-color-dark:            rgba($white, .25) !default;\n$form-switch-bg-image-dark:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color-dark}'/></svg>\") !default;\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             $green-300 !default;\n$form-valid-border-color-dark:      $green-300 !default;\n$form-invalid-color-dark:           $red-300 !default;\n$form-invalid-border-color-dark:    $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    top: 0;\n    right: 0;\n    left: 0;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    right: 0;\n    bottom: 0;\n    left: 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: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\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 `#{$breakpoints}`\";\n  }\n  @return if($n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n//    >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $max: map.get($breakpoints, $name);\n  @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@layer helpers {\n  // scss-docs-start stacks\n  .hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n\n  .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      top: 0;\n      right: 0;\n      bottom: 0;\n      left: 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: currentcolor;\n    opacity: $hr-opacity;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../vendor/rfs\" 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  // RFS rescaling\n  @media (min-width: $rfs-mq-value) {\n    @each $breakpoint in map.keys($grid-breakpoints) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      @if (map.get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\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, rfs) and (map.get($utility, responsive) or $infix == \"\") {\n            @include generate-utility($utility, $infix, true);\n          }\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// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n  $values: map.get($utility, values);\n\n  // If the values are a list or string, convert it into a map\n  @if meta.type-of($values) == \"string\" or meta.type-of(list.nth($values, 1)) != \"list\" {\n    // A single value is converted to a map with a null key.\n    @if list.length($values) == 1 {\n      $values: (null: list.nth($values, 1));\n    } @else {\n      $values: list.zip($values, $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n\n    // 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\n    // Use custom class if present\n    $property-class: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));\n    $property-class: if($property-class == null, \"\", $property-class);\n\n    // Use custom CSS variable name if present, otherwise default to `class`\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 pseudo-classes\n    $state: if(map.has-key($utility, state), map.get($utility, state), ());\n\n    $infix: if($property-class == \"\" and string.slice($infix, 1, 1) == \"-\", string.slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    @if map.get($utility, rfs) {\n      // Inside the media query\n      @if $is-rfs-media-query {\n        $val: rfs-value($value);\n\n        // Do not render anything if fluid and non fluid values are the same\n        $value: if($val == rfs-fluid-value($value), null, $val);\n      }\n      @else {\n        $value: rfs-fluid-value($value);\n      }\n    }\n\n    $is-css-var: map.get($utility, css-var);\n    $is-local-vars: map.get($utility, local-vars);\n    $is-rtl: map.get($utility, rtl);\n\n    @if $value != null {\n      @if $is-rtl == false {\n        /* rtl:begin:remove */\n      }\n\n      @if $is-css-var {\n        .#{$property-class + $infix + $property-class-modifier} {\n          --#{$prefix}#{$css-variable-name}: #{$value};\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            --#{$prefix}#{$css-variable-name}: #{$value};\n          }\n        }\n      } @else {\n        .#{$property-class + $infix + $property-class-modifier} {\n          @each $property in $properties {\n            @if $is-local-vars {\n              @each $local-var, $variable in $is-local-vars {\n                --#{$prefix}#{$local-var}: #{$variable};\n              }\n            }\n            #{$property}: $value if($enable-important-utilities, !important, null);\n          }\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            @each $property in $properties {\n              @if $is-local-vars {\n                @each $local-var, $variable in $is-local-vars {\n                  --#{$prefix}#{$local-var}: #{$variable};\n                }\n              }\n              #{$property}: $value if($enable-important-utilities, !important, null);\n            }\n          }\n        }\n      }\n\n      @if $is-rtl == false {\n        /* rtl:end:remove */\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index b83f5079f2bb1793ce70ccf4549af2907fea5335..bc8cee88af481c92518171635fb2802ae91c3f9b 100644 (file)
@@ -1,25 +1,12 @@
 @charset "UTF-8";
 /*!
- * Bootstrap  v5.3.8 (https://getbootstrap.com/)
- * Copyright 2011-2025 The Bootstrap Authors
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */
-:root,
-[data-bs-theme=light] {
-  --bs-blue: #0d6efd;
-  --bs-indigo: #6610f2;
-  --bs-purple: #6f42c1;
-  --bs-pink: #d63384;
-  --bs-red: #dc3545;
-  --bs-orange: #fd7e14;
-  --bs-yellow: #ffc107;
-  --bs-green: #198754;
-  --bs-teal: #20c997;
-  --bs-cyan: #0dcaf0;
-  --bs-black: #000;
-  --bs-white: #fff;
-  --bs-gray: #6c757d;
-  --bs-gray-dark: #343a40;
+  * Bootstrap  v6.0.0-dev (https://getbootstrap.com/)
+  * Copyright 2011-2025 The Bootstrap Authors
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+@layer colors, theme, config, root, reboot, layout, content, forms, components, helpers, custom, utilities;
+:root {
+  color-scheme: light dark;
   --bs-gray-100: #f8f9fa;
   --bs-gray-200: #e9ecef;
   --bs-gray-300: #dee2e6;
   --bs-gray-700: #495057;
   --bs-gray-800: #343a40;
   --bs-gray-900: #212529;
-  --bs-primary: #0d6efd;
+  --bs-blue-100: #cfe2ff;
+  --bs-blue-200: #9ec5fe;
+  --bs-blue-300: #6ea8fe;
+  --bs-blue-400: #3d8bfd;
+  --bs-blue-500: #0d6efd;
+  --bs-blue-600: #0a58ca;
+  --bs-blue-700: #084298;
+  --bs-blue-800: #052c65;
+  --bs-blue-900: #031633;
+  --bs-indigo-100: #e0cffc;
+  --bs-indigo-200: #c29ffa;
+  --bs-indigo-300: #a370f7;
+  --bs-indigo-400: #8540f5;
+  --bs-indigo-500: #6610f2;
+  --bs-indigo-600: #520dc2;
+  --bs-indigo-700: #3d0a91;
+  --bs-indigo-800: #290661;
+  --bs-indigo-900: #140330;
+  --bs-purple-100: #e2d9f3;
+  --bs-purple-200: #c5b3e6;
+  --bs-purple-300: #a98eda;
+  --bs-purple-400: #8c68cd;
+  --bs-purple-500: #6f42c1;
+  --bs-purple-600: #59359a;
+  --bs-purple-700: #432874;
+  --bs-purple-800: #2c1a4d;
+  --bs-purple-900: #160d27;
+  --bs-pink-100: #f7d6e6;
+  --bs-pink-200: #efadce;
+  --bs-pink-300: #e685b5;
+  --bs-pink-400: #de5c9d;
+  --bs-pink-500: #d63384;
+  --bs-pink-600: #ab296a;
+  --bs-pink-700: #801f4f;
+  --bs-pink-800: #561435;
+  --bs-pink-900: #2b0a1a;
+  --bs-red-100: #f8d7da;
+  --bs-red-200: #f1aeb5;
+  --bs-red-300: #ea868f;
+  --bs-red-400: #e35d6a;
+  --bs-red-500: #dc3545;
+  --bs-red-600: #b02a37;
+  --bs-red-700: #842029;
+  --bs-red-800: #58151c;
+  --bs-red-900: #2c0b0e;
+  --bs-orange-100: #ffe5d0;
+  --bs-orange-200: #fecba1;
+  --bs-orange-300: #feb272;
+  --bs-orange-400: #fd9843;
+  --bs-orange-500: #fd7e14;
+  --bs-orange-600: #ca6510;
+  --bs-orange-700: #984c0c;
+  --bs-orange-800: #653208;
+  --bs-orange-900: #331904;
+  --bs-yellow-100: #fff3cd;
+  --bs-yellow-200: #ffe69c;
+  --bs-yellow-300: #ffda6a;
+  --bs-yellow-400: #ffcd39;
+  --bs-yellow-500: #ffc107;
+  --bs-yellow-600: #cc9a06;
+  --bs-yellow-700: #997404;
+  --bs-yellow-800: #664d03;
+  --bs-yellow-900: #332701;
+  --bs-green-100: #d1e7dd;
+  --bs-green-200: #a3cfbb;
+  --bs-green-300: #75b798;
+  --bs-green-400: #479f76;
+  --bs-green-500: #198754;
+  --bs-green-600: #146c43;
+  --bs-green-700: #0f5132;
+  --bs-green-800: #0a3622;
+  --bs-green-900: #051b11;
+  --bs-teal-100: #d2f4ea;
+  --bs-teal-200: #a6e9d5;
+  --bs-teal-300: #79dfc1;
+  --bs-teal-400: #4dd4ac;
+  --bs-teal-500: #20c997;
+  --bs-teal-600: #1aa179;
+  --bs-teal-700: #13795b;
+  --bs-teal-800: #0d503c;
+  --bs-teal-900: #06281e;
+  --bs-cyan-100: #cff4fc;
+  --bs-cyan-200: #9eeaf9;
+  --bs-cyan-300: #6edff6;
+  --bs-cyan-400: #3dd5f3;
+  --bs-cyan-500: #0dcaf0;
+  --bs-cyan-600: #0aa2c0;
+  --bs-cyan-700: #087990;
+  --bs-cyan-800: #055160;
+  --bs-cyan-900: #032830;
+  --bs-primary: #6f42c1;
   --bs-secondary: #6c757d;
   --bs-success: #198754;
   --bs-info: #0dcaf0;
   --bs-danger: #dc3545;
   --bs-light: #f8f9fa;
   --bs-dark: #212529;
-  --bs-primary-rgb: 13, 110, 253;
-  --bs-secondary-rgb: 108, 117, 125;
-  --bs-success-rgb: 25, 135, 84;
-  --bs-info-rgb: 13, 202, 240;
-  --bs-warning-rgb: 255, 193, 7;
-  --bs-danger-rgb: 220, 53, 69;
-  --bs-light-rgb: 248, 249, 250;
-  --bs-dark-rgb: 33, 37, 41;
-  --bs-primary-text-emphasis: #052c65;
-  --bs-secondary-text-emphasis: #2b2f32;
-  --bs-success-text-emphasis: #0a3622;
-  --bs-info-text-emphasis: #055160;
-  --bs-warning-text-emphasis: #664d03;
-  --bs-danger-text-emphasis: #58151c;
-  --bs-light-text-emphasis: #495057;
-  --bs-dark-text-emphasis: #495057;
-  --bs-primary-bg-subtle: #cfe2ff;
-  --bs-secondary-bg-subtle: #e2e3e5;
-  --bs-success-bg-subtle: #d1e7dd;
-  --bs-info-bg-subtle: #cff4fc;
-  --bs-warning-bg-subtle: #fff3cd;
-  --bs-danger-bg-subtle: #f8d7da;
-  --bs-light-bg-subtle: #fcfcfd;
-  --bs-dark-bg-subtle: #ced4da;
-  --bs-primary-border-subtle: #9ec5fe;
-  --bs-secondary-border-subtle: #c4c8cb;
-  --bs-success-border-subtle: #a3cfbb;
-  --bs-info-border-subtle: #9eeaf9;
-  --bs-warning-border-subtle: #ffe69c;
-  --bs-danger-border-subtle: #f1aeb5;
-  --bs-light-border-subtle: #e9ecef;
-  --bs-dark-border-subtle: #adb5bd;
-  --bs-white-rgb: 255, 255, 255;
-  --bs-black-rgb: 0, 0, 0;
+  --bs-primary-base: var(--bs-blue-500);
+  --bs-primary-text: light-dark(var(--bs-blue-600), var(--bs-blue-300));
+  --bs-primary-bg: light-dark(var(--bs-blue-500), var(--bs-blue-500));
+  --bs-primary-bg-subtle: light-dark(var(--bs-blue-100), var(--bs-blue-900));
+  --bs-primary-bg-muted: light-dark(var(--bs-blue-200), var(--bs-blue-800));
+  --bs-primary-border: light-dark(var(--bs-blue-300), var(--bs-blue-600));
+  --bs-primary-focus-ring: color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg));
+  --bs-primary-contrast: var(--bs-white);
+  --bs-accent-base: var(--bs-indigo-500);
+  --bs-accent-text: light-dark(var(--bs-indigo-600), var(--bs-indigo-300));
+  --bs-accent-bg: light-dark(var(--bs-indigo-500), var(--bs-indigo-500));
+  --bs-accent-bg-subtle: light-dark(var(--bs-indigo-100), var(--bs-indigo-900));
+  --bs-accent-bg-muted: light-dark(var(--bs-indigo-200), var(--bs-indigo-800));
+  --bs-accent-border: light-dark(var(--bs-indigo-300), var(--bs-indigo-600));
+  --bs-accent-focus-ring: color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg));
+  --bs-accent-contrast: var(--bs-white);
+  --bs-danger-base: var(--bs-red-500);
+  --bs-danger-text: light-dark(var(--bs-red-600), var(--bs-red-300));
+  --bs-danger-bg: light-dark(var(--bs-red-500), var(--bs-red-500));
+  --bs-danger-bg-subtle: light-dark(var(--bs-red-100), var(--bs-red-900));
+  --bs-danger-bg-muted: light-dark(var(--bs-red-200), var(--bs-red-800));
+  --bs-danger-border: light-dark(var(--bs-red-300), var(--bs-red-600));
+  --bs-danger-focus-ring: color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg));
+  --bs-danger-contrast: var(--bs-white);
+  --bs-warning-base: var(--bs-yellow-500);
+  --bs-warning-text: light-dark(var(--bs-yellow-700), var(--bs-yellow-300));
+  --bs-warning-bg: light-dark(var(--bs-yellow-500), var(--bs-yellow-500));
+  --bs-warning-bg-subtle: light-dark(var(--bs-yellow-100), var(--bs-yellow-900));
+  --bs-warning-bg-muted: light-dark(var(--bs-yellow-200), var(--bs-yellow-800));
+  --bs-warning-border: light-dark(var(--bs-yellow-300), var(--bs-yellow-600));
+  --bs-warning-focus-ring: color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg));
+  --bs-warning-contrast: var(--bs-gray-900);
+  --bs-success-base: var(--bs-green-500);
+  --bs-success-text: light-dark(var(--bs-green-600), var(--bs-green-300));
+  --bs-success-bg: light-dark(var(--bs-green-500), var(--bs-green-500));
+  --bs-success-bg-subtle: light-dark(var(--bs-green-100), var(--bs-green-900));
+  --bs-success-bg-muted: light-dark(var(--bs-green-200), var(--bs-green-800));
+  --bs-success-border: light-dark(var(--bs-green-300), var(--bs-green-600));
+  --bs-success-focus-ring: color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg));
+  --bs-success-contrast: var(--bs-white);
+  --bs-info-base: var(--bs-cyan-500);
+  --bs-info-text: light-dark(var(--bs-cyan-600), var(--bs-cyan-300));
+  --bs-info-bg: light-dark(var(--bs-cyan-500), var(--bs-cyan-500));
+  --bs-info-bg-subtle: light-dark(var(--bs-cyan-100), var(--bs-cyan-900));
+  --bs-info-bg-muted: light-dark(var(--bs-cyan-200), var(--bs-cyan-800));
+  --bs-info-border: light-dark(var(--bs-cyan-300), var(--bs-cyan-600));
+  --bs-info-focus-ring: color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg));
+  --bs-info-contrast: var(--bs-gray-900);
+  --bs-secondary-base: var(--bs-gray-300);
+  --bs-secondary-text: light-dark(var(--bs-gray-600), var(--bs-gray-400));
+  --bs-secondary-bg: light-dark(var(--bs-gray-300), var(--bs-gray-600));
+  --bs-secondary-bg-subtle: light-dark(var(--bs-gray-100), var(--bs-gray-800));
+  --bs-secondary-bg-muted: light-dark(var(--bs-gray-200), var(--bs-gray-700));
+  --bs-secondary-border: light-dark(var(--bs-gray-300), var(--bs-gray-600));
+  --bs-secondary-focus-ring: color-mix(in oklch, var(--bs-gray-500) 50%, var(--bs-bg));
+  --bs-secondary-contrast: light-dark(var(--bs-gray-900), var(--bs-white));
+  --bs-black: #000;
+  --bs-white: #fff;
+}
+
+:root,
+[data-bs-theme=light] {
+  --bs-white-rgb: to-rgb(#fff);
+  --bs-black-rgb: to-rgb(#000);
   --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-size: 1rem;
   --bs-body-font-weight: 400;
   --bs-body-line-height: 1.5;
+  --bs-bg: light-dark(var(--bs-white), var(--bs-gray-900));
+  --bs-bg-1: light-dark(var(--bs-gray-100), color-mix(in srgb, var(--bs-gray-900), var(--bs-gray-800)));
+  --bs-bg-2: light-dark(color-mix(in srgb, var(--bs-gray-100), var(--bs-gray-200)), color-mix(in srgb, var(--bs-gray-800), var(--bs-gray-700)));
+  --bs-bg-3: light-dark(color-mix(in srgb, var(--bs-gray-200), var(--bs-gray-300)), color-mix(in srgb, var(--bs-gray-700), var(--bs-gray-600)));
+  --bs-bg-white: var(--bs-white);
+  --bs-bg-black: var(--bs-black);
+  --bs-bg-transparent: transparent;
+  --bs-bg-inherit: inherit;
+  --bs-fg: light-dark(var(--bs-gray-900), var(--bs-gray-100));
+  --bs-fg-1: light-dark(var(--bs-gray-800), var(--bs-gray-200));
+  --bs-fg-2: light-dark(var(--bs-gray-700), var(--bs-gray-300));
+  --bs-fg-3: light-dark(var(--bs-gray-600), var(--bs-gray-400));
+  --bs-fg-white: var(--bs-white);
+  --bs-fg-black: var(--bs-black);
+  --bs-fg-inherit: inherit;
+  --bs-border: light-dark(var(--bs-gray-300), var(--bs-gray-700));
+  --bs-border-muted: light-dark(var(--bs-gray-200), var(--bs-gray-800));
+  --bs-border-subtle: light-dark(var(--bs-gray-100), color-mix(in srgb, var(--bs-gray-800), var(--bs-gray-900)));
+  --bs-border-emphasized: light-dark(var(--bs-gray-400), var(--bs-gray-600));
   --bs-body-color: #212529;
-  --bs-body-color-rgb: 33, 37, 41;
+  --bs-body-color-rgb: to-rgb(#212529);
   --bs-body-bg: #fff;
-  --bs-body-bg-rgb: 255, 255, 255;
-  --bs-emphasis-color: #000;
-  --bs-emphasis-color-rgb: 0, 0, 0;
-  --bs-secondary-color: rgba(33, 37, 41, 0.75);
-  --bs-secondary-color-rgb: 33, 37, 41;
-  --bs-secondary-bg: #e9ecef;
-  --bs-secondary-bg-rgb: 233, 236, 239;
-  --bs-tertiary-color: rgba(33, 37, 41, 0.5);
-  --bs-tertiary-color-rgb: 33, 37, 41;
-  --bs-tertiary-bg: #f8f9fa;
-  --bs-tertiary-bg-rgb: 248, 249, 250;
+  --bs-body-bg-rgb: to-rgb(#fff);
   --bs-heading-color: inherit;
-  --bs-link-color: #0d6efd;
-  --bs-link-color-rgb: 13, 110, 253;
+  --bs-link-color: light-dark(var(--bs-primary-base), var(--bs-primary-text));
   --bs-link-decoration: underline;
-  --bs-link-hover-color: #0a58ca;
-  --bs-link-hover-color-rgb: 10, 88, 202;
+  --bs-link-hover-color: color-mix(in oklch, var(--bs-link-color) 90%, #000);
   --bs-code-color: #d63384;
   --bs-highlight-color: #212529;
   --bs-highlight-bg: #fff3cd;
   --bs-border-radius-lg: 0.5rem;
   --bs-border-radius-xl: 1rem;
   --bs-border-radius-xxl: 2rem;
-  --bs-border-radius-2xl: var(--bs-border-radius-xxl);
   --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: 0.25rem;
-  --bs-focus-ring-opacity: 0.25;
-  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);
-  --bs-form-valid-color: #198754;
-  --bs-form-valid-border-color: #198754;
-  --bs-form-invalid-color: #dc3545;
-  --bs-form-invalid-border-color: #dc3545;
+  --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);
 }
 
 [data-bs-theme=dark] {
   color-scheme: dark;
   --bs-body-color: #dee2e6;
-  --bs-body-color-rgb: 222, 226, 230;
+  --bs-body-color-rgb: to-rgb(#dee2e6);
   --bs-body-bg: #212529;
-  --bs-body-bg-rgb: 33, 37, 41;
+  --bs-body-bg-rgb: to-rgb(#212529);
   --bs-emphasis-color: #fff;
-  --bs-emphasis-color-rgb: 255, 255, 255;
+  --bs-emphasis-color-rgb: to-rgb(#fff);
   --bs-secondary-color: rgba(222, 226, 230, 0.75);
-  --bs-secondary-color-rgb: 222, 226, 230;
+  --bs-secondary-color-rgb: to-rgb(rgba(222, 226, 230, 0.75));
   --bs-secondary-bg: #343a40;
-  --bs-secondary-bg-rgb: 52, 58, 64;
+  --bs-secondary-bg-rgb: to-rgb(#343a40);
   --bs-tertiary-color: rgba(222, 226, 230, 0.5);
-  --bs-tertiary-color-rgb: 222, 226, 230;
-  --bs-tertiary-bg: #2b3035;
-  --bs-tertiary-bg-rgb: 43, 48, 53;
-  --bs-primary-text-emphasis: #6ea8fe;
-  --bs-secondary-text-emphasis: #a7acb1;
-  --bs-success-text-emphasis: #75b798;
-  --bs-info-text-emphasis: #6edff6;
-  --bs-warning-text-emphasis: #ffda6a;
-  --bs-danger-text-emphasis: #ea868f;
-  --bs-light-text-emphasis: #f8f9fa;
-  --bs-dark-text-emphasis: #dee2e6;
-  --bs-primary-bg-subtle: #031633;
-  --bs-secondary-bg-subtle: #161719;
-  --bs-success-bg-subtle: #051b11;
-  --bs-info-bg-subtle: #032830;
-  --bs-warning-bg-subtle: #332701;
-  --bs-danger-bg-subtle: #2c0b0e;
-  --bs-light-bg-subtle: #343a40;
-  --bs-dark-bg-subtle: #1a1d20;
-  --bs-primary-border-subtle: #084298;
-  --bs-secondary-border-subtle: #41464b;
-  --bs-success-border-subtle: #0f5132;
-  --bs-info-border-subtle: #087990;
-  --bs-warning-border-subtle: #997404;
-  --bs-danger-border-subtle: #842029;
-  --bs-light-border-subtle: #495057;
-  --bs-dark-border-subtle: #343a40;
+  --bs-tertiary-color-rgb: to-rgb(rgba(222, 226, 230, 0.5));
+  --bs-tertiary-bg: rgb(42.5, 47.5, 52.5);
+  --bs-tertiary-bg-rgb: to-rgb(rgb(42.5, 47.5, 52.5));
   --bs-heading-color: inherit;
-  --bs-link-color: #6ea8fe;
-  --bs-link-hover-color: #8bb9fe;
-  --bs-link-color-rgb: 110, 168, 254;
-  --bs-link-hover-color-rgb: 139, 185, 254;
-  --bs-code-color: #e685b5;
+  --bs-link-color: rgb(168.6, 141.6, 217.8);
+  --bs-link-hover-color: rgb(185.88, 164.28, 225.24);
+  --bs-link-color-rgb: to-rgb(rgb(168.6, 141.6, 217.8));
+  --bs-link-hover-color-rgb: to-rgb(rgb(185.88, 164.28, 225.24));
+  --bs-code-color: rgb(230.4, 132.6, 181.2);
   --bs-highlight-color: #dee2e6;
   --bs-highlight-bg: #664d03;
   --bs-border-color: #495057;
   --bs-form-invalid-border-color: #ea868f;
 }
 
-*,
-*::before,
-*::after {
-  box-sizing: border-box;
-}
-
-@media (prefers-reduced-motion: no-preference) {
-  :root {
-    scroll-behavior: smooth;
+@layer reboot {
+  *,
+  *::before,
+  *::after {
+    box-sizing: border-box;
   }
-}
-
-body {
-  margin: 0;
-  font-family: var(--bs-body-font-family);
-  font-size: var(--bs-body-font-size);
-  font-weight: var(--bs-body-font-weight);
-  line-height: var(--bs-body-line-height);
-  color: var(--bs-body-color);
-  text-align: var(--bs-body-text-align);
-  background-color: var(--bs-body-bg);
-  -webkit-text-size-adjust: 100%;
-  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
-}
-
-hr {
-  margin: 1rem 0;
-  color: inherit;
-  border: 0;
-  border-top: var(--bs-border-width) solid;
-  opacity: 0.25;
-}
-
-h6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
-  margin-top: 0;
-  margin-bottom: 0.5rem;
-  font-weight: 500;
-  line-height: 1.2;
-  color: var(--bs-heading-color);
-}
-
-h1, .h1 {
-  font-size: calc(1.375rem + 1.5vw);
-}
-@media (min-width: 1200px) {
-  h1, .h1 {
-    font-size: 2.5rem;
+  @media (prefers-reduced-motion: no-preference) {
+    :root {
+      scroll-behavior: smooth;
+    }
   }
-}
-
-h2, .h2 {
-  font-size: calc(1.325rem + 0.9vw);
-}
-@media (min-width: 1200px) {
-  h2, .h2 {
-    font-size: 2rem;
+  body {
+    margin: 0;
+    font-family: var(--bs-body-font-family);
+    font-size: var(--bs-body-font-size);
+    font-weight: var(--bs-body-font-weight);
+    line-height: var(--bs-body-line-height);
+    color: var(--bs-body-color);
+    text-align: var(--bs-body-text-align);
+    background-color: var(--bs-body-bg);
+    -webkit-text-size-adjust: 100%;
+    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
+  }
+  hr {
+    margin: 1rem 0;
+    color: inherit;
+    border: 0;
+    border-top: var(--bs-border-width) solid;
+    opacity: 0.25;
+  }
+  h6,
+  .h6, h5,
+  .h5, h4,
+  .h4, h3,
+  .h3, h2,
+  .h2, h1,
+  .h1 {
+    margin-top: 0;
+    margin-bottom: 0.5rem;
+    font-weight: 500;
+    line-height: 1.2;
+    color: var(--bs-heading-color);
+  }
+  h1,
+  .h1 {
+    font-size: calc(1.375rem + 1.5vw);
+  }
+  @media (min-width: 1200px) {
+    h1,
+    .h1 {
+      font-size: 2.5rem;
+    }
+  }
+  h2,
+  .h2 {
+    font-size: calc(1.325rem + 0.9vw);
+  }
+  @media (min-width: 1200px) {
+    h2,
+    .h2 {
+      font-size: 2rem;
+    }
+  }
+  h3,
+  .h3 {
+    font-size: calc(1.3rem + 0.6vw);
+  }
+  @media (min-width: 1200px) {
+    h3,
+    .h3 {
+      font-size: 1.75rem;
+    }
+  }
+  h4,
+  .h4 {
+    font-size: calc(1.275rem + 0.3vw);
+  }
+  @media (min-width: 1200px) {
+    h4,
+    .h4 {
+      font-size: 1.5rem;
+    }
+  }
+  h5,
+  .h5 {
+    font-size: 1.25rem;
+  }
+  h6,
+  .h6 {
+    font-size: 1rem;
+  }
+  p {
+    margin-top: 0;
+    margin-bottom: 1rem;
   }
-}
-
-h3, .h3 {
-  font-size: calc(1.3rem + 0.6vw);
-}
-@media (min-width: 1200px) {
-  h3, .h3 {
-    font-size: 1.75rem;
+  abbr[title] {
+    text-decoration: underline dotted;
+    cursor: help;
+    text-decoration-skip-ink: none;
   }
-}
-
-h4, .h4 {
-  font-size: calc(1.275rem + 0.3vw);
-}
-@media (min-width: 1200px) {
-  h4, .h4 {
-    font-size: 1.5rem;
+  address {
+    margin-bottom: 1rem;
+    font-style: normal;
+    line-height: inherit;
+  }
+  ol,
+  ul {
+    padding-left: 2rem;
+  }
+  ol,
+  ul,
+  dl {
+    margin-top: 0;
+    margin-bottom: 1rem;
+  }
+  ol ol,
+  ul ul,
+  ol ul,
+  ul ol {
+    margin-bottom: 0;
+  }
+  dt {
+    font-weight: 700;
+  }
+  dd {
+    margin-bottom: 0.5rem;
+    margin-left: 0;
+  }
+  blockquote {
+    margin: 0 0 1rem;
+  }
+  b,
+  strong {
+    font-weight: bolder;
+  }
+  small,
+  .small {
+    font-size: 0.875em;
+  }
+  mark,
+  .mark {
+    padding: 0.1875em;
+    color: var(--bs-highlight-color);
+    background-color: var(--bs-highlight-bg);
+  }
+  sub,
+  sup {
+    position: relative;
+    font-size: 0.75em;
+    line-height: 0;
+    vertical-align: baseline;
+  }
+  sub {
+    bottom: -0.25em;
+  }
+  sup {
+    top: -0.5em;
+  }
+  a {
+    color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
+    text-decoration: underline;
+  }
+  a:hover {
+    --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
+  }
+  a:not([href]):not([class]), a:not([href]):not([class]):hover {
+    color: inherit;
+    text-decoration: none;
+  }
+  pre,
+  code,
+  kbd,
+  samp {
+    font-family: var(--bs-font-monospace);
+    font-size: 1em;
+  }
+  pre {
+    display: block;
+    margin-top: 0;
+    margin-bottom: 1rem;
+    overflow: auto;
+    font-size: 0.875em;
+  }
+  pre code {
+    font-size: inherit;
+    color: inherit;
+    word-break: normal;
+  }
+  code {
+    font-size: 0.875em;
+    color: var(--bs-code-color);
+    word-wrap: break-word;
+  }
+  a > code {
+    color: inherit;
+  }
+  kbd {
+    padding: 0.1875rem 0.375rem;
+    font-size: 0.875em;
+    color: var(--bs-body-bg);
+    background-color: var(--bs-body-color);
+    border-radius: 0.25rem;
+  }
+  kbd kbd {
+    padding: 0;
+    font-size: 1em;
+    font-weight: inherit;
+  }
+  figure {
+    margin: 0 0 1rem;
+  }
+  img,
+  svg {
+    vertical-align: middle;
+  }
+  table {
+    caption-side: bottom;
+    border-collapse: collapse;
+  }
+  caption {
+    padding-block: 0.5rem;
+    color: var(--bs-secondary-color);
+    text-align: left;
+  }
+  th {
+    text-align: inherit;
+    text-align: -webkit-match-parent;
+  }
+  thead,
+  tbody,
+  tfoot,
+  tr,
+  td,
+  th {
+    border-color: inherit;
+    border-style: solid;
+    border-width: 0;
+  }
+  label {
+    display: inline-block;
+  }
+  button {
+    border-radius: 0;
+  }
+  button:focus:not(:focus-visible) {
+    outline: 0;
+  }
+  input,
+  button,
+  select,
+  optgroup,
+  textarea {
+    margin: 0;
+    font-family: inherit;
+    font-size: inherit;
+    line-height: inherit;
+  }
+  button,
+  select {
+    text-transform: none;
+  }
+  [role=button] {
+    cursor: pointer;
+  }
+  select {
+    word-wrap: normal;
+  }
+  select:disabled {
+    opacity: 1;
+  }
+  [list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
+    display: none !important;
+  }
+  button,
+  [type=button],
+  [type=reset],
+  [type=submit] {
+    -webkit-appearance: button;
+  }
+  button:not(:disabled),
+  [type=button]:not(:disabled),
+  [type=reset]:not(:disabled),
+  [type=submit]:not(:disabled) {
+    cursor: pointer;
+  }
+  ::-moz-focus-inner {
+    padding: 0;
+    border-style: none;
+  }
+  textarea {
+    resize: vertical;
+  }
+  fieldset {
+    min-width: 0;
+    padding: 0;
+    margin: 0;
+    border: 0;
   }
-}
-
-h5, .h5 {
-  font-size: 1.25rem;
-}
-
-h6, .h6 {
-  font-size: 1rem;
-}
-
-p {
-  margin-top: 0;
-  margin-bottom: 1rem;
-}
-
-abbr[title] {
-  -webkit-text-decoration: underline dotted;
-  text-decoration: underline dotted;
-  cursor: help;
-  -webkit-text-decoration-skip-ink: none;
-  text-decoration-skip-ink: none;
-}
-
-address {
-  margin-bottom: 1rem;
-  font-style: normal;
-  line-height: inherit;
-}
-
-ol,
-ul {
-  padding-left: 2rem;
-}
-
-ol,
-ul,
-dl {
-  margin-top: 0;
-  margin-bottom: 1rem;
-}
-
-ol ol,
-ul ul,
-ol ul,
-ul ol {
-  margin-bottom: 0;
-}
-
-dt {
-  font-weight: 700;
-}
-
-dd {
-  margin-bottom: 0.5rem;
-  margin-left: 0;
-}
-
-blockquote {
-  margin: 0 0 1rem;
-}
-
-b,
-strong {
-  font-weight: bolder;
-}
-
-small, .small {
-  font-size: 0.875em;
-}
-
-mark, .mark {
-  padding: 0.1875em;
-  color: var(--bs-highlight-color);
-  background-color: var(--bs-highlight-bg);
-}
-
-sub,
-sup {
-  position: relative;
-  font-size: 0.75em;
-  line-height: 0;
-  vertical-align: baseline;
-}
-
-sub {
-  bottom: -0.25em;
-}
-
-sup {
-  top: -0.5em;
-}
-
-a {
-  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));
-  text-decoration: underline;
-}
-a:hover {
-  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);
-}
-
-a:not([href]):not([class]), a:not([href]):not([class]):hover {
-  color: inherit;
-  text-decoration: none;
-}
-
-pre,
-code,
-kbd,
-samp {
-  font-family: var(--bs-font-monospace);
-  font-size: 1em;
-}
-
-pre {
-  display: block;
-  margin-top: 0;
-  margin-bottom: 1rem;
-  overflow: auto;
-  font-size: 0.875em;
-}
-pre code {
-  font-size: inherit;
-  color: inherit;
-  word-break: normal;
-}
-
-code {
-  font-size: 0.875em;
-  color: var(--bs-code-color);
-  word-wrap: break-word;
-}
-a > code {
-  color: inherit;
-}
-
-kbd {
-  padding: 0.1875rem 0.375rem;
-  font-size: 0.875em;
-  color: var(--bs-body-bg);
-  background-color: var(--bs-body-color);
-  border-radius: 0.25rem;
-}
-kbd kbd {
-  padding: 0;
-  font-size: 1em;
-}
-
-figure {
-  margin: 0 0 1rem;
-}
-
-img,
-svg {
-  vertical-align: middle;
-}
-
-table {
-  caption-side: bottom;
-  border-collapse: collapse;
-}
-
-caption {
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-  color: var(--bs-secondary-color);
-  text-align: left;
-}
-
-th {
-  text-align: inherit;
-  text-align: -webkit-match-parent;
-}
-
-thead,
-tbody,
-tfoot,
-tr,
-td,
-th {
-  border-color: inherit;
-  border-style: solid;
-  border-width: 0;
-}
-
-label {
-  display: inline-block;
-}
-
-button {
-  border-radius: 0;
-}
-
-button:focus:not(:focus-visible) {
-  outline: 0;
-}
-
-input,
-button,
-select,
-optgroup,
-textarea {
-  margin: 0;
-  font-family: inherit;
-  font-size: inherit;
-  line-height: inherit;
-}
-
-button,
-select {
-  text-transform: none;
-}
-
-[role=button] {
-  cursor: pointer;
-}
-
-select {
-  word-wrap: normal;
-}
-select:disabled {
-  opacity: 1;
-}
-
-[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {
-  display: none !important;
-}
-
-button,
-[type=button],
-[type=reset],
-[type=submit] {
-  -webkit-appearance: button;
-}
-button:not(:disabled),
-[type=button]:not(:disabled),
-[type=reset]:not(:disabled),
-[type=submit]:not(:disabled) {
-  cursor: pointer;
-}
-
-::-moz-focus-inner {
-  padding: 0;
-  border-style: none;
-}
-
-textarea {
-  resize: vertical;
-}
-
-fieldset {
-  min-width: 0;
-  padding: 0;
-  margin: 0;
-  border: 0;
-}
-
-legend {
-  float: left;
-  width: 100%;
-  padding: 0;
-  margin-bottom: 0.5rem;
-  line-height: inherit;
-  font-size: calc(1.275rem + 0.3vw);
-}
-@media (min-width: 1200px) {
   legend {
-    font-size: 1.5rem;
+    float: left;
+    width: 100%;
+    padding: 0;
+    margin-bottom: 0.5rem;
+    line-height: inherit;
+    font-size: calc(1.275rem + 0.3vw);
+  }
+  @media (min-width: 1200px) {
+    legend {
+      font-size: 1.5rem;
+    }
+  }
+  legend + * {
+    clear: left;
+  }
+  ::-webkit-datetime-edit-fields-wrapper,
+  ::-webkit-datetime-edit-text,
+  ::-webkit-datetime-edit-minute,
+  ::-webkit-datetime-edit-hour-field,
+  ::-webkit-datetime-edit-day-field,
+  ::-webkit-datetime-edit-month-field,
+  ::-webkit-datetime-edit-year-field {
+    padding: 0;
+  }
+  ::-webkit-inner-spin-button {
+    height: auto;
+  }
+  [type=search] {
+    -webkit-appearance: textfield;
+    outline-offset: -2px;
+  }
+  [type=search]::-webkit-search-cancel-button {
+    cursor: pointer;
+    filter: grayscale(1);
+  }
+  /* rtl:raw:
+  [type="tel"],
+  [type="url"],
+  [type="email"],
+  [type="number"] {
+    direction: ltr;
+  }
+  */
+  ::-webkit-search-decoration {
+    -webkit-appearance: none;
+  }
+  ::-webkit-color-swatch-wrapper {
+    padding: 0;
+  }
+  ::file-selector-button {
+    font: inherit;
+    -webkit-appearance: button;
+  }
+  output {
+    display: inline-block;
+  }
+  iframe {
+    border: 0;
+  }
+  summary {
+    display: list-item;
+    cursor: pointer;
+  }
+  progress {
+    vertical-align: baseline;
+  }
+  [hidden] {
+    display: none !important;
   }
 }
-legend + * {
-  clear: left;
-}
-
-::-webkit-datetime-edit-fields-wrapper,
-::-webkit-datetime-edit-text,
-::-webkit-datetime-edit-minute,
-::-webkit-datetime-edit-hour-field,
-::-webkit-datetime-edit-day-field,
-::-webkit-datetime-edit-month-field,
-::-webkit-datetime-edit-year-field {
-  padding: 0;
-}
-
-::-webkit-inner-spin-button {
-  height: auto;
-}
-
-[type=search] {
-  -webkit-appearance: textfield;
-  outline-offset: -2px;
-}
-[type=search]::-webkit-search-cancel-button {
-  cursor: pointer;
-  filter: grayscale(1);
-}
-
-/* rtl:raw:
-[type="tel"],
-[type="url"],
-[type="email"],
-[type="number"] {
-  direction: ltr;
-}
-*/
-::-webkit-search-decoration {
-  -webkit-appearance: none;
-}
-
-::-webkit-color-swatch-wrapper {
-  padding: 0;
-}
-
-::-webkit-file-upload-button {
-  font: inherit;
-  -webkit-appearance: button;
-}
-
-::file-selector-button {
-  font: inherit;
-  -webkit-appearance: button;
-}
-
-output {
-  display: inline-block;
-}
-
-iframe {
-  border: 0;
-}
-
-summary {
-  display: list-item;
-  cursor: pointer;
-}
-
-progress {
-  vertical-align: baseline;
-}
-
-[hidden] {
-  display: none !important;
-}
-
-.lead {
-  font-size: 1.25rem;
-  font-weight: 300;
-}
-
-.display-1 {
-  font-weight: 300;
-  line-height: 1.2;
-  font-size: calc(1.625rem + 4.5vw);
-}
-@media (min-width: 1200px) {
+@layer content {
+  .lead {
+    font-size: 1.25rem;
+    font-weight: 300;
+  }
   .display-1 {
-    font-size: 5rem;
+    font-weight: 300;
+    line-height: 1.2;
+    font-size: calc(1.625rem + 4.5vw);
+  }
+  @media (min-width: 1200px) {
+    .display-1 {
+      font-size: 5rem;
+    }
   }
-}
-
-.display-2 {
-  font-weight: 300;
-  line-height: 1.2;
-  font-size: calc(1.575rem + 3.9vw);
-}
-@media (min-width: 1200px) {
   .display-2 {
-    font-size: 4.5rem;
+    font-weight: 300;
+    line-height: 1.2;
+    font-size: calc(1.575rem + 3.9vw);
+  }
+  @media (min-width: 1200px) {
+    .display-2 {
+      font-size: 4.5rem;
+    }
   }
-}
-
-.display-3 {
-  font-weight: 300;
-  line-height: 1.2;
-  font-size: calc(1.525rem + 3.3vw);
-}
-@media (min-width: 1200px) {
   .display-3 {
-    font-size: 4rem;
+    font-weight: 300;
+    line-height: 1.2;
+    font-size: calc(1.525rem + 3.3vw);
+  }
+  @media (min-width: 1200px) {
+    .display-3 {
+      font-size: 4rem;
+    }
   }
-}
-
-.display-4 {
-  font-weight: 300;
-  line-height: 1.2;
-  font-size: calc(1.475rem + 2.7vw);
-}
-@media (min-width: 1200px) {
   .display-4 {
-    font-size: 3.5rem;
+    font-weight: 300;
+    line-height: 1.2;
+    font-size: calc(1.475rem + 2.7vw);
+  }
+  @media (min-width: 1200px) {
+    .display-4 {
+      font-size: 3.5rem;
+    }
   }
-}
-
-.display-5 {
-  font-weight: 300;
-  line-height: 1.2;
-  font-size: calc(1.425rem + 2.1vw);
-}
-@media (min-width: 1200px) {
   .display-5 {
-    font-size: 3rem;
+    font-weight: 300;
+    line-height: 1.2;
+    font-size: calc(1.425rem + 2.1vw);
+  }
+  @media (min-width: 1200px) {
+    .display-5 {
+      font-size: 3rem;
+    }
   }
-}
-
-.display-6 {
-  font-weight: 300;
-  line-height: 1.2;
-  font-size: calc(1.375rem + 1.5vw);
-}
-@media (min-width: 1200px) {
   .display-6 {
-    font-size: 2.5rem;
+    font-weight: 300;
+    line-height: 1.2;
+    font-size: calc(1.375rem + 1.5vw);
   }
-}
-
-.list-unstyled {
-  padding-left: 0;
-  list-style: none;
-}
-
-.list-inline {
-  padding-left: 0;
-  list-style: none;
-}
-
-.list-inline-item {
-  display: inline-block;
-}
-.list-inline-item:not(:last-child) {
-  margin-right: 0.5rem;
-}
-
-.initialism {
-  font-size: 0.875em;
-  text-transform: uppercase;
-}
-
-.blockquote {
-  margin-bottom: 1rem;
-  font-size: 1.25rem;
-}
-.blockquote > :last-child {
-  margin-bottom: 0;
-}
-
-.blockquote-footer {
-  margin-top: -1rem;
-  margin-bottom: 1rem;
-  font-size: 0.875em;
-  color: #6c757d;
-}
-.blockquote-footer::before {
-  content: "— ";
-}
-
-.img-fluid {
-  max-width: 100%;
-  height: auto;
-}
-
-.img-thumbnail {
-  padding: 0.25rem;
-  background-color: var(--bs-body-bg);
-  border: var(--bs-border-width) solid var(--bs-border-color);
-  border-radius: var(--bs-border-radius);
-  max-width: 100%;
-  height: auto;
-}
-
-.figure {
-  display: inline-block;
-}
-
-.figure-img {
-  margin-bottom: 0.5rem;
-  line-height: 1;
-}
-
-.figure-caption {
-  font-size: 0.875em;
-  color: var(--bs-secondary-color);
-}
-
-.container,
-.container-fluid,
-.container-xxl,
-.container-xl,
-.container-lg,
-.container-md,
-.container-sm {
-  --bs-gutter-x: 1.5rem;
-  --bs-gutter-y: 0;
-  width: 100%;
-  padding-right: calc(var(--bs-gutter-x) * 0.5);
-  padding-left: calc(var(--bs-gutter-x) * 0.5);
-  margin-right: auto;
-  margin-left: auto;
-}
-
-@media (min-width: 576px) {
-  .container-sm, .container {
-    max-width: 540px;
+  @media (min-width: 1200px) {
+    .display-6 {
+      font-size: 2.5rem;
+    }
   }
-}
-@media (min-width: 768px) {
-  .container-md, .container-sm, .container {
-    max-width: 720px;
+  .list-unstyled {
+    padding-left: 0;
+    list-style: none;
   }
-}
-@media (min-width: 992px) {
-  .container-lg, .container-md, .container-sm, .container {
-    max-width: 960px;
+  .list-inline {
+    padding-left: 0;
+    list-style: none;
   }
-}
-@media (min-width: 1200px) {
-  .container-xl, .container-lg, .container-md, .container-sm, .container {
-    max-width: 1140px;
+  .list-inline-item {
+    display: inline-block;
+  }
+  .list-inline-item:not(:last-child) {
+    margin-right: 0.5rem;
+  }
+  .initialism {
+    font-size: 0.875em;
+    text-transform: uppercase;
+  }
+  .blockquote {
+    margin-bottom: 1rem;
+    font-size: 1.25rem;
+  }
+  .blockquote > :last-child {
+    margin-bottom: 0;
+  }
+  .blockquote-footer {
+    margin-top: -1rem;
+    margin-bottom: 1rem;
+    font-size: 0.875em;
+    color: #6c757d;
+  }
+  .blockquote-footer::before {
+    content: "— ";
+  }
+}
+@layer content {
+  .table {
+    --bs-table-color-type: initial;
+    --bs-table-bg-type: initial;
+    --bs-table-color-state: initial;
+    --bs-table-bg-state: initial;
+    --bs-table-color: var(--bs-emphasis-color);
+    --bs-table-bg: var(--bs-body-bg);
+    --bs-table-border-color: var(--bs-border-color);
+    --bs-table-accent-bg: transparent;
+    --bs-table-striped-color: var(--bs-emphasis-color);
+    --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
+    --bs-table-active-color: var(--bs-emphasis-color);
+    --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
+    --bs-table-hover-color: var(--bs-emphasis-color);
+    --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
+    width: 100%;
+    margin-bottom: 1rem;
+    vertical-align: top;
+    border-color: var(--bs-table-border-color);
+  }
+  .table > :not(caption) > * > * {
+    padding: 0.5rem 0.5rem;
+    color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
+    background-color: var(--bs-table-bg);
+    border-bottom-width: var(--bs-border-width);
+    box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
+  }
+  .table > tbody {
+    vertical-align: inherit;
+  }
+  .table > thead {
+    vertical-align: bottom;
+  }
+  .table-group-divider {
+    border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
+  }
+  .caption-top {
+    caption-side: top;
+  }
+  .table-sm > :not(caption) > * > * {
+    padding: 0.25rem 0.25rem;
+  }
+  .table-bordered > :not(caption) > * {
+    border-width: var(--bs-border-width) 0;
+  }
+  .table-bordered > :not(caption) > * > * {
+    border-width: 0 var(--bs-border-width);
+  }
+  .table-borderless > :not(caption) > * > * {
+    border-bottom-width: 0;
+  }
+  .table-borderless > :not(:first-child) {
+    border-top-width: 0;
+  }
+  .table-striped > tbody > tr:nth-of-type(odd) > * {
+    --bs-table-color-type: var(--bs-table-striped-color);
+    --bs-table-bg-type: var(--bs-table-striped-bg);
+  }
+  .table-striped-columns > :not(caption) > tr > :nth-child(even) {
+    --bs-table-color-type: var(--bs-table-striped-color);
+    --bs-table-bg-type: var(--bs-table-striped-bg);
+  }
+  .table-active {
+    --bs-table-color-state: var(--bs-table-active-color);
+    --bs-table-bg-state: var(--bs-table-active-bg);
+  }
+  .table-hover > tbody > tr:hover > * {
+    --bs-table-color-state: var(--bs-table-hover-color);
+    --bs-table-bg-state: var(--bs-table-hover-bg);
+  }
+  .table-primary {
+    --bs-table-color: #000;
+    --bs-table-bg: rgb(226.2, 217.2, 242.6);
+    --bs-table-border-color: rgb(180.96, 173.76, 194.08);
+    --bs-table-striped-bg: rgb(214.89, 206.34, 230.47);
+    --bs-table-striped-color: #000;
+    --bs-table-active-bg: rgb(203.58, 195.48, 218.34);
+    --bs-table-active-color: #000;
+    --bs-table-hover-bg: rgb(209.235, 200.91, 224.405);
+    --bs-table-hover-color: #000;
+    color: var(--bs-table-color);
+    border-color: var(--bs-table-border-color);
+  }
+  .table-secondary {
+    --bs-table-color: #000;
+    --bs-table-bg: rgb(225.6, 227.4, 229);
+    --bs-table-border-color: rgb(180.48, 181.92, 183.2);
+    --bs-table-striped-bg: rgb(214.32, 216.03, 217.55);
+    --bs-table-striped-color: #000;
+    --bs-table-active-bg: rgb(203.04, 204.66, 206.1);
+    --bs-table-active-color: #000;
+    --bs-table-hover-bg: rgb(208.68, 210.345, 211.825);
+    --bs-table-hover-color: #000;
+    color: var(--bs-table-color);
+    border-color: var(--bs-table-border-color);
+  }
+  .table-success {
+    --bs-table-color: #000;
+    --bs-table-bg: rgb(209, 231, 220.8);
+    --bs-table-border-color: rgb(167.2, 184.8, 176.64);
+    --bs-table-striped-bg: rgb(198.55, 219.45, 209.76);
+    --bs-table-striped-color: #000;
+    --bs-table-active-bg: rgb(188.1, 207.9, 198.72);
+    --bs-table-active-color: #000;
+    --bs-table-hover-bg: rgb(193.325, 213.675, 204.24);
+    --bs-table-hover-color: #000;
+    color: var(--bs-table-color);
+    border-color: var(--bs-table-border-color);
+  }
+  .table-info {
+    --bs-table-color: #000;
+    --bs-table-bg: rgb(206.6, 244.4, 252);
+    --bs-table-border-color: rgb(165.28, 195.52, 201.6);
+    --bs-table-striped-bg: rgb(196.27, 232.18, 239.4);
+    --bs-table-striped-color: #000;
+    --bs-table-active-bg: rgb(185.94, 219.96, 226.8);
+    --bs-table-active-color: #000;
+    --bs-table-hover-bg: rgb(191.105, 226.07, 233.1);
+    --bs-table-hover-color: #000;
+    color: var(--bs-table-color);
+    border-color: var(--bs-table-border-color);
+  }
+  .table-warning {
+    --bs-table-color: #000;
+    --bs-table-bg: rgb(255, 242.6, 205.4);
+    --bs-table-border-color: rgb(204, 194.08, 164.32);
+    --bs-table-striped-bg: rgb(242.25, 230.47, 195.13);
+    --bs-table-striped-color: #000;
+    --bs-table-active-bg: rgb(229.5, 218.34, 184.86);
+    --bs-table-active-color: #000;
+    --bs-table-hover-bg: rgb(235.875, 224.405, 189.995);
+    --bs-table-hover-color: #000;
+    color: var(--bs-table-color);
+    border-color: var(--bs-table-border-color);
+  }
+  .table-danger {
+    --bs-table-color: #000;
+    --bs-table-bg: rgb(248, 214.6, 217.8);
+    --bs-table-border-color: rgb(198.4, 171.68, 174.24);
+    --bs-table-striped-bg: rgb(235.6, 203.87, 206.91);
+    --bs-table-striped-color: #000;
+    --bs-table-active-bg: rgb(223.2, 193.14, 196.02);
+    --bs-table-active-color: #000;
+    --bs-table-hover-bg: rgb(229.4, 198.505, 201.465);
+    --bs-table-hover-color: #000;
+    color: var(--bs-table-color);
+    border-color: var(--bs-table-border-color);
+  }
+  .table-light {
+    --bs-table-color: #000;
+    --bs-table-bg: #f8f9fa;
+    --bs-table-border-color: rgb(198.4, 199.2, 200);
+    --bs-table-striped-bg: rgb(235.6, 236.55, 237.5);
+    --bs-table-striped-color: #000;
+    --bs-table-active-bg: rgb(223.2, 224.1, 225);
+    --bs-table-active-color: #000;
+    --bs-table-hover-bg: rgb(229.4, 230.325, 231.25);
+    --bs-table-hover-color: #000;
+    color: var(--bs-table-color);
+    border-color: var(--bs-table-border-color);
+  }
+  .table-dark {
+    --bs-table-color: #fff;
+    --bs-table-bg: #212529;
+    --bs-table-border-color: rgb(77.4, 80.6, 83.8);
+    --bs-table-striped-bg: rgb(44.1, 47.9, 51.7);
+    --bs-table-striped-color: #fff;
+    --bs-table-active-bg: rgb(55.2, 58.8, 62.4);
+    --bs-table-active-color: #fff;
+    --bs-table-hover-bg: rgb(49.65, 53.35, 57.05);
+    --bs-table-hover-color: #fff;
+    color: var(--bs-table-color);
+    border-color: var(--bs-table-border-color);
+  }
+  .table-responsive {
+    overflow-x: auto;
+    -webkit-overflow-scrolling: touch;
+  }
+  @media (max-width: 575.98px) {
+    .table-responsive-sm {
+      overflow-x: auto;
+      -webkit-overflow-scrolling: touch;
+    }
+  }
+  @media (max-width: 767.98px) {
+    .table-responsive-md {
+      overflow-x: auto;
+      -webkit-overflow-scrolling: touch;
+    }
+  }
+  @media (max-width: 991.98px) {
+    .table-responsive-lg {
+      overflow-x: auto;
+      -webkit-overflow-scrolling: touch;
+    }
+  }
+  @media (max-width: 1199.98px) {
+    .table-responsive-xl {
+      overflow-x: auto;
+      -webkit-overflow-scrolling: touch;
+    }
+  }
+  @media (max-width: 1399.98px) {
+    .table-responsive-xxl {
+      overflow-x: auto;
+      -webkit-overflow-scrolling: touch;
+    }
+  }
+}
+@layer content {
+  .img-fluid {
+    max-width: 100%;
+    height: auto;
+  }
+  .img-thumbnail {
+    padding: 0.25rem;
+    background-color: var(--bs-body-bg);
+    border: var(--bs-border-width) solid var(--bs-border-color);
+    border-radius: var(--bs-border-radius);
+    max-width: 100%;
+    height: auto;
+  }
+  .figure {
+    display: inline-block;
+  }
+  .figure-img {
+    margin-bottom: 0.5rem;
+    line-height: 1;
+  }
+  .figure-caption {
+    font-size: 0.875em;
+    color: var(--bs-secondary-color);
   }
 }
-@media (min-width: 1400px) {
-  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
-    max-width: 1320px;
+@layer layout {
+  .container,
+  .container-fluid,
+  .container-xxl,
+  .container-xl,
+  .container-lg,
+  .container-md,
+  .container-sm {
+    --bs-gutter-x: 1.5rem;
+    --bs-gutter-y: 0;
+    width: 100%;
+    padding-right: calc(var(--bs-gutter-x) * 0.5);
+    padding-left: calc(var(--bs-gutter-x) * 0.5);
+    margin-right: auto;
+    margin-left: auto;
+  }
+  @media (min-width: 576px) {
+    .container-sm, .container {
+      max-width: 540px;
+    }
+  }
+  @media (min-width: 768px) {
+    .container-md, .container-sm, .container {
+      max-width: 720px;
+    }
+  }
+  @media (min-width: 992px) {
+    .container-lg, .container-md, .container-sm, .container {
+      max-width: 960px;
+    }
+  }
+  @media (min-width: 1200px) {
+    .container-xl, .container-lg, .container-md, .container-sm, .container {
+      max-width: 1140px;
+    }
+  }
+  @media (min-width: 1400px) {
+    .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {
+      max-width: 1320px;
+    }
   }
 }
 :root {
@@ -788,11261 +1026,10879 @@ progress {
   --bs-breakpoint-xxl: 1400px;
 }
 
-.row {
-  --bs-gutter-x: 1.5rem;
-  --bs-gutter-y: 0;
-  display: flex;
-  flex-wrap: wrap;
-  margin-top: calc(-1 * var(--bs-gutter-y));
-  margin-right: calc(-0.5 * var(--bs-gutter-x));
-  margin-left: calc(-0.5 * var(--bs-gutter-x));
-}
-.row > * {
-  flex-shrink: 0;
-  width: 100%;
-  max-width: 100%;
-  padding-right: calc(var(--bs-gutter-x) * 0.5);
-  padding-left: calc(var(--bs-gutter-x) * 0.5);
-  margin-top: var(--bs-gutter-y);
-}
-
-.col {
-  flex: 1 0 0;
-}
-
-.row-cols-auto > * {
-  flex: 0 0 auto;
-  width: auto;
-}
-
-.row-cols-1 > * {
-  flex: 0 0 auto;
-  width: 100%;
-}
-
-.row-cols-2 > * {
-  flex: 0 0 auto;
-  width: 50%;
-}
-
-.row-cols-3 > * {
-  flex: 0 0 auto;
-  width: 33.33333333%;
-}
-
-.row-cols-4 > * {
-  flex: 0 0 auto;
-  width: 25%;
-}
-
-.row-cols-5 > * {
-  flex: 0 0 auto;
-  width: 20%;
-}
-
-.row-cols-6 > * {
-  flex: 0 0 auto;
-  width: 16.66666667%;
-}
-
-.col-auto {
-  flex: 0 0 auto;
-  width: auto;
-}
-
-.col-1 {
-  flex: 0 0 auto;
-  width: 8.33333333%;
-}
-
-.col-2 {
-  flex: 0 0 auto;
-  width: 16.66666667%;
-}
-
-.col-3 {
-  flex: 0 0 auto;
-  width: 25%;
-}
-
-.col-4 {
-  flex: 0 0 auto;
-  width: 33.33333333%;
-}
-
-.col-5 {
-  flex: 0 0 auto;
-  width: 41.66666667%;
-}
-
-.col-6 {
-  flex: 0 0 auto;
-  width: 50%;
-}
-
-.col-7 {
-  flex: 0 0 auto;
-  width: 58.33333333%;
-}
-
-.col-8 {
-  flex: 0 0 auto;
-  width: 66.66666667%;
-}
-
-.col-9 {
-  flex: 0 0 auto;
-  width: 75%;
-}
-
-.col-10 {
-  flex: 0 0 auto;
-  width: 83.33333333%;
-}
-
-.col-11 {
-  flex: 0 0 auto;
-  width: 91.66666667%;
-}
-
-.col-12 {
-  flex: 0 0 auto;
-  width: 100%;
-}
-
-.offset-1 {
-  margin-left: 8.33333333%;
-}
-
-.offset-2 {
-  margin-left: 16.66666667%;
-}
-
-.offset-3 {
-  margin-left: 25%;
-}
-
-.offset-4 {
-  margin-left: 33.33333333%;
-}
-
-.offset-5 {
-  margin-left: 41.66666667%;
-}
-
-.offset-6 {
-  margin-left: 50%;
-}
-
-.offset-7 {
-  margin-left: 58.33333333%;
-}
-
-.offset-8 {
-  margin-left: 66.66666667%;
-}
-
-.offset-9 {
-  margin-left: 75%;
-}
-
-.offset-10 {
-  margin-left: 83.33333333%;
-}
-
-.offset-11 {
-  margin-left: 91.66666667%;
-}
-
-.g-0,
-.gx-0 {
-  --bs-gutter-x: 0;
-}
-
-.g-0,
-.gy-0 {
-  --bs-gutter-y: 0;
-}
-
-.g-1,
-.gx-1 {
-  --bs-gutter-x: 0.25rem;
-}
-
-.g-1,
-.gy-1 {
-  --bs-gutter-y: 0.25rem;
-}
-
-.g-2,
-.gx-2 {
-  --bs-gutter-x: 0.5rem;
-}
-
-.g-2,
-.gy-2 {
-  --bs-gutter-y: 0.5rem;
-}
-
-.g-3,
-.gx-3 {
-  --bs-gutter-x: 1rem;
-}
-
-.g-3,
-.gy-3 {
-  --bs-gutter-y: 1rem;
-}
-
-.g-4,
-.gx-4 {
-  --bs-gutter-x: 1.5rem;
-}
-
-.g-4,
-.gy-4 {
-  --bs-gutter-y: 1.5rem;
-}
-
-.g-5,
-.gx-5 {
-  --bs-gutter-x: 3rem;
-}
-
-.g-5,
-.gy-5 {
-  --bs-gutter-y: 3rem;
-}
-
-@media (min-width: 576px) {
-  .col-sm {
+@layer layout {
+  .row {
+    --bs-gutter-x: 1.5rem;
+    --bs-gutter-y: 0;
+    display: flex;
+    flex-wrap: wrap;
+    margin-top: calc(-1 * var(--bs-gutter-y));
+    margin-right: calc(-0.5 * var(--bs-gutter-x));
+    margin-left: calc(-0.5 * var(--bs-gutter-x));
+  }
+  .row > * {
+    flex-shrink: 0;
+    width: 100%;
+    max-width: 100%;
+    padding-right: calc(var(--bs-gutter-x) * 0.5);
+    padding-left: calc(var(--bs-gutter-x) * 0.5);
+    margin-top: var(--bs-gutter-y);
+  }
+  .col {
     flex: 1 0 0;
   }
-  .row-cols-sm-auto > * {
+  .row-cols-auto > * {
     flex: 0 0 auto;
     width: auto;
   }
-  .row-cols-sm-1 > * {
+  .row-cols-1 > * {
     flex: 0 0 auto;
     width: 100%;
   }
-  .row-cols-sm-2 > * {
+  .row-cols-2 > * {
     flex: 0 0 auto;
     width: 50%;
   }
-  .row-cols-sm-3 > * {
+  .row-cols-3 > * {
     flex: 0 0 auto;
-    width: 33.33333333%;
+    width: 33.3333333333%;
   }
-  .row-cols-sm-4 > * {
+  .row-cols-4 > * {
     flex: 0 0 auto;
     width: 25%;
   }
-  .row-cols-sm-5 > * {
+  .row-cols-5 > * {
     flex: 0 0 auto;
     width: 20%;
   }
-  .row-cols-sm-6 > * {
+  .row-cols-6 > * {
     flex: 0 0 auto;
-    width: 16.66666667%;
+    width: 16.6666666667%;
   }
-  .col-sm-auto {
+  .col-auto {
     flex: 0 0 auto;
     width: auto;
   }
-  .col-sm-1 {
+  .col-1 {
     flex: 0 0 auto;
-    width: 8.33333333%;
+    width: 8.3333333333%;
   }
-  .col-sm-2 {
+  .col-2 {
     flex: 0 0 auto;
-    width: 16.66666667%;
+    width: 16.6666666667%;
   }
-  .col-sm-3 {
+  .col-3 {
     flex: 0 0 auto;
     width: 25%;
   }
-  .col-sm-4 {
+  .col-4 {
     flex: 0 0 auto;
-    width: 33.33333333%;
+    width: 33.3333333333%;
   }
-  .col-sm-5 {
+  .col-5 {
     flex: 0 0 auto;
-    width: 41.66666667%;
+    width: 41.6666666667%;
   }
-  .col-sm-6 {
+  .col-6 {
     flex: 0 0 auto;
     width: 50%;
   }
-  .col-sm-7 {
+  .col-7 {
     flex: 0 0 auto;
-    width: 58.33333333%;
+    width: 58.3333333333%;
   }
-  .col-sm-8 {
+  .col-8 {
     flex: 0 0 auto;
-    width: 66.66666667%;
+    width: 66.6666666667%;
   }
-  .col-sm-9 {
+  .col-9 {
     flex: 0 0 auto;
     width: 75%;
   }
-  .col-sm-10 {
+  .col-10 {
     flex: 0 0 auto;
-    width: 83.33333333%;
+    width: 83.3333333333%;
   }
-  .col-sm-11 {
+  .col-11 {
     flex: 0 0 auto;
-    width: 91.66666667%;
+    width: 91.6666666667%;
   }
-  .col-sm-12 {
+  .col-12 {
     flex: 0 0 auto;
     width: 100%;
   }
-  .offset-sm-0 {
-    margin-left: 0;
-  }
-  .offset-sm-1 {
-    margin-left: 8.33333333%;
+  .offset-1 {
+    margin-left: 8.3333333333%;
   }
-  .offset-sm-2 {
-    margin-left: 16.66666667%;
+  .offset-2 {
+    margin-left: 16.6666666667%;
   }
-  .offset-sm-3 {
+  .offset-3 {
     margin-left: 25%;
   }
-  .offset-sm-4 {
-    margin-left: 33.33333333%;
+  .offset-4 {
+    margin-left: 33.3333333333%;
   }
-  .offset-sm-5 {
-    margin-left: 41.66666667%;
+  .offset-5 {
+    margin-left: 41.6666666667%;
   }
-  .offset-sm-6 {
+  .offset-6 {
     margin-left: 50%;
   }
-  .offset-sm-7 {
-    margin-left: 58.33333333%;
+  .offset-7 {
+    margin-left: 58.3333333333%;
   }
-  .offset-sm-8 {
-    margin-left: 66.66666667%;
+  .offset-8 {
+    margin-left: 66.6666666667%;
   }
-  .offset-sm-9 {
+  .offset-9 {
     margin-left: 75%;
   }
-  .offset-sm-10 {
-    margin-left: 83.33333333%;
+  .offset-10 {
+    margin-left: 83.3333333333%;
   }
-  .offset-sm-11 {
-    margin-left: 91.66666667%;
+  .offset-11 {
+    margin-left: 91.6666666667%;
   }
-  .g-sm-0,
-  .gx-sm-0 {
+  .g-0,
+  .gx-0 {
     --bs-gutter-x: 0;
   }
-  .g-sm-0,
-  .gy-sm-0 {
+  .g-0,
+  .gy-0 {
     --bs-gutter-y: 0;
   }
-  .g-sm-1,
-  .gx-sm-1 {
+  .g-1,
+  .gx-1 {
     --bs-gutter-x: 0.25rem;
   }
-  .g-sm-1,
-  .gy-sm-1 {
+  .g-1,
+  .gy-1 {
     --bs-gutter-y: 0.25rem;
   }
-  .g-sm-2,
-  .gx-sm-2 {
+  .g-2,
+  .gx-2 {
     --bs-gutter-x: 0.5rem;
   }
-  .g-sm-2,
-  .gy-sm-2 {
+  .g-2,
+  .gy-2 {
     --bs-gutter-y: 0.5rem;
   }
-  .g-sm-3,
-  .gx-sm-3 {
+  .g-3,
+  .gx-3 {
     --bs-gutter-x: 1rem;
   }
-  .g-sm-3,
-  .gy-sm-3 {
+  .g-3,
+  .gy-3 {
     --bs-gutter-y: 1rem;
   }
-  .g-sm-4,
-  .gx-sm-4 {
+  .g-4,
+  .gx-4 {
     --bs-gutter-x: 1.5rem;
   }
-  .g-sm-4,
-  .gy-sm-4 {
+  .g-4,
+  .gy-4 {
     --bs-gutter-y: 1.5rem;
   }
-  .g-sm-5,
-  .gx-sm-5 {
+  .g-5,
+  .gx-5 {
     --bs-gutter-x: 3rem;
   }
-  .g-sm-5,
-  .gy-sm-5 {
+  .g-5,
+  .gy-5 {
     --bs-gutter-y: 3rem;
   }
-}
-@media (min-width: 768px) {
-  .col-md {
-    flex: 1 0 0;
-  }
-  .row-cols-md-auto > * {
-    flex: 0 0 auto;
-    width: auto;
+  @media (min-width: 576px) {
+    .col-sm {
+      flex: 1 0 0;
+    }
+    .row-cols-sm-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-sm-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-sm-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-sm-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-sm-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-sm-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-sm-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-sm-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-sm-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-sm-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-sm-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-sm-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-sm-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-sm-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-sm-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-sm-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-sm-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-sm-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-sm-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-sm-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-sm-0 {
+      margin-left: 0;
+    }
+    .offset-sm-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-sm-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-sm-3 {
+      margin-left: 25%;
+    }
+    .offset-sm-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-sm-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-sm-6 {
+      margin-left: 50%;
+    }
+    .offset-sm-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-sm-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-sm-9 {
+      margin-left: 75%;
+    }
+    .offset-sm-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-sm-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-sm-0,
+    .gx-sm-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-sm-0,
+    .gy-sm-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-sm-1,
+    .gx-sm-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-sm-1,
+    .gy-sm-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-sm-2,
+    .gx-sm-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-sm-2,
+    .gy-sm-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-sm-3,
+    .gx-sm-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-sm-3,
+    .gy-sm-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-sm-4,
+    .gx-sm-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-sm-4,
+    .gy-sm-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-sm-5,
+    .gx-sm-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-sm-5,
+    .gy-sm-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  @media (min-width: 768px) {
+    .col-md {
+      flex: 1 0 0;
+    }
+    .row-cols-md-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-md-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-md-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-md-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-md-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-md-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-md-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-md-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-md-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-md-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-md-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-md-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-md-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-md-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-md-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-md-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-md-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-md-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-md-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-md-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-md-0 {
+      margin-left: 0;
+    }
+    .offset-md-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-md-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-md-3 {
+      margin-left: 25%;
+    }
+    .offset-md-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-md-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-md-6 {
+      margin-left: 50%;
+    }
+    .offset-md-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-md-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-md-9 {
+      margin-left: 75%;
+    }
+    .offset-md-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-md-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-md-0,
+    .gx-md-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-md-0,
+    .gy-md-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-md-1,
+    .gx-md-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-md-1,
+    .gy-md-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-md-2,
+    .gx-md-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-md-2,
+    .gy-md-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-md-3,
+    .gx-md-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-md-3,
+    .gy-md-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-md-4,
+    .gx-md-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-md-4,
+    .gy-md-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-md-5,
+    .gx-md-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-md-5,
+    .gy-md-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  @media (min-width: 992px) {
+    .col-lg {
+      flex: 1 0 0;
+    }
+    .row-cols-lg-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-lg-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-lg-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-lg-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-lg-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-lg-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-lg-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-lg-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-lg-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-lg-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-lg-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-lg-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-lg-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-lg-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-lg-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-lg-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-lg-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-lg-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-lg-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-lg-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-lg-0 {
+      margin-left: 0;
+    }
+    .offset-lg-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-lg-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-lg-3 {
+      margin-left: 25%;
+    }
+    .offset-lg-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-lg-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-lg-6 {
+      margin-left: 50%;
+    }
+    .offset-lg-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-lg-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-lg-9 {
+      margin-left: 75%;
+    }
+    .offset-lg-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-lg-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-lg-0,
+    .gx-lg-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-lg-0,
+    .gy-lg-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-lg-1,
+    .gx-lg-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-lg-1,
+    .gy-lg-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-lg-2,
+    .gx-lg-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-lg-2,
+    .gy-lg-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-lg-3,
+    .gx-lg-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-lg-3,
+    .gy-lg-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-lg-4,
+    .gx-lg-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-lg-4,
+    .gy-lg-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-lg-5,
+    .gx-lg-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-lg-5,
+    .gy-lg-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  @media (min-width: 1200px) {
+    .col-xl {
+      flex: 1 0 0;
+    }
+    .row-cols-xl-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-xl-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-xl-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-xl-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-xl-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-xl-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-xl-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-xl-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-xl-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-xl-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-xl-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-xl-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-xl-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-xl-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-xl-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-xl-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-xl-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-xl-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-xl-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-xl-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-xl-0 {
+      margin-left: 0;
+    }
+    .offset-xl-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-xl-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-xl-3 {
+      margin-left: 25%;
+    }
+    .offset-xl-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-xl-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-xl-6 {
+      margin-left: 50%;
+    }
+    .offset-xl-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-xl-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-xl-9 {
+      margin-left: 75%;
+    }
+    .offset-xl-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-xl-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-xl-0,
+    .gx-xl-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-xl-0,
+    .gy-xl-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-xl-1,
+    .gx-xl-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-xl-1,
+    .gy-xl-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-xl-2,
+    .gx-xl-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-xl-2,
+    .gy-xl-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-xl-3,
+    .gx-xl-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-xl-3,
+    .gy-xl-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-xl-4,
+    .gx-xl-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-xl-4,
+    .gy-xl-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-xl-5,
+    .gx-xl-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-xl-5,
+    .gy-xl-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  @media (min-width: 1400px) {
+    .col-xxl {
+      flex: 1 0 0;
+    }
+    .row-cols-xxl-auto > * {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .row-cols-xxl-1 > * {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .row-cols-xxl-2 > * {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .row-cols-xxl-3 > * {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .row-cols-xxl-4 > * {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .row-cols-xxl-5 > * {
+      flex: 0 0 auto;
+      width: 20%;
+    }
+    .row-cols-xxl-6 > * {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-xxl-auto {
+      flex: 0 0 auto;
+      width: auto;
+    }
+    .col-xxl-1 {
+      flex: 0 0 auto;
+      width: 8.3333333333%;
+    }
+    .col-xxl-2 {
+      flex: 0 0 auto;
+      width: 16.6666666667%;
+    }
+    .col-xxl-3 {
+      flex: 0 0 auto;
+      width: 25%;
+    }
+    .col-xxl-4 {
+      flex: 0 0 auto;
+      width: 33.3333333333%;
+    }
+    .col-xxl-5 {
+      flex: 0 0 auto;
+      width: 41.6666666667%;
+    }
+    .col-xxl-6 {
+      flex: 0 0 auto;
+      width: 50%;
+    }
+    .col-xxl-7 {
+      flex: 0 0 auto;
+      width: 58.3333333333%;
+    }
+    .col-xxl-8 {
+      flex: 0 0 auto;
+      width: 66.6666666667%;
+    }
+    .col-xxl-9 {
+      flex: 0 0 auto;
+      width: 75%;
+    }
+    .col-xxl-10 {
+      flex: 0 0 auto;
+      width: 83.3333333333%;
+    }
+    .col-xxl-11 {
+      flex: 0 0 auto;
+      width: 91.6666666667%;
+    }
+    .col-xxl-12 {
+      flex: 0 0 auto;
+      width: 100%;
+    }
+    .offset-xxl-0 {
+      margin-left: 0;
+    }
+    .offset-xxl-1 {
+      margin-left: 8.3333333333%;
+    }
+    .offset-xxl-2 {
+      margin-left: 16.6666666667%;
+    }
+    .offset-xxl-3 {
+      margin-left: 25%;
+    }
+    .offset-xxl-4 {
+      margin-left: 33.3333333333%;
+    }
+    .offset-xxl-5 {
+      margin-left: 41.6666666667%;
+    }
+    .offset-xxl-6 {
+      margin-left: 50%;
+    }
+    .offset-xxl-7 {
+      margin-left: 58.3333333333%;
+    }
+    .offset-xxl-8 {
+      margin-left: 66.6666666667%;
+    }
+    .offset-xxl-9 {
+      margin-left: 75%;
+    }
+    .offset-xxl-10 {
+      margin-left: 83.3333333333%;
+    }
+    .offset-xxl-11 {
+      margin-left: 91.6666666667%;
+    }
+    .g-xxl-0,
+    .gx-xxl-0 {
+      --bs-gutter-x: 0;
+    }
+    .g-xxl-0,
+    .gy-xxl-0 {
+      --bs-gutter-y: 0;
+    }
+    .g-xxl-1,
+    .gx-xxl-1 {
+      --bs-gutter-x: 0.25rem;
+    }
+    .g-xxl-1,
+    .gy-xxl-1 {
+      --bs-gutter-y: 0.25rem;
+    }
+    .g-xxl-2,
+    .gx-xxl-2 {
+      --bs-gutter-x: 0.5rem;
+    }
+    .g-xxl-2,
+    .gy-xxl-2 {
+      --bs-gutter-y: 0.5rem;
+    }
+    .g-xxl-3,
+    .gx-xxl-3 {
+      --bs-gutter-x: 1rem;
+    }
+    .g-xxl-3,
+    .gy-xxl-3 {
+      --bs-gutter-y: 1rem;
+    }
+    .g-xxl-4,
+    .gx-xxl-4 {
+      --bs-gutter-x: 1.5rem;
+    }
+    .g-xxl-4,
+    .gy-xxl-4 {
+      --bs-gutter-y: 1.5rem;
+    }
+    .g-xxl-5,
+    .gx-xxl-5 {
+      --bs-gutter-x: 3rem;
+    }
+    .g-xxl-5,
+    .gy-xxl-5 {
+      --bs-gutter-y: 3rem;
+    }
+  }
+  .grid {
+    --bs-columns: 12;
+    --bs-rows: 1;
+    --bs-gap: 1.5rem;
+    display: grid;
+    grid-template-rows: repeat(var(--bs-rows), 1fr);
+    grid-template-columns: repeat(var(--bs-columns), 1fr);
+    gap: var(--bs-gap);
+  }
+  .g-col-1 {
+    grid-column: auto/span 1;
+  }
+  .g-col-2 {
+    grid-column: auto/span 2;
+  }
+  .g-col-3 {
+    grid-column: auto/span 3;
+  }
+  .g-col-4 {
+    grid-column: auto/span 4;
+  }
+  .g-col-5 {
+    grid-column: auto/span 5;
+  }
+  .g-col-6 {
+    grid-column: auto/span 6;
+  }
+  .g-col-7 {
+    grid-column: auto/span 7;
+  }
+  .g-col-8 {
+    grid-column: auto/span 8;
+  }
+  .g-col-9 {
+    grid-column: auto/span 9;
+  }
+  .g-col-10 {
+    grid-column: auto/span 10;
+  }
+  .g-col-11 {
+    grid-column: auto/span 11;
+  }
+  .g-col-12 {
+    grid-column: auto/span 12;
+  }
+  .g-start-1 {
+    grid-column-start: 1;
+  }
+  .g-start-2 {
+    grid-column-start: 2;
+  }
+  .g-start-3 {
+    grid-column-start: 3;
+  }
+  .g-start-4 {
+    grid-column-start: 4;
+  }
+  .g-start-5 {
+    grid-column-start: 5;
+  }
+  .g-start-6 {
+    grid-column-start: 6;
+  }
+  .g-start-7 {
+    grid-column-start: 7;
+  }
+  .g-start-8 {
+    grid-column-start: 8;
+  }
+  .g-start-9 {
+    grid-column-start: 9;
+  }
+  .g-start-10 {
+    grid-column-start: 10;
+  }
+  .g-start-11 {
+    grid-column-start: 11;
+  }
+  @media (min-width: 576px) {
+    .g-col-sm-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-sm-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-sm-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-sm-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-sm-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-sm-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-sm-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-sm-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-sm-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-sm-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-sm-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-sm-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-sm-1 {
+      grid-column-start: 1;
+    }
+    .g-start-sm-2 {
+      grid-column-start: 2;
+    }
+    .g-start-sm-3 {
+      grid-column-start: 3;
+    }
+    .g-start-sm-4 {
+      grid-column-start: 4;
+    }
+    .g-start-sm-5 {
+      grid-column-start: 5;
+    }
+    .g-start-sm-6 {
+      grid-column-start: 6;
+    }
+    .g-start-sm-7 {
+      grid-column-start: 7;
+    }
+    .g-start-sm-8 {
+      grid-column-start: 8;
+    }
+    .g-start-sm-9 {
+      grid-column-start: 9;
+    }
+    .g-start-sm-10 {
+      grid-column-start: 10;
+    }
+    .g-start-sm-11 {
+      grid-column-start: 11;
+    }
+  }
+  @media (min-width: 768px) {
+    .g-col-md-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-md-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-md-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-md-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-md-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-md-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-md-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-md-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-md-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-md-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-md-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-md-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-md-1 {
+      grid-column-start: 1;
+    }
+    .g-start-md-2 {
+      grid-column-start: 2;
+    }
+    .g-start-md-3 {
+      grid-column-start: 3;
+    }
+    .g-start-md-4 {
+      grid-column-start: 4;
+    }
+    .g-start-md-5 {
+      grid-column-start: 5;
+    }
+    .g-start-md-6 {
+      grid-column-start: 6;
+    }
+    .g-start-md-7 {
+      grid-column-start: 7;
+    }
+    .g-start-md-8 {
+      grid-column-start: 8;
+    }
+    .g-start-md-9 {
+      grid-column-start: 9;
+    }
+    .g-start-md-10 {
+      grid-column-start: 10;
+    }
+    .g-start-md-11 {
+      grid-column-start: 11;
+    }
+  }
+  @media (min-width: 992px) {
+    .g-col-lg-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-lg-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-lg-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-lg-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-lg-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-lg-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-lg-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-lg-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-lg-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-lg-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-lg-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-lg-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-lg-1 {
+      grid-column-start: 1;
+    }
+    .g-start-lg-2 {
+      grid-column-start: 2;
+    }
+    .g-start-lg-3 {
+      grid-column-start: 3;
+    }
+    .g-start-lg-4 {
+      grid-column-start: 4;
+    }
+    .g-start-lg-5 {
+      grid-column-start: 5;
+    }
+    .g-start-lg-6 {
+      grid-column-start: 6;
+    }
+    .g-start-lg-7 {
+      grid-column-start: 7;
+    }
+    .g-start-lg-8 {
+      grid-column-start: 8;
+    }
+    .g-start-lg-9 {
+      grid-column-start: 9;
+    }
+    .g-start-lg-10 {
+      grid-column-start: 10;
+    }
+    .g-start-lg-11 {
+      grid-column-start: 11;
+    }
+  }
+  @media (min-width: 1200px) {
+    .g-col-xl-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-xl-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-xl-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-xl-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-xl-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-xl-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-xl-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-xl-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-xl-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-xl-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-xl-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-xl-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-xl-1 {
+      grid-column-start: 1;
+    }
+    .g-start-xl-2 {
+      grid-column-start: 2;
+    }
+    .g-start-xl-3 {
+      grid-column-start: 3;
+    }
+    .g-start-xl-4 {
+      grid-column-start: 4;
+    }
+    .g-start-xl-5 {
+      grid-column-start: 5;
+    }
+    .g-start-xl-6 {
+      grid-column-start: 6;
+    }
+    .g-start-xl-7 {
+      grid-column-start: 7;
+    }
+    .g-start-xl-8 {
+      grid-column-start: 8;
+    }
+    .g-start-xl-9 {
+      grid-column-start: 9;
+    }
+    .g-start-xl-10 {
+      grid-column-start: 10;
+    }
+    .g-start-xl-11 {
+      grid-column-start: 11;
+    }
+  }
+  @media (min-width: 1400px) {
+    .g-col-xxl-1 {
+      grid-column: auto/span 1;
+    }
+    .g-col-xxl-2 {
+      grid-column: auto/span 2;
+    }
+    .g-col-xxl-3 {
+      grid-column: auto/span 3;
+    }
+    .g-col-xxl-4 {
+      grid-column: auto/span 4;
+    }
+    .g-col-xxl-5 {
+      grid-column: auto/span 5;
+    }
+    .g-col-xxl-6 {
+      grid-column: auto/span 6;
+    }
+    .g-col-xxl-7 {
+      grid-column: auto/span 7;
+    }
+    .g-col-xxl-8 {
+      grid-column: auto/span 8;
+    }
+    .g-col-xxl-9 {
+      grid-column: auto/span 9;
+    }
+    .g-col-xxl-10 {
+      grid-column: auto/span 10;
+    }
+    .g-col-xxl-11 {
+      grid-column: auto/span 11;
+    }
+    .g-col-xxl-12 {
+      grid-column: auto/span 12;
+    }
+    .g-start-xxl-1 {
+      grid-column-start: 1;
+    }
+    .g-start-xxl-2 {
+      grid-column-start: 2;
+    }
+    .g-start-xxl-3 {
+      grid-column-start: 3;
+    }
+    .g-start-xxl-4 {
+      grid-column-start: 4;
+    }
+    .g-start-xxl-5 {
+      grid-column-start: 5;
+    }
+    .g-start-xxl-6 {
+      grid-column-start: 6;
+    }
+    .g-start-xxl-7 {
+      grid-column-start: 7;
+    }
+    .g-start-xxl-8 {
+      grid-column-start: 8;
+    }
+    .g-start-xxl-9 {
+      grid-column-start: 9;
+    }
+    .g-start-xxl-10 {
+      grid-column-start: 10;
+    }
+    .g-start-xxl-11 {
+      grid-column-start: 11;
+    }
+  }
+  .grid-cols-subgrid {
+    grid-template-columns: subgrid;
+  }
+  .grid-fill {
+    --bs-gap: 1.5rem;
+    display: grid;
+    grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
+    grid-auto-flow: row;
+    gap: var(--bs-gap);
+  }
+  .g-col-auto {
+    grid-column: auto/auto;
+  }
+  .grid-cols-3 {
+    --bs-columns: 3;
+  }
+  .grid-cols-4 {
+    --bs-columns: 4;
+  }
+  .grid-cols-6 {
+    --bs-columns: 6;
+  }
+}
+@layer forms {
+  .form-label {
+    margin-bottom: 0.5rem;
+  }
+  .col-form-label {
+    padding-top: add(0.375rem, var(--bs-border-width));
+    padding-bottom: add(0.375rem, var(--bs-border-width));
+    margin-bottom: 0;
+    font-size: inherit;
+    line-height: 1.5;
   }
-  .row-cols-md-1 > * {
-    flex: 0 0 auto;
-    width: 100%;
+  .col-form-label-lg {
+    padding-top: add(0.5rem, var(--bs-border-width));
+    padding-bottom: add(0.5rem, var(--bs-border-width));
+    font-size: 1.25rem;
   }
-  .row-cols-md-2 > * {
-    flex: 0 0 auto;
-    width: 50%;
+  .col-form-label-sm {
+    padding-top: add(0.25rem, var(--bs-border-width));
+    padding-bottom: add(0.25rem, var(--bs-border-width));
+    font-size: 0.875rem;
   }
-  .row-cols-md-3 > * {
-    flex: 0 0 auto;
-    width: 33.33333333%;
+}
+@layer forms {
+  .form-text {
+    margin-top: 0.25rem;
+    font-size: 0.875em;
+    color: var(--bs-secondary-color);
   }
-  .row-cols-md-4 > * {
-    flex: 0 0 auto;
-    width: 25%;
+}
+@layer forms {
+  .form-control {
+    display: block;
+    width: 100%;
+    padding: 0.375rem 0.75rem;
+    font-size: 1rem;
+    font-weight: 400;
+    line-height: 1.5;
+    color: var(--bs-body-color);
+    appearance: none;
+    background-color: var(--bs-body-bg);
+    background-clip: padding-box;
+    border: var(--bs-border-width) solid var(--bs-border-color);
+    border-radius: var(--bs-border-radius);
+    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .form-control {
+      transition: none;
+    }
+  }
+  .form-control[type=file] {
+    overflow: hidden;
+  }
+  .form-control[type=file]:not(:disabled):not([readonly]) {
+    cursor: pointer;
+  }
+  .form-control:focus-visible {
+    color: var(--bs-body-color);
+    background-color: var(--bs-body-bg);
+    border-color: var(--bs-primary-border);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+  }
+  .form-control::-webkit-date-and-time-value {
+    min-width: 85px;
+    height: 1.5em;
+    margin: 0;
   }
-  .row-cols-md-5 > * {
-    flex: 0 0 auto;
-    width: 20%;
+  .form-control::-webkit-datetime-edit {
+    display: block;
+    padding: 0;
   }
-  .row-cols-md-6 > * {
-    flex: 0 0 auto;
-    width: 16.66666667%;
+  .form-control::placeholder {
+    color: var(--bs-secondary-color);
+    opacity: 1;
   }
-  .col-md-auto {
-    flex: 0 0 auto;
-    width: auto;
+  .form-control:disabled {
+    background-color: var(--bs-secondary-bg);
+    opacity: 1;
   }
-  .col-md-1 {
-    flex: 0 0 auto;
-    width: 8.33333333%;
+  .form-control::file-selector-button {
+    padding: 0.375rem 0.75rem;
+    margin: -0.375rem -0.75rem;
+    margin-inline-end: 0.75rem;
+    color: var(--bs-body-color);
+    background-color: var(--bs-tertiary-bg);
+    pointer-events: none;
+    border-color: inherit;
+    border-style: solid;
+    border-width: 0;
+    border-inline-end-width: var(--bs-border-width);
+    border-radius: 0;
+    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;
   }
-  .col-md-2 {
-    flex: 0 0 auto;
-    width: 16.66666667%;
+  @media (prefers-reduced-motion: reduce) {
+    .form-control::file-selector-button {
+      transition: none;
+    }
   }
-  .col-md-3 {
-    flex: 0 0 auto;
-    width: 25%;
+  .form-control:hover:not(:disabled):not([readonly])::file-selector-button {
+    background-color: var(--bs-secondary-bg);
   }
-  .col-md-4 {
-    flex: 0 0 auto;
-    width: 33.33333333%;
+  .form-control-plaintext {
+    display: block;
+    width: 100%;
+    padding: 0.375rem 0;
+    margin-bottom: 0;
+    line-height: 1.5;
+    color: var(--bs-body-color);
+    background-color: transparent;
+    border: solid transparent;
+    border-width: var(--bs-border-width) 0;
   }
-  .col-md-5 {
-    flex: 0 0 auto;
-    width: 41.66666667%;
+  .form-control-plaintext:focus {
+    outline: 0;
   }
-  .col-md-6 {
-    flex: 0 0 auto;
-    width: 50%;
+  .form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
+    padding-right: 0;
+    padding-left: 0;
   }
-  .col-md-7 {
-    flex: 0 0 auto;
-    width: 58.33333333%;
+  .form-control-sm {
+    min-height: add(1.5em, add(0.5rem, calc(var(--bs-border-width) * 2), false));
+    padding: 0.25rem 0.5rem;
+    font-size: 0.875rem;
+    border-radius: var(--bs-border-radius-sm);
   }
-  .col-md-8 {
-    flex: 0 0 auto;
-    width: 66.66666667%;
+  .form-control-sm::file-selector-button {
+    padding: 0.25rem 0.5rem;
+    margin: -0.25rem -0.5rem;
+    margin-inline-end: 0.5rem;
   }
-  .col-md-9 {
-    flex: 0 0 auto;
-    width: 75%;
+  .form-control-lg {
+    min-height: add(1.5em, add(1rem, calc(var(--bs-border-width) * 2), false));
+    padding: 0.5rem 1rem;
+    font-size: 1.25rem;
+    border-radius: var(--bs-border-radius-lg);
   }
-  .col-md-10 {
-    flex: 0 0 auto;
-    width: 83.33333333%;
+  .form-control-lg::file-selector-button {
+    padding: 0.5rem 1rem;
+    margin: -0.5rem -1rem;
+    margin-inline-end: 1rem;
   }
-  .col-md-11 {
-    flex: 0 0 auto;
-    width: 91.66666667%;
+  textarea.form-control {
+    min-height: add(1.5em, add(0.75rem, calc(var(--bs-border-width) * 2), false));
   }
-  .col-md-12 {
-    flex: 0 0 auto;
-    width: 100%;
+  textarea.form-control-sm {
+    min-height: add(1.5em, add(0.5rem, calc(var(--bs-border-width) * 2), false));
   }
-  .offset-md-0 {
-    margin-left: 0;
+  textarea.form-control-lg {
+    min-height: add(1.5em, add(1rem, calc(var(--bs-border-width) * 2), false));
   }
-  .offset-md-1 {
-    margin-left: 8.33333333%;
+  .form-control-color {
+    width: 3rem;
+    height: add(1.5em, add(0.75rem, calc(var(--bs-border-width) * 2), false));
+    padding: 0.375rem;
   }
-  .offset-md-2 {
-    margin-left: 16.66666667%;
+  .form-control-color:not(:disabled):not([readonly]) {
+    cursor: pointer;
   }
-  .offset-md-3 {
-    margin-left: 25%;
+  .form-control-color::-moz-color-swatch {
+    border: 0 !important;
+    border-radius: var(--bs-border-radius);
   }
-  .offset-md-4 {
-    margin-left: 33.33333333%;
+  .form-control-color::-webkit-color-swatch {
+    border: 0 !important;
+    border-radius: var(--bs-border-radius);
   }
-  .offset-md-5 {
-    margin-left: 41.66666667%;
+  .form-control-color.form-control-sm {
+    height: add(1.5em, add(0.5rem, calc(var(--bs-border-width) * 2), false));
   }
-  .offset-md-6 {
-    margin-left: 50%;
+  .form-control-color.form-control-lg {
+    height: add(1.5em, add(1rem, calc(var(--bs-border-width) * 2), false));
   }
-  .offset-md-7 {
-    margin-left: 58.33333333%;
+}
+@layer forms {
+  .form-select {
+    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+    display: block;
+    width: 100%;
+    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
+    font-size: 1rem;
+    font-weight: 400;
+    line-height: 1.5;
+    color: var(--bs-body-color);
+    appearance: none;
+    background-color: var(--bs-body-bg);
+    background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
+    background-repeat: no-repeat;
+    background-position: right 0.75rem center;
+    background-size: 16px 12px;
+    border: var(--bs-border-width) solid var(--bs-border-color);
+    border-radius: var(--bs-border-radius);
+    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .form-select {
+      transition: none;
+    }
+  }
+  .form-select:focus-visible {
+    border-color: var(--bs-primary-border);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+  }
+  .form-select[multiple], .form-select[size]:not([size="1"]) {
+    padding-right: 0.75rem;
+    background-image: none;
+  }
+  .form-select:disabled {
+    background-color: var(--bs-secondary-bg);
+  }
+  .form-select:-moz-focusring {
+    color: transparent;
+    text-shadow: 0 0 0 var(--bs-body-color);
+  }
+  .form-select-sm {
+    padding-top: 0.25rem;
+    padding-bottom: 0.25rem;
+    padding-left: 0.5rem;
+    font-size: 0.875rem;
+    border-radius: var(--bs-border-radius-sm);
+  }
+  .form-select-lg {
+    padding-top: 0.5rem;
+    padding-bottom: 0.5rem;
+    padding-left: 1rem;
+    font-size: 1.25rem;
+    border-radius: var(--bs-border-radius-lg);
+  }
+  [data-bs-theme=dark] .form-select {
+    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+  }
+}
+@layer forms {
+  .form-check {
+    display: block;
+    min-height: 1.5rem;
+    padding-left: 1.5em;
+    margin-bottom: 0.125rem;
+  }
+  .form-check .form-check-input {
+    float: left;
+    margin-left: -1.5em;
+  }
+  .form-check-reverse {
+    padding-right: 1.5em;
+    padding-left: 0;
+    text-align: right;
+  }
+  .form-check-reverse .form-check-input {
+    float: right;
+    margin-right: -1.5em;
+    margin-left: 0;
   }
-  .offset-md-8 {
-    margin-left: 66.66666667%;
+  .form-check-input {
+    --bs-form-check-bg: var(--bs-body-bg);
+    flex-shrink: 0;
+    width: 1em;
+    height: 1em;
+    margin-top: 0.25em;
+    vertical-align: top;
+    appearance: none;
+    background-color: var(--bs-form-check-bg);
+    background-image: var(--bs-form-check-bg-image);
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: contain;
+    border: var(--bs-border-width) solid var(--bs-border-color);
+    print-color-adjust: exact;
+  }
+  .form-check-input[type=checkbox] {
+    border-radius: 0.25em;
+  }
+  .form-check-input[type=radio] {
+    border-radius: 50%;
+  }
+  .form-check-input:active {
+    filter: brightness(90%);
+  }
+  .form-check-input:focus-visible {
+    border-color: var(--bs-primary-border);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+    --bs-focus-ring-offset: 1px;
+  }
+  .form-check-input:checked {
+    background-color: #6f42c1;
+    border-color: #6f42c1;
+  }
+  .form-check-input:checked[type=checkbox] {
+    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
+  }
+  .form-check-input:checked[type=radio] {
+    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
+  }
+  .form-check-input[type=checkbox]:indeterminate {
+    background-color: #6f42c1;
+    border-color: #6f42c1;
+    --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
+  }
+  .form-check-input:disabled {
+    pointer-events: none;
+    filter: none;
+    opacity: 0.5;
+  }
+  .form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
+    cursor: default;
+    opacity: 0.5;
+  }
+  .form-switch {
+    padding-left: 2em;
   }
-  .offset-md-9 {
-    margin-left: 75%;
+  .form-switch .form-check-input {
+    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
+    width: 1.5em;
+    margin-left: -2em;
+    background-image: var(--bs-form-switch-bg);
+    background-position: left center;
+    border-radius: 1.5em;
+    transition: background-position 0.15s ease-in-out;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .form-switch .form-check-input {
+      transition: none;
+    }
+  }
+  .form-switch .form-check-input:focus {
+    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='var%28--bs-primary-border%29'/%3e%3c/svg%3e");
+  }
+  .form-switch .form-check-input:checked {
+    background-position: right center;
+    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
+  }
+  .form-switch.form-check-reverse {
+    padding-right: 2em;
+    padding-left: 0;
+  }
+  .form-switch.form-check-reverse .form-check-input {
+    margin-right: -2em;
+    margin-left: 0;
   }
-  .offset-md-10 {
-    margin-left: 83.33333333%;
+  .form-check-inline {
+    display: inline-block;
+    margin-right: 1rem;
   }
-  .offset-md-11 {
-    margin-left: 91.66666667%;
+  .btn-check {
+    position: absolute;
+    clip: rect(0, 0, 0, 0);
+    pointer-events: none;
   }
-  .g-md-0,
-  .gx-md-0 {
-    --bs-gutter-x: 0;
+  .btn-check[disabled] + .btn, .btn-check:disabled + .btn {
+    pointer-events: none;
+    filter: none;
+    opacity: 0.65;
   }
-  .g-md-0,
-  .gy-md-0 {
-    --bs-gutter-y: 0;
+  [data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
+    --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
   }
-  .g-md-1,
-  .gx-md-1 {
-    --bs-gutter-x: 0.25rem;
+}
+@layer forms {
+  .form-range {
+    width: 100%;
+    height: add(1rem, 0.5rem);
+    padding: 0;
+    appearance: none;
+    background-color: transparent;
   }
-  .g-md-1,
-  .gy-md-1 {
-    --bs-gutter-y: 0.25rem;
+  .form-range:focus {
+    outline: 0;
   }
-  .g-md-2,
-  .gx-md-2 {
-    --bs-gutter-x: 0.5rem;
+  .form-range:focus::-webkit-slider-thumb {
+    box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(111, 66, 193, 0.25);
   }
-  .g-md-2,
-  .gy-md-2 {
-    --bs-gutter-y: 0.5rem;
+  .form-range:focus::-moz-range-thumb {
+    box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(111, 66, 193, 0.25);
   }
-  .g-md-3,
-  .gx-md-3 {
-    --bs-gutter-x: 1rem;
+  .form-range::-moz-focus-outer {
+    border: 0;
   }
-  .g-md-3,
-  .gy-md-3 {
-    --bs-gutter-y: 1rem;
+  .form-range::-webkit-slider-thumb {
+    width: 1rem;
+    height: 1rem;
+    margin-top: -0.25rem;
+    appearance: none;
+    background-color: #6f42c1;
+    border: 0;
+    border-radius: 1rem;
+    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
   }
-  .g-md-4,
-  .gx-md-4 {
-    --bs-gutter-x: 1.5rem;
+  @media (prefers-reduced-motion: reduce) {
+    .form-range::-webkit-slider-thumb {
+      transition: none;
+    }
   }
-  .g-md-4,
-  .gy-md-4 {
-    --bs-gutter-y: 1.5rem;
+  .form-range::-webkit-slider-thumb:active {
+    background-color: tint-color(#6f42c1, 70%);
   }
-  .g-md-5,
-  .gx-md-5 {
-    --bs-gutter-x: 3rem;
+  .form-range::-webkit-slider-runnable-track {
+    width: 100%;
+    height: 0.5rem;
+    color: transparent;
+    cursor: pointer;
+    background-color: var(--bs-secondary-bg);
+    border-color: transparent;
+    border-radius: 1rem;
   }
-  .g-md-5,
-  .gy-md-5 {
-    --bs-gutter-y: 3rem;
+  .form-range::-moz-range-thumb {
+    width: 1rem;
+    height: 1rem;
+    appearance: none;
+    background-color: #6f42c1;
+    border: 0;
+    border-radius: 1rem;
+    transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
   }
-}
-@media (min-width: 992px) {
-  .col-lg {
-    flex: 1 0 0;
+  @media (prefers-reduced-motion: reduce) {
+    .form-range::-moz-range-thumb {
+      transition: none;
+    }
   }
-  .row-cols-lg-auto > * {
-    flex: 0 0 auto;
-    width: auto;
+  .form-range::-moz-range-thumb:active {
+    background-color: tint-color(#6f42c1, 70%);
   }
-  .row-cols-lg-1 > * {
-    flex: 0 0 auto;
+  .form-range::-moz-range-track {
     width: 100%;
+    height: 0.5rem;
+    color: transparent;
+    cursor: pointer;
+    background-color: var(--bs-secondary-bg);
+    border-color: transparent;
+    border-radius: 1rem;
   }
-  .row-cols-lg-2 > * {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .row-cols-lg-3 > * {
-    flex: 0 0 auto;
-    width: 33.33333333%;
+  .form-range:disabled {
+    pointer-events: none;
   }
-  .row-cols-lg-4 > * {
-    flex: 0 0 auto;
-    width: 25%;
+  .form-range:disabled::-webkit-slider-thumb {
+    background-color: var(--bs-secondary-color);
   }
-  .row-cols-lg-5 > * {
-    flex: 0 0 auto;
-    width: 20%;
+  .form-range:disabled::-moz-range-thumb {
+    background-color: var(--bs-secondary-color);
   }
-  .row-cols-lg-6 > * {
-    flex: 0 0 auto;
-    width: 16.66666667%;
+}
+@layer forms {
+  .form-floating {
+    position: relative;
   }
-  .col-lg-auto {
-    flex: 0 0 auto;
-    width: auto;
+  .form-floating > .form-control,
+  .form-floating > .form-control-plaintext,
+  .form-floating > .form-select {
+    height: calc(3.5rem + calc(var(--bs-border-width) * 2));
+    min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
+    line-height: 1.25;
   }
-  .col-lg-1 {
-    flex: 0 0 auto;
-    width: 8.33333333%;
+  .form-floating > label {
+    position: absolute;
+    top: 0;
+    left: 0;
+    z-index: 2;
+    max-width: 100%;
+    height: 100%;
+    padding: 1rem 0.75rem;
+    overflow: hidden;
+    color: rgba(var(--bs-body-color-rgb), 0.65);
+    text-align: start;
+    text-overflow: ellipsis;
+    white-space: nowrap;
+    pointer-events: none;
+    border: var(--bs-border-width) solid transparent;
+    transform-origin: 0 0;
+    transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .form-floating > label {
+      transition: none;
+    }
+  }
+  .form-floating > .form-control,
+  .form-floating > .form-control-plaintext {
+    padding: 1rem 0.75rem;
+  }
+  .form-floating > .form-control::placeholder,
+  .form-floating > .form-control-plaintext::placeholder {
+    color: transparent;
+  }
+  .form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
+  .form-floating > .form-control-plaintext:focus,
+  .form-floating > .form-control-plaintext:not(:placeholder-shown) {
+    padding-top: 1.625rem;
+    padding-bottom: 0.625rem;
+  }
+  .form-floating > .form-control:-webkit-autofill,
+  .form-floating > .form-control-plaintext:-webkit-autofill {
+    padding-top: 1.625rem;
+    padding-bottom: 0.625rem;
+  }
+  .form-floating > .form-select {
+    padding-top: 1.625rem;
+    padding-bottom: 0.625rem;
+    padding-left: 0.75rem;
+  }
+  .form-floating > .form-control:focus ~ label,
+  .form-floating > .form-control:not(:placeholder-shown) ~ label,
+  .form-floating > .form-control-plaintext ~ label,
+  .form-floating > .form-select ~ label {
+    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+  }
+  .form-floating > .form-control:-webkit-autofill ~ label {
+    transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
+  }
+  .form-floating > textarea:focus ~ label::after,
+  .form-floating > textarea:not(:placeholder-shown) ~ label::after {
+    position: absolute;
+    inset: 1rem 0.375rem;
+    z-index: -1;
+    height: 1.5em;
+    content: "";
+    background-color: var(--bs-body-bg);
+    border-radius: var(--bs-border-radius);
   }
-  .col-lg-2 {
-    flex: 0 0 auto;
-    width: 16.66666667%;
+  .form-floating > textarea:disabled ~ label::after {
+    background-color: var(--bs-secondary-bg);
   }
-  .col-lg-3 {
-    flex: 0 0 auto;
-    width: 25%;
+  .form-floating > .form-control-plaintext ~ label {
+    border-width: var(--bs-border-width) 0;
   }
-  .col-lg-4 {
-    flex: 0 0 auto;
-    width: 33.33333333%;
+  .form-floating > :disabled ~ label,
+  .form-floating > .form-control:disabled ~ label {
+    color: #6c757d;
   }
-  .col-lg-5 {
-    flex: 0 0 auto;
-    width: 41.66666667%;
-  }
-  .col-lg-6 {
-    flex: 0 0 auto;
-    width: 50%;
-  }
-  .col-lg-7 {
-    flex: 0 0 auto;
-    width: 58.33333333%;
-  }
-  .col-lg-8 {
-    flex: 0 0 auto;
-    width: 66.66666667%;
-  }
-  .col-lg-9 {
-    flex: 0 0 auto;
-    width: 75%;
-  }
-  .col-lg-10 {
-    flex: 0 0 auto;
-    width: 83.33333333%;
+}
+@layer forms {
+  .input-group {
+    position: relative;
+    display: flex;
+    flex-wrap: wrap;
+    align-items: stretch;
+    width: 100%;
   }
-  .col-lg-11 {
-    flex: 0 0 auto;
-    width: 91.66666667%;
+  .input-group > .form-control,
+  .input-group > .form-select,
+  .input-group > .form-floating {
+    position: relative;
+    flex: 1 1 auto;
+    width: 1%;
+    min-width: 0;
   }
-  .col-lg-12 {
-    flex: 0 0 auto;
-    width: 100%;
+  .input-group > .form-control:focus,
+  .input-group > .form-select:focus,
+  .input-group > .form-floating:focus-within {
+    z-index: 5;
   }
-  .offset-lg-0 {
-    margin-left: 0;
+  .input-group .btn {
+    position: relative;
+    z-index: 2;
   }
-  .offset-lg-1 {
-    margin-left: 8.33333333%;
+  .input-group .btn:focus {
+    z-index: 5;
   }
-  .offset-lg-2 {
-    margin-left: 16.66666667%;
+  .input-group-text {
+    display: flex;
+    align-items: center;
+    padding: 0.375rem 0.75rem;
+    font-size: 1rem;
+    font-weight: 400;
+    line-height: 1.5;
+    color: var(--bs-body-color);
+    text-align: center;
+    white-space: nowrap;
+    background-color: var(--bs-tertiary-bg);
+    border: var(--bs-border-width) solid var(--bs-border-color);
+    border-radius: var(--bs-border-radius);
+  }
+  .input-group-lg > .form-control,
+  .input-group-lg > .form-select,
+  .input-group-lg > .input-group-text,
+  .input-group-lg > .btn {
+    padding: 0.5rem 1rem;
+    font-size: 1.25rem;
+    border-radius: var(--bs-border-radius-lg);
+  }
+  .input-group-sm > .form-control,
+  .input-group-sm > .form-select,
+  .input-group-sm > .input-group-text,
+  .input-group-sm > .btn {
+    padding: 0.25rem 0.5rem;
+    font-size: 0.875rem;
+    border-radius: var(--bs-border-radius-sm);
+  }
+  .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
+  .input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
+  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
+  .input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
   }
-  .offset-lg-3 {
-    margin-left: 25%;
+  .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
+  .input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
+  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
+  .input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
   }
-  .offset-lg-4 {
-    margin-left: 33.33333333%;
+  .input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
+    margin-left: calc(-1 * var(--bs-border-width));
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0;
   }
-  .offset-lg-5 {
-    margin-left: 41.66666667%;
+  .input-group > .form-floating:not(:first-child) > .form-control,
+  .input-group > .form-floating:not(:first-child) > .form-select {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0;
   }
-  .offset-lg-6 {
-    margin-left: 50%;
+}
+@layer components {
+  .tooltip {
+    --bs-tooltip-zindex: 1080;
+    --bs-tooltip-max-width: 200px;
+    --bs-tooltip-padding-x: 0.5rem;
+    --bs-tooltip-padding-y: 0.25rem;
+    --bs-tooltip-margin: ;
+    --bs-tooltip-font-size: 0.875rem;
+    --bs-tooltip-color: var(--bs-body-bg);
+    --bs-tooltip-bg: var(--bs-emphasis-color);
+    --bs-tooltip-border-radius: var(--bs-border-radius);
+    --bs-tooltip-opacity: 0.9;
+    --bs-tooltip-arrow-width: 0.8rem;
+    --bs-tooltip-arrow-height: 0.4rem;
+    z-index: var(--bs-tooltip-zindex);
+    display: block;
+    margin: var(--bs-tooltip-margin);
+    font-family: var(--bs-font-sans-serif);
+    font-style: normal;
+    font-weight: 400;
+    line-height: 1.5;
+    text-align: left;
+    text-align: start;
+    text-decoration: none;
+    text-shadow: none;
+    text-transform: none;
+    letter-spacing: normal;
+    word-break: normal;
+    white-space: normal;
+    word-spacing: normal;
+    line-break: auto;
+    font-size: var(--bs-tooltip-font-size);
+    word-wrap: break-word;
+    opacity: 0;
+  }
+  .tooltip.show {
+    opacity: var(--bs-tooltip-opacity);
+  }
+  .tooltip .tooltip-arrow {
+    display: block;
+    width: var(--bs-tooltip-arrow-width);
+    height: var(--bs-tooltip-arrow-height);
+  }
+  .tooltip .tooltip-arrow::before {
+    position: absolute;
+    content: "";
+    border-color: transparent;
+    border-style: solid;
+  }
+  .bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
+    bottom: calc(-1 * var(--bs-tooltip-arrow-height));
+  }
+  .bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
+    top: -1px;
+    border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
+    border-top-color: var(--bs-tooltip-bg);
+  }
+  /* rtl:begin:ignore */
+  .bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
+    left: calc(-1 * var(--bs-tooltip-arrow-height));
+    width: var(--bs-tooltip-arrow-height);
+    height: var(--bs-tooltip-arrow-width);
+  }
+  .bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
+    right: -1px;
+    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
+    border-right-color: var(--bs-tooltip-bg);
+  }
+  /* rtl:end:ignore */
+  .bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
+    top: calc(-1 * var(--bs-tooltip-arrow-height));
+  }
+  .bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
+    bottom: -1px;
+    border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+    border-bottom-color: var(--bs-tooltip-bg);
+  }
+  /* rtl:begin:ignore */
+  .bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
+    right: calc(-1 * var(--bs-tooltip-arrow-height));
+    width: var(--bs-tooltip-arrow-height);
+    height: var(--bs-tooltip-arrow-width);
+  }
+  .bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
+    left: -1px;
+    border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
+    border-left-color: var(--bs-tooltip-bg);
+  }
+  /* rtl:end:ignore */
+  .tooltip-inner {
+    max-width: var(--bs-tooltip-max-width);
+    padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
+    color: var(--bs-tooltip-color);
+    text-align: center;
+    background-color: var(--bs-tooltip-bg);
+    border-radius: var(--bs-tooltip-border-radius);
+  }
+}
+@layer forms {
+  .valid-feedback {
+    display: none;
+    width: 100%;
+    margin-top: 0.5rem;
+    font-size: 0.875rem;
+    color: var(--bs-form-valid-color);
   }
-  .offset-lg-7 {
-    margin-left: 58.33333333%;
+  .valid-tooltip {
+    position: absolute;
+    top: 100%;
+    z-index: 5;
+    display: none;
+    max-width: 100%;
+    padding: 0.25rem 0.5rem;
+    margin-top: 0.1rem;
+    font-size: 0.875rem;
+    color: #fff;
+    background-color: var(--bs-success);
+    border-radius: var(--bs-border-radius);
+  }
+  .was-validated :valid ~ .valid-feedback,
+  .was-validated :valid ~ .valid-tooltip,
+  .is-valid ~ .valid-feedback,
+  .is-valid ~ .valid-tooltip {
+    display: block;
+  }
+  .was-validated .form-control:valid, .form-control.is-valid {
+    border-color: var(--bs-form-valid-border-color);
+    padding-right: add(1.5em, 0.75rem);
+    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--bs-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");
+    background-repeat: no-repeat;
+    background-position: right add(0.375em, 0.1875rem) center;
+    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);
+  }
+  .was-validated .form-control:valid:focus, .form-control.is-valid:focus {
+    border-color: var(--bs-form-valid-border-color);
+    box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+  }
+  .was-validated textarea.form-control:valid, textarea.form-control.is-valid {
+    padding-right: add(1.5em, 0.75rem);
+    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);
+  }
+  .was-validated .form-control-color:valid, .form-control-color.is-valid {
+    width: add(3rem, add(1.5em, 0.75rem));
+  }
+  .was-validated .form-check-input:valid, .form-check-input.is-valid {
+    border-color: var(--bs-form-valid-border-color);
+  }
+  .was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
+    background-color: var(--bs-form-valid-color);
+  }
+  .was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
+    box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
+  }
+  .was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
+    color: var(--bs-form-valid-color);
+  }
+  .form-check-inline .form-check-input ~ .valid-feedback {
+    margin-left: 0.5em;
+  }
+  .was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
+  .was-validated .input-group > .form-select:not(:focus):valid,
+  .input-group > .form-select:not(:focus).is-valid,
+  .was-validated .input-group > .form-floating:not(:focus-within):valid,
+  .input-group > .form-floating:not(:focus-within).is-valid {
+    z-index: 3;
+  }
+  .invalid-feedback {
+    display: none;
+    width: 100%;
+    margin-top: 0.5rem;
+    font-size: 0.875rem;
+    color: var(--bs-form-invalid-color);
   }
-  .offset-lg-8 {
-    margin-left: 66.66666667%;
+  .invalid-tooltip {
+    position: absolute;
+    top: 100%;
+    z-index: 5;
+    display: none;
+    max-width: 100%;
+    padding: 0.25rem 0.5rem;
+    margin-top: 0.1rem;
+    font-size: 0.875rem;
+    color: #fff;
+    background-color: var(--bs-danger);
+    border-radius: var(--bs-border-radius);
+  }
+  .was-validated :invalid ~ .invalid-feedback,
+  .was-validated :invalid ~ .invalid-tooltip,
+  .is-invalid ~ .invalid-feedback,
+  .is-invalid ~ .invalid-tooltip {
+    display: block;
+  }
+  .was-validated .form-control:invalid, .form-control.is-invalid {
+    border-color: var(--bs-form-invalid-border-color);
+    padding-right: add(1.5em, 0.75rem);
+    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--bs-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--bs-danger%29' stroke='none'/%3e%3c/svg%3e");
+    background-repeat: no-repeat;
+    background-position: right add(0.375em, 0.1875rem) center;
+    background-size: add(0.75em, 0.375rem) add(0.75em, 0.375rem);
+  }
+  .was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
+    border-color: var(--bs-form-invalid-border-color);
+    box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+  }
+  .was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
+    padding-right: add(1.5em, 0.75rem);
+    background-position: top add(0.375em, 0.1875rem) right add(0.375em, 0.1875rem);
+  }
+  .was-validated .form-control-color:invalid, .form-control-color.is-invalid {
+    width: add(3rem, add(1.5em, 0.75rem));
+  }
+  .was-validated .form-check-input:invalid, .form-check-input.is-invalid {
+    border-color: var(--bs-form-invalid-border-color);
+  }
+  .was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
+    background-color: var(--bs-form-invalid-color);
+  }
+  .was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
+    box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
+  }
+  .was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
+    color: var(--bs-form-invalid-color);
+  }
+  .form-check-inline .form-check-input ~ .invalid-feedback {
+    margin-left: 0.5em;
+  }
+  .was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
+  .was-validated .input-group > .form-select:not(:focus):invalid,
+  .input-group > .form-select:not(:focus).is-invalid,
+  .was-validated .input-group > .form-floating:not(:focus-within):invalid,
+  .input-group > .form-floating:not(:focus-within).is-invalid {
+    z-index: 4;
+  }
+}
+@layer components {
+  .btn {
+    --bs-btn-padding-x: 0.75rem;
+    --bs-btn-padding-y: 0.375rem;
+    --bs-btn-font-family: ;
+    --bs-btn-font-size: 1rem;
+    --bs-btn-font-weight: 400;
+    --bs-btn-line-height: 1.5;
+    --bs-btn-color: var(--bs-body-color);
+    --bs-btn-bg: transparent;
+    --bs-btn-border-width: var(--bs-border-width);
+    --bs-btn-border-color: transparent;
+    --bs-btn-border-radius: var(--bs-border-radius);
+    --bs-btn-hover-border-color: transparent;
+    --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
+    --bs-btn-disabled-opacity: 0.65;
+    display: inline-block;
+    padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
+    font-family: var(--bs-btn-font-family);
+    font-size: var(--bs-btn-font-size);
+    font-weight: var(--bs-btn-font-weight);
+    line-height: var(--bs-btn-line-height);
+    color: var(--bs-btn-color);
+    text-align: center;
+    text-decoration: none;
+    vertical-align: middle;
+    cursor: pointer;
+    user-select: none;
+    border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
+    border-radius: var(--bs-btn-border-radius);
+    background-color: var(--bs-btn-bg);
+    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;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .btn {
+      transition: none;
+    }
+  }
+  .btn:hover {
+    color: var(--bs-btn-hover-color);
+    background-color: var(--bs-btn-hover-bg);
+    border-color: var(--bs-btn-hover-border-color);
+  }
+  .btn-check + .btn:hover {
+    color: var(--bs-btn-color);
+    background-color: var(--bs-btn-bg);
+    border-color: var(--bs-btn-border-color);
+  }
+  .btn:focus-visible {
+    color: var(--bs-btn-hover-color);
+    background-color: var(--bs-btn-hover-bg);
+    border-color: var(--bs-btn-hover-border-color);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+    --bs-focus-ring-offset: 1px;
+  }
+  .btn-check:focus-visible + .btn {
+    border-color: var(--bs-btn-hover-border-color);
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+  }
+  .btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
+    color: var(--bs-btn-active-color);
+    background-color: var(--bs-btn-active-bg);
+    border-color: var(--bs-btn-active-border-color);
+  }
+  .btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+  }
+  .btn-check:checked:focus-visible + .btn {
+    outline: var(--bs-focus-ring);
+    outline-offset: var(--bs-focus-ring-offset);
+  }
+  .btn:disabled, .btn.disabled, fieldset:disabled .btn {
+    color: var(--bs-btn-disabled-color);
+    pointer-events: none;
+    background-color: var(--bs-btn-disabled-bg);
+    border-color: var(--bs-btn-disabled-border-color);
+    opacity: var(--bs-btn-disabled-opacity);
+  }
+  .btn-primary {
+    --bs-btn-color: #fff;
+    --bs-btn-bg: #6f42c1;
+    --bs-btn-border-color: #6f42c1;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: rgb(94.35, 56.1, 164.05);
+    --bs-btn-hover-border-color: rgb(88.8, 52.8, 154.4);
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: rgb(88.8, 52.8, 154.4);
+    --bs-btn-active-border-color: rgb(83.25, 49.5, 144.75);
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #fff;
+    --bs-btn-disabled-bg: #6f42c1;
+    --bs-btn-disabled-border-color: #6f42c1;
+  }
+  .btn-secondary {
+    --bs-btn-color: #fff;
+    --bs-btn-bg: #6c757d;
+    --bs-btn-border-color: #6c757d;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: rgb(91.8, 99.45, 106.25);
+    --bs-btn-hover-border-color: rgb(86.4, 93.6, 100);
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: rgb(86.4, 93.6, 100);
+    --bs-btn-active-border-color: rgb(81, 87.75, 93.75);
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #fff;
+    --bs-btn-disabled-bg: #6c757d;
+    --bs-btn-disabled-border-color: #6c757d;
+  }
+  .btn-success {
+    --bs-btn-color: #fff;
+    --bs-btn-bg: #198754;
+    --bs-btn-border-color: #198754;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: rgb(21.25, 114.75, 71.4);
+    --bs-btn-hover-border-color: rgb(20, 108, 67.2);
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: rgb(20, 108, 67.2);
+    --bs-btn-active-border-color: rgb(18.75, 101.25, 63);
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #fff;
+    --bs-btn-disabled-bg: #198754;
+    --bs-btn-disabled-border-color: #198754;
+  }
+  .btn-info {
+    --bs-btn-color: #000;
+    --bs-btn-bg: #0dcaf0;
+    --bs-btn-border-color: #0dcaf0;
+    --bs-btn-hover-color: #000;
+    --bs-btn-hover-bg: rgb(49.3, 209.95, 242.25);
+    --bs-btn-hover-border-color: rgb(37.2, 207.3, 241.5);
+    --bs-btn-active-color: #000;
+    --bs-btn-active-bg: rgb(61.4, 212.6, 243);
+    --bs-btn-active-border-color: rgb(37.2, 207.3, 241.5);
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #000;
+    --bs-btn-disabled-bg: #0dcaf0;
+    --bs-btn-disabled-border-color: #0dcaf0;
+  }
+  .btn-warning {
+    --bs-btn-color: #000;
+    --bs-btn-bg: #ffc107;
+    --bs-btn-border-color: #ffc107;
+    --bs-btn-hover-color: #000;
+    --bs-btn-hover-bg: rgb(255, 202.3, 44.2);
+    --bs-btn-hover-border-color: rgb(255, 199.2, 31.8);
+    --bs-btn-active-color: #000;
+    --bs-btn-active-bg: rgb(255, 205.4, 56.6);
+    --bs-btn-active-border-color: rgb(255, 199.2, 31.8);
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #000;
+    --bs-btn-disabled-bg: #ffc107;
+    --bs-btn-disabled-border-color: #ffc107;
+  }
+  .btn-danger {
+    --bs-btn-color: #fff;
+    --bs-btn-bg: #dc3545;
+    --bs-btn-border-color: #dc3545;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: rgb(187, 45.05, 58.65);
+    --bs-btn-hover-border-color: rgb(176, 42.4, 55.2);
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: rgb(176, 42.4, 55.2);
+    --bs-btn-active-border-color: rgb(165, 39.75, 51.75);
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #fff;
+    --bs-btn-disabled-bg: #dc3545;
+    --bs-btn-disabled-border-color: #dc3545;
+  }
+  .btn-light {
+    --bs-btn-color: #000;
+    --bs-btn-bg: #f8f9fa;
+    --bs-btn-border-color: #f8f9fa;
+    --bs-btn-hover-color: #000;
+    --bs-btn-hover-bg: rgb(210.8, 211.65, 212.5);
+    --bs-btn-hover-border-color: rgb(198.4, 199.2, 200);
+    --bs-btn-active-color: #000;
+    --bs-btn-active-bg: rgb(198.4, 199.2, 200);
+    --bs-btn-active-border-color: rgb(186, 186.75, 187.5);
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #000;
+    --bs-btn-disabled-bg: #f8f9fa;
+    --bs-btn-disabled-border-color: #f8f9fa;
+  }
+  .btn-dark {
+    --bs-btn-color: #fff;
+    --bs-btn-bg: #212529;
+    --bs-btn-border-color: #212529;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: rgb(66.3, 69.7, 73.1);
+    --bs-btn-hover-border-color: rgb(55.2, 58.8, 62.4);
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: rgb(77.4, 80.6, 83.8);
+    --bs-btn-active-border-color: rgb(55.2, 58.8, 62.4);
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #fff;
+    --bs-btn-disabled-bg: #212529;
+    --bs-btn-disabled-border-color: #212529;
+  }
+  .btn-outline-primary {
+    --bs-btn-color: #6f42c1;
+    --bs-btn-border-color: #6f42c1;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: #6f42c1;
+    --bs-btn-hover-border-color: #6f42c1;
+    --bs-btn-focus-shadow-rgb: 111, 66, 193;
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: #6f42c1;
+    --bs-btn-active-border-color: #6f42c1;
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #6f42c1;
+    --bs-btn-disabled-bg: transparent;
+    --bs-btn-disabled-border-color: #6f42c1;
+    --bs-gradient: none;
+  }
+  .btn-outline-secondary {
+    --bs-btn-color: #6c757d;
+    --bs-btn-border-color: #6c757d;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: #6c757d;
+    --bs-btn-hover-border-color: #6c757d;
+    --bs-btn-focus-shadow-rgb: 108, 117, 125;
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: #6c757d;
+    --bs-btn-active-border-color: #6c757d;
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #6c757d;
+    --bs-btn-disabled-bg: transparent;
+    --bs-btn-disabled-border-color: #6c757d;
+    --bs-gradient: none;
+  }
+  .btn-outline-success {
+    --bs-btn-color: #198754;
+    --bs-btn-border-color: #198754;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: #198754;
+    --bs-btn-hover-border-color: #198754;
+    --bs-btn-focus-shadow-rgb: 25, 135, 84;
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: #198754;
+    --bs-btn-active-border-color: #198754;
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #198754;
+    --bs-btn-disabled-bg: transparent;
+    --bs-btn-disabled-border-color: #198754;
+    --bs-gradient: none;
+  }
+  .btn-outline-info {
+    --bs-btn-color: #0dcaf0;
+    --bs-btn-border-color: #0dcaf0;
+    --bs-btn-hover-color: #000;
+    --bs-btn-hover-bg: #0dcaf0;
+    --bs-btn-hover-border-color: #0dcaf0;
+    --bs-btn-focus-shadow-rgb: 13, 202, 240;
+    --bs-btn-active-color: #000;
+    --bs-btn-active-bg: #0dcaf0;
+    --bs-btn-active-border-color: #0dcaf0;
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #0dcaf0;
+    --bs-btn-disabled-bg: transparent;
+    --bs-btn-disabled-border-color: #0dcaf0;
+    --bs-gradient: none;
+  }
+  .btn-outline-warning {
+    --bs-btn-color: #ffc107;
+    --bs-btn-border-color: #ffc107;
+    --bs-btn-hover-color: #000;
+    --bs-btn-hover-bg: #ffc107;
+    --bs-btn-hover-border-color: #ffc107;
+    --bs-btn-focus-shadow-rgb: 255, 193, 7;
+    --bs-btn-active-color: #000;
+    --bs-btn-active-bg: #ffc107;
+    --bs-btn-active-border-color: #ffc107;
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #ffc107;
+    --bs-btn-disabled-bg: transparent;
+    --bs-btn-disabled-border-color: #ffc107;
+    --bs-gradient: none;
+  }
+  .btn-outline-danger {
+    --bs-btn-color: #dc3545;
+    --bs-btn-border-color: #dc3545;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: #dc3545;
+    --bs-btn-hover-border-color: #dc3545;
+    --bs-btn-focus-shadow-rgb: 220, 53, 69;
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: #dc3545;
+    --bs-btn-active-border-color: #dc3545;
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #dc3545;
+    --bs-btn-disabled-bg: transparent;
+    --bs-btn-disabled-border-color: #dc3545;
+    --bs-gradient: none;
+  }
+  .btn-outline-light {
+    --bs-btn-color: #f8f9fa;
+    --bs-btn-border-color: #f8f9fa;
+    --bs-btn-hover-color: #000;
+    --bs-btn-hover-bg: #f8f9fa;
+    --bs-btn-hover-border-color: #f8f9fa;
+    --bs-btn-focus-shadow-rgb: 248, 249, 250;
+    --bs-btn-active-color: #000;
+    --bs-btn-active-bg: #f8f9fa;
+    --bs-btn-active-border-color: #f8f9fa;
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #f8f9fa;
+    --bs-btn-disabled-bg: transparent;
+    --bs-btn-disabled-border-color: #f8f9fa;
+    --bs-gradient: none;
+  }
+  .btn-outline-dark {
+    --bs-btn-color: #212529;
+    --bs-btn-border-color: #212529;
+    --bs-btn-hover-color: #fff;
+    --bs-btn-hover-bg: #212529;
+    --bs-btn-hover-border-color: #212529;
+    --bs-btn-focus-shadow-rgb: 33, 37, 41;
+    --bs-btn-active-color: #fff;
+    --bs-btn-active-bg: #212529;
+    --bs-btn-active-border-color: #212529;
+    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
+    --bs-btn-disabled-color: #212529;
+    --bs-btn-disabled-bg: transparent;
+    --bs-btn-disabled-border-color: #212529;
+    --bs-gradient: none;
+  }
+  .btn-link {
+    --bs-btn-font-weight: 400;
+    --bs-btn-color: var(--bs-link-color);
+    --bs-btn-bg: transparent;
+    --bs-btn-border-color: transparent;
+    --bs-btn-hover-color: var(--bs-link-hover-color);
+    --bs-btn-hover-border-color: transparent;
+    --bs-btn-active-color: var(--bs-link-hover-color);
+    --bs-btn-active-border-color: transparent;
+    --bs-btn-disabled-color: #6c757d;
+    --bs-btn-disabled-border-color: transparent;
+    --bs-btn-box-shadow: 0 0 0 #000;
+    text-decoration: underline;
+  }
+  .btn-link:focus-visible {
+    color: var(--bs-btn-color);
+  }
+  .btn-link:hover {
+    color: var(--bs-btn-hover-color);
+  }
+  .btn-lg {
+    --bs-btn-padding-y: 0.5rem;
+    --bs-btn-padding-x: 1rem;
+    --bs-btn-font-size: 1.25rem;
+    --bs-btn-border-radius: var(--bs-border-radius-lg);
+  }
+  .btn-sm {
+    --bs-btn-padding-y: 0.25rem;
+    --bs-btn-padding-x: 0.5rem;
+    --bs-btn-font-size: 0.875rem;
+    --bs-btn-border-radius: var(--bs-border-radius-sm);
+  }
+}
+@layer components {
+  .btn-group,
+  .btn-group-vertical {
+    position: relative;
+    display: inline-flex;
+    vertical-align: middle;
+  }
+  .btn-group > .btn,
+  .btn-group-vertical > .btn {
+    position: relative;
+    flex: 1 1 auto;
+  }
+  .btn-group > .btn-check:checked + .btn,
+  .btn-group > .btn-check:focus + .btn,
+  .btn-group > .btn:hover,
+  .btn-group > .btn:focus,
+  .btn-group > .btn:active,
+  .btn-group > .btn.active,
+  .btn-group-vertical > .btn-check:checked + .btn,
+  .btn-group-vertical > .btn-check:focus + .btn,
+  .btn-group-vertical > .btn:hover,
+  .btn-group-vertical > .btn:focus,
+  .btn-group-vertical > .btn:active,
+  .btn-group-vertical > .btn.active {
+    z-index: 1;
+  }
+  .btn-toolbar {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: flex-start;
   }
-  .offset-lg-9 {
-    margin-left: 75%;
+  .btn-toolbar .input-group {
+    width: auto;
   }
-  .offset-lg-10 {
-    margin-left: 83.33333333%;
+  .btn-group {
+    border-radius: var(--bs-border-radius);
   }
-  .offset-lg-11 {
-    margin-left: 91.66666667%;
+  .btn-group > :not(.btn-check:first-child) + .btn,
+  .btn-group > .btn-group:not(:first-child) {
+    margin-left: calc(-1 * var(--bs-border-width));
   }
-  .g-lg-0,
-  .gx-lg-0 {
-    --bs-gutter-x: 0;
+  .btn-group > .btn:not(:last-child):not(.dropdown-toggle),
+  .btn-group > .btn.dropdown-toggle-split:first-child,
+  .btn-group > .btn-group:not(:last-child) > .btn {
+    border-top-right-radius: 0;
+    border-bottom-right-radius: 0;
   }
-  .g-lg-0,
-  .gy-lg-0 {
-    --bs-gutter-y: 0;
+  .btn-group > .btn:nth-child(n+3),
+  .btn-group > :not(.btn-check) + .btn,
+  .btn-group > .btn-group:not(:first-child) > .btn {
+    border-top-left-radius: 0;
+    border-bottom-left-radius: 0;
   }
-  .g-lg-1,
-  .gx-lg-1 {
-    --bs-gutter-x: 0.25rem;
+  .dropdown-toggle-split {
+    padding-right: 0.5625rem;
+    padding-left: 0.5625rem;
   }
-  .g-lg-1,
-  .gy-lg-1 {
-    --bs-gutter-y: 0.25rem;
+  .dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
+    margin-left: 0;
   }
-  .g-lg-2,
-  .gx-lg-2 {
-    --bs-gutter-x: 0.5rem;
+  .dropstart .dropdown-toggle-split::before {
+    margin-right: 0;
   }
-  .g-lg-2,
-  .gy-lg-2 {
-    --bs-gutter-y: 0.5rem;
+  .btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
+    padding-right: 0.375rem;
+    padding-left: 0.375rem;
   }
-  .g-lg-3,
-  .gx-lg-3 {
-    --bs-gutter-x: 1rem;
+  .btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
+    padding-right: 0.75rem;
+    padding-left: 0.75rem;
   }
-  .g-lg-3,
-  .gy-lg-3 {
-    --bs-gutter-y: 1rem;
+  .btn-group-vertical {
+    flex-direction: column;
+    align-items: flex-start;
+    justify-content: center;
   }
-  .g-lg-4,
-  .gx-lg-4 {
-    --bs-gutter-x: 1.5rem;
+  .btn-group-vertical > .btn,
+  .btn-group-vertical > .btn-group {
+    width: 100%;
   }
-  .g-lg-4,
-  .gy-lg-4 {
-    --bs-gutter-y: 1.5rem;
+  .btn-group-vertical > .btn:not(:first-child),
+  .btn-group-vertical > .btn-group:not(:first-child) {
+    margin-top: calc(-1 * var(--bs-border-width));
   }
-  .g-lg-5,
-  .gx-lg-5 {
-    --bs-gutter-x: 3rem;
+  .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
+  .btn-group-vertical > .btn-group:not(:last-child) > .btn {
+    border-bottom-right-radius: 0;
+    border-bottom-left-radius: 0;
   }
-  .g-lg-5,
-  .gy-lg-5 {
-    --bs-gutter-y: 3rem;
+  .btn-group-vertical > .btn:nth-child(n+3),
+  .btn-group-vertical > :not(.btn-check) + .btn,
+  .btn-group-vertical > .btn-group:not(:first-child) > .btn {
+    border-top-left-radius: 0;
+    border-top-right-radius: 0;
   }
 }
-@media (min-width: 1200px) {
-  .col-xl {
-    flex: 1 0 0;
+@layer components {
+  .btn-close {
+    --bs-btn-close-color: #000;
+    --bs-btn-close-bg: escape-svg(url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#000'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>"));
+    --bs-btn-close-opacity: 0.5;
+    --bs-btn-close-hover-opacity: 0.75;
+    --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(111, 66, 193, 0.25);
+    --bs-btn-close-focus-opacity: 1;
+    --bs-btn-close-disabled-opacity: 0.25;
+    box-sizing: content-box;
+    width: 1em;
+    height: 1em;
+    padding: 0.25em 0.25em;
+    color: var(--bs-btn-close-color);
+    background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
+    filter: var(--bs-btn-close-filter);
+    border: 0;
+    border-radius: 0.375rem;
+    opacity: var(--bs-btn-close-opacity);
   }
-  .row-cols-xl-auto > * {
-    flex: 0 0 auto;
-    width: auto;
+  .btn-close:hover {
+    color: var(--bs-btn-close-color);
+    text-decoration: none;
+    opacity: var(--bs-btn-close-hover-opacity);
   }
-  .row-cols-xl-1 > * {
-    flex: 0 0 auto;
-    width: 100%;
+  .btn-close:focus {
+    outline: 0;
+    box-shadow: var(--bs-btn-close-focus-shadow);
+    opacity: var(--bs-btn-close-focus-opacity);
+  }
+  .btn-close:disabled, .btn-close.disabled {
+    pointer-events: none;
+    user-select: none;
+    opacity: var(--bs-btn-close-disabled-opacity);
+  }
+  .btn-close-white {
+    --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
+  }
+  :root,
+  [data-bs-theme=light] {
+    --bs-btn-close-filter: ;
+  }
+  [data-bs-theme=dark] {
+    --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
+  }
+}
+@layer componenents {
+  .accordion {
+    --bs-accordion-color: var(--bs-body-color);
+    --bs-accordion-bg: var(--bs-body-bg);
+    --bs-accordion-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, border-radius 0.15s ease;
+    --bs-accordion-border-color: var(--bs-border-color);
+    --bs-accordion-border-width: var(--bs-border-width);
+    --bs-accordion-border-radius: var(--bs-border-radius-lg);
+    --bs-accordion-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
+    --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-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
+    --bs-accordion-btn-icon-width: 1.25rem;
+    --bs-accordion-btn-icon-transform: rotate(-180deg);
+    --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
+    --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(111, 66, 193, 0.25);
+    --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);
   }
-  .row-cols-xl-2 > * {
-    flex: 0 0 auto;
-    width: 50%;
+  .accordion-button {
+    position: relative;
+    display: flex;
+    align-items: center;
+    width: 100%;
+    padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
+    font-size: 1rem;
+    color: var(--bs-accordion-btn-color);
+    text-align: left;
+    background-color: var(--bs-accordion-btn-bg);
+    border: 0;
+    border-radius: 0;
+    overflow-anchor: none;
+    transition: var(--bs-accordion-transition);
   }
-  .row-cols-xl-3 > * {
-    flex: 0 0 auto;
-    width: 33.33333333%;
+  @media (prefers-reduced-motion: reduce) {
+    .accordion-button {
+      transition: none;
+    }
   }
-  .row-cols-xl-4 > * {
-    flex: 0 0 auto;
-    width: 25%;
+  .accordion-button:not(.collapsed) {
+    color: var(--bs-accordion-active-color);
+    background-color: var(--bs-accordion-active-bg);
+    box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
   }
-  .row-cols-xl-5 > * {
-    flex: 0 0 auto;
-    width: 20%;
+  .accordion-button:not(.collapsed)::after {
+    background-image: var(--bs-accordion-btn-active-icon);
+    transform: var(--bs-accordion-btn-icon-transform);
   }
-  .row-cols-xl-6 > * {
-    flex: 0 0 auto;
-    width: 16.66666667%;
+  .accordion-button::after {
+    flex-shrink: 0;
+    width: var(--bs-accordion-btn-icon-width);
+    height: var(--bs-accordion-btn-icon-width);
+    margin-left: auto;
+    content: "";
+    background-color: var(--bs-accordion-btn-color);
+    mask: var(--bs-accordion-btn-icon) no-repeat center 100%;
+    transition: var(--bs-accordion-btn-icon-transition);
   }
-  .col-xl-auto {
-    flex: 0 0 auto;
-    width: auto;
+  @media (prefers-reduced-motion: reduce) {
+    .accordion-button::after {
+      transition: none;
+    }
   }
-  .col-xl-1 {
-    flex: 0 0 auto;
-    width: 8.33333333%;
+  .accordion-button:hover {
+    z-index: 2;
   }
-  .col-xl-2 {
-    flex: 0 0 auto;
-    width: 16.66666667%;
+  .accordion-button:focus {
+    z-index: 3;
+    outline: 0;
+    box-shadow: var(--bs-accordion-btn-focus-box-shadow);
   }
-  .col-xl-3 {
-    flex: 0 0 auto;
-    width: 25%;
+  .accordion-header {
+    margin-bottom: 0;
   }
-  .col-xl-4 {
-    flex: 0 0 auto;
-    width: 33.33333333%;
+  .accordion-item {
+    color: var(--bs-accordion-color);
+    background-color: var(--bs-accordion-bg);
+    border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
   }
-  .col-xl-5 {
-    flex: 0 0 auto;
-    width: 41.66666667%;
+  .accordion-item:first-of-type {
+    border-top-left-radius: var(--bs-accordion-border-radius);
+    border-top-right-radius: var(--bs-accordion-border-radius);
   }
-  .col-xl-6 {
-    flex: 0 0 auto;
-    width: 50%;
+  .accordion-item:first-of-type > .accordion-header .accordion-button {
+    border-top-left-radius: var(--bs-accordion-inner-border-radius);
+    border-top-right-radius: var(--bs-accordion-inner-border-radius);
   }
-  .col-xl-7 {
-    flex: 0 0 auto;
-    width: 58.33333333%;
+  .accordion-item:not(:first-of-type) {
+    border-top: 0;
   }
-  .col-xl-8 {
-    flex: 0 0 auto;
-    width: 66.66666667%;
+  .accordion-item:last-of-type {
+    border-bottom-right-radius: var(--bs-accordion-border-radius);
+    border-bottom-left-radius: var(--bs-accordion-border-radius);
   }
-  .col-xl-9 {
-    flex: 0 0 auto;
-    width: 75%;
+  .accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
+    border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
+    border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
   }
-  .col-xl-10 {
-    flex: 0 0 auto;
-    width: 83.33333333%;
+  .accordion-item:last-of-type > .accordion-collapse {
+    border-bottom-right-radius: var(--bs-accordion-border-radius);
+    border-bottom-left-radius: var(--bs-accordion-border-radius);
   }
-  .col-xl-11 {
-    flex: 0 0 auto;
-    width: 91.66666667%;
+  .accordion-body {
+    padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
   }
-  .col-xl-12 {
-    flex: 0 0 auto;
-    width: 100%;
+  .accordion-flush > .accordion-item {
+    border-right: 0;
+    border-left: 0;
+    border-radius: 0;
   }
-  .offset-xl-0 {
-    margin-left: 0;
+  .accordion-flush > .accordion-item:first-child {
+    border-top: 0;
   }
-  .offset-xl-1 {
-    margin-left: 8.33333333%;
+  .accordion-flush > .accordion-item:last-child {
+    border-bottom: 0;
   }
-  .offset-xl-2 {
-    margin-left: 16.66666667%;
+  .accordion-flush > .accordion-item > .accordion-collapse,
+  .accordion-flush > .accordion-item > .accordion-header .accordion-button,
+  .accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
+    border-radius: 0;
   }
-  .offset-xl-3 {
-    margin-left: 25%;
+}
+@layer components {
+  .alert {
+    --bs-alert-bg: transparent;
+    --bs-alert-padding-x: 1rem;
+    --bs-alert-padding-y: 1rem;
+    --bs-alert-margin-bottom: 1rem;
+    --bs-alert-color: inherit;
+    --bs-alert-border-color: transparent;
+    --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
+    --bs-alert-border-radius: var(--bs-border-radius);
+    --bs-alert-link-color: inherit;
+    position: relative;
+    padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
+    margin-bottom: var(--bs-alert-margin-bottom);
+    color: var(--bs-alert-color);
+    background-color: var(--bs-alert-bg);
+    border: var(--bs-alert-border);
+    border-radius: var(--bs-alert-border-radius);
+  }
+  .alert-heading {
+    color: inherit;
+  }
+  .alert-link {
+    font-weight: 700;
+    color: var(--bs-alert-link-color);
+  }
+  .alert-dismissible {
+    padding-right: 3rem;
+  }
+  .alert-dismissible .btn-close {
+    position: absolute;
+    top: 0;
+    right: 0;
+    z-index: 2;
+    padding: 1.25rem 1rem;
+  }
+  .alert-primary {
+    --bs-alert-color: var(--bs-primary-text-emphasis);
+    --bs-alert-bg: var(--bs-primary-bg-subtle);
+    --bs-alert-border-color: var(--bs-primary-border-subtle);
+    --bs-alert-link-color: var(--bs-primary-text-emphasis);
+  }
+  .alert-secondary {
+    --bs-alert-color: var(--bs-secondary-text-emphasis);
+    --bs-alert-bg: var(--bs-secondary-bg-subtle);
+    --bs-alert-border-color: var(--bs-secondary-border-subtle);
+    --bs-alert-link-color: var(--bs-secondary-text-emphasis);
+  }
+  .alert-success {
+    --bs-alert-color: var(--bs-success-text-emphasis);
+    --bs-alert-bg: var(--bs-success-bg-subtle);
+    --bs-alert-border-color: var(--bs-success-border-subtle);
+    --bs-alert-link-color: var(--bs-success-text-emphasis);
+  }
+  .alert-info {
+    --bs-alert-color: var(--bs-info-text-emphasis);
+    --bs-alert-bg: var(--bs-info-bg-subtle);
+    --bs-alert-border-color: var(--bs-info-border-subtle);
+    --bs-alert-link-color: var(--bs-info-text-emphasis);
+  }
+  .alert-warning {
+    --bs-alert-color: var(--bs-warning-text-emphasis);
+    --bs-alert-bg: var(--bs-warning-bg-subtle);
+    --bs-alert-border-color: var(--bs-warning-border-subtle);
+    --bs-alert-link-color: var(--bs-warning-text-emphasis);
+  }
+  .alert-danger {
+    --bs-alert-color: var(--bs-danger-text-emphasis);
+    --bs-alert-bg: var(--bs-danger-bg-subtle);
+    --bs-alert-border-color: var(--bs-danger-border-subtle);
+    --bs-alert-link-color: var(--bs-danger-text-emphasis);
+  }
+  .alert-light {
+    --bs-alert-color: var(--bs-light-text-emphasis);
+    --bs-alert-bg: var(--bs-light-bg-subtle);
+    --bs-alert-border-color: var(--bs-light-border-subtle);
+    --bs-alert-link-color: var(--bs-light-text-emphasis);
+  }
+  .alert-dark {
+    --bs-alert-color: var(--bs-dark-text-emphasis);
+    --bs-alert-bg: var(--bs-dark-bg-subtle);
+    --bs-alert-border-color: var(--bs-dark-border-subtle);
+    --bs-alert-link-color: var(--bs-dark-text-emphasis);
+  }
+}
+@layer components {
+  .badge {
+    --bs-badge-padding-x: 0.65em;
+    --bs-badge-padding-y: 0.35em;
+    --bs-badge-font-size: 0.75em;
+    --bs-badge-font-weight: 700;
+    --bs-badge-color: #fff;
+    --bs-badge-border-radius: var(--bs-border-radius);
+    display: inline-block;
+    padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
+    font-size: var(--bs-badge-font-size);
+    font-weight: var(--bs-badge-font-weight);
+    line-height: 1;
+    color: var(--bs-badge-color);
+    text-align: center;
+    white-space: nowrap;
+    vertical-align: baseline;
+    border-radius: var(--bs-badge-border-radius);
+  }
+  .badge:empty {
+    display: none;
   }
-  .offset-xl-4 {
-    margin-left: 33.33333333%;
+  .btn .badge {
+    position: relative;
+    top: -1px;
+  }
+}
+@layer components {
+  .breadcrumb {
+    --bs-breadcrumb-padding-x: 0;
+    --bs-breadcrumb-padding-y: 0;
+    --bs-breadcrumb-margin-bottom: 1rem;
+    --bs-breadcrumb-bg: ;
+    --bs-breadcrumb-border-radius: ;
+    --bs-breadcrumb-divider-color: var(--bs-secondary-color);
+    --bs-breadcrumb-item-padding-x: 0.5rem;
+    --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
+    display: flex;
+    flex-wrap: wrap;
+    padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
+    margin-bottom: var(--bs-breadcrumb-margin-bottom);
+    font-size: var(--bs-breadcrumb-font-size);
+    list-style: none;
+    background-color: var(--bs-breadcrumb-bg);
+    border-radius: var(--bs-breadcrumb-border-radius);
+  }
+  .breadcrumb-item + .breadcrumb-item {
+    padding-left: var(--bs-breadcrumb-item-padding-x);
+  }
+  .breadcrumb-item + .breadcrumb-item::before {
+    float: left;
+    padding-right: var(--bs-breadcrumb-item-padding-x);
+    color: var(--bs-breadcrumb-divider-color);
+    content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
+  }
+  .breadcrumb-item.active {
+    color: var(--bs-breadcrumb-item-active-color);
+  }
+}
+@layer components {
+  .card {
+    --bs-card-spacer-y: 1rem;
+    --bs-card-spacer-x: 1rem;
+    --bs-card-title-spacer-y: 0.5rem;
+    --bs-card-title-color: ;
+    --bs-card-subtitle-color: ;
+    --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);
+    --bs-card-box-shadow: ;
+    --bs-card-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
+    --bs-card-cap-padding-y: 0.5rem;
+    --bs-card-cap-padding-x: 1rem;
+    --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
+    --bs-card-cap-color: ;
+    --bs-card-height: ;
+    --bs-card-color: ;
+    --bs-card-bg: var(--bs-body-bg);
+    --bs-card-img-overlay-padding: 1rem;
+    --bs-card-group-margin: 0.75rem;
+    position: relative;
+    display: flex;
+    flex-direction: column;
+    min-width: 0;
+    height: var(--bs-card-height);
+    color: var(--bs-body-color);
+    word-wrap: break-word;
+    background-color: var(--bs-card-bg);
+    background-clip: border-box;
+    border: var(--bs-card-border-width) solid var(--bs-card-border-color);
+    border-radius: var(--bs-card-border-radius);
+  }
+  .card > hr {
+    margin-right: 0;
+    margin-left: 0;
   }
-  .offset-xl-5 {
-    margin-left: 41.66666667%;
+  .card > .list-group {
+    border-top: inherit;
+    border-bottom: inherit;
   }
-  .offset-xl-6 {
-    margin-left: 50%;
+  .card > .list-group:first-child {
+    border-top-width: 0;
+    border-top-left-radius: var(--bs-card-inner-border-radius);
+    border-top-right-radius: var(--bs-card-inner-border-radius);
   }
-  .offset-xl-7 {
-    margin-left: 58.33333333%;
+  .card > .list-group:last-child {
+    border-bottom-width: 0;
+    border-bottom-right-radius: var(--bs-card-inner-border-radius);
+    border-bottom-left-radius: var(--bs-card-inner-border-radius);
   }
-  .offset-xl-8 {
-    margin-left: 66.66666667%;
+  .card > .card-header + .list-group,
+  .card > .list-group + .card-footer {
+    border-top: 0;
   }
-  .offset-xl-9 {
-    margin-left: 75%;
+  .card-body {
+    flex: 1 1 auto;
+    padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
+    color: var(--bs-card-color);
   }
-  .offset-xl-10 {
-    margin-left: 83.33333333%;
+  .card-title {
+    margin-bottom: var(--bs-card-title-spacer-y);
+    color: var(--bs-card-title-color);
   }
-  .offset-xl-11 {
-    margin-left: 91.66666667%;
+  .card-subtitle {
+    margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
+    margin-bottom: 0;
+    color: var(--bs-card-subtitle-color);
   }
-  .g-xl-0,
-  .gx-xl-0 {
-    --bs-gutter-x: 0;
+  .card-text:last-child {
+    margin-bottom: 0;
   }
-  .g-xl-0,
-  .gy-xl-0 {
-    --bs-gutter-y: 0;
+  .card-link + .card-link {
+    margin-left: var(--bs-card-spacer-x);
   }
-  .g-xl-1,
-  .gx-xl-1 {
-    --bs-gutter-x: 0.25rem;
+  .card-header {
+    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
+    margin-bottom: 0;
+    color: var(--bs-card-cap-color);
+    background-color: var(--bs-card-cap-bg);
+    border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
   }
-  .g-xl-1,
-  .gy-xl-1 {
-    --bs-gutter-y: 0.25rem;
+  .card-header:first-child {
+    border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
   }
-  .g-xl-2,
-  .gx-xl-2 {
-    --bs-gutter-x: 0.5rem;
+  .card-footer {
+    padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
+    color: var(--bs-card-cap-color);
+    background-color: var(--bs-card-cap-bg);
+    border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
   }
-  .g-xl-2,
-  .gy-xl-2 {
-    --bs-gutter-y: 0.5rem;
+  .card-footer:last-child {
+    border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
   }
-  .g-xl-3,
-  .gx-xl-3 {
-    --bs-gutter-x: 1rem;
+  .card-header-tabs {
+    margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+    margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
+    margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
+    border-bottom: 0;
   }
-  .g-xl-3,
-  .gy-xl-3 {
-    --bs-gutter-y: 1rem;
+  .card-header-tabs .nav-link.active {
+    background-color: var(--bs-card-bg);
+    border-bottom-color: var(--bs-card-bg);
   }
-  .g-xl-4,
-  .gx-xl-4 {
-    --bs-gutter-x: 1.5rem;
+  .card-header-pills {
+    margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
+    margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
   }
-  .g-xl-4,
-  .gy-xl-4 {
-    --bs-gutter-y: 1.5rem;
+  .card-img-overlay {
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    padding: var(--bs-card-img-overlay-padding);
+    border-radius: var(--bs-card-inner-border-radius);
   }
-  .g-xl-5,
-  .gx-xl-5 {
-    --bs-gutter-x: 3rem;
+  .card-img,
+  .card-img-top,
+  .card-img-bottom {
+    width: 100%;
   }
-  .g-xl-5,
-  .gy-xl-5 {
-    --bs-gutter-y: 3rem;
+  .card-img,
+  .card-img-top {
+    border-top-left-radius: var(--bs-card-inner-border-radius);
+    border-top-right-radius: var(--bs-card-inner-border-radius);
   }
-}
-@media (min-width: 1400px) {
-  .col-xxl {
-    flex: 1 0 0;
+  .card-img,
+  .card-img-bottom {
+    border-bottom-right-radius: var(--bs-card-inner-border-radius);
+    border-bottom-left-radius: var(--bs-card-inner-border-radius);
   }
-  .row-cols-xxl-auto > * {
-    flex: 0 0 auto;
-    width: auto;
+  .card-group > .card {
+    margin-bottom: var(--bs-card-group-margin);
+  }
+  @media (min-width: 576px) {
+    .card-group {
+      display: flex;
+      flex-flow: row wrap;
+    }
+    .card-group > .card {
+      flex: 1 0 0;
+      margin-bottom: 0;
+    }
+    .card-group > .card + .card {
+      margin-left: 0;
+      border-left: 0;
+    }
+    .card-group > .card:not(:last-child) {
+      border-top-right-radius: 0;
+      border-bottom-right-radius: 0;
+    }
+    .card-group > .card:not(:last-child) > .card-img-top,
+    .card-group > .card:not(:last-child) > .card-header {
+      border-top-right-radius: 0;
+    }
+    .card-group > .card:not(:last-child) > .card-img-bottom,
+    .card-group > .card:not(:last-child) > .card-footer {
+      border-bottom-right-radius: 0;
+    }
+    .card-group > .card:not(:first-child) {
+      border-top-left-radius: 0;
+      border-bottom-left-radius: 0;
+    }
+    .card-group > .card:not(:first-child) > .card-img-top,
+    .card-group > .card:not(:first-child) > .card-header {
+      border-top-left-radius: 0;
+    }
+    .card-group > .card:not(:first-child) > .card-img-bottom,
+    .card-group > .card:not(:first-child) > .card-footer {
+      border-bottom-left-radius: 0;
+    }
+  }
+}
+@layer components {
+  .carousel {
+    position: relative;
+  }
+  .carousel.pointer-event {
+    touch-action: pan-y;
+  }
+  .carousel-inner {
+    position: relative;
+    display: flow-root;
+    width: 100%;
+    overflow: hidden;
   }
-  .row-cols-xxl-1 > * {
-    flex: 0 0 auto;
+  .carousel-item {
+    position: relative;
+    display: none;
+    float: left;
     width: 100%;
+    margin-right: -100%;
+    backface-visibility: hidden;
+    transition: transform 0.6s ease-in-out;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .carousel-item {
+      transition: none;
+    }
+  }
+  .carousel-item.active,
+  .carousel-item-next,
+  .carousel-item-prev {
+    display: block;
+  }
+  .carousel-item-next:not(.carousel-item-start),
+  .active.carousel-item-end {
+    transform: translateX(100%);
   }
-  .row-cols-xxl-2 > * {
-    flex: 0 0 auto;
-    width: 50%;
+  .carousel-item-prev:not(.carousel-item-end),
+  .active.carousel-item-start {
+    transform: translateX(-100%);
   }
-  .row-cols-xxl-3 > * {
-    flex: 0 0 auto;
-    width: 33.33333333%;
+  .carousel-fade .carousel-item {
+    opacity: 0;
+    transition-property: opacity;
+    transform: none;
   }
-  .row-cols-xxl-4 > * {
-    flex: 0 0 auto;
-    width: 25%;
+  .carousel-fade .carousel-item.active,
+  .carousel-fade .carousel-item-next.carousel-item-start,
+  .carousel-fade .carousel-item-prev.carousel-item-end {
+    z-index: 1;
+    opacity: 1;
   }
-  .row-cols-xxl-5 > * {
-    flex: 0 0 auto;
-    width: 20%;
+  .carousel-fade .active.carousel-item-start,
+  .carousel-fade .active.carousel-item-end {
+    z-index: 0;
+    opacity: 0;
+    transition: opacity 0s 0.6s;
   }
-  .row-cols-xxl-6 > * {
-    flex: 0 0 auto;
-    width: 16.66666667%;
+  @media (prefers-reduced-motion: reduce) {
+    .carousel-fade .active.carousel-item-start,
+    .carousel-fade .active.carousel-item-end {
+      transition: none;
+    }
   }
-  .col-xxl-auto {
-    flex: 0 0 auto;
-    width: auto;
+  .carousel-control-prev,
+  .carousel-control-next {
+    position: absolute;
+    top: 0;
+    bottom: 0;
+    z-index: 1;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    width: 15%;
+    padding: 0;
+    color: #fff;
+    text-align: center;
+    background: none;
+    filter: var(--bs-carousel-control-icon-filter);
+    border: 0;
+    opacity: 0.5;
+    transition: opacity 0.15s ease;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .carousel-control-prev,
+    .carousel-control-next {
+      transition: none;
+    }
+  }
+  .carousel-control-prev:hover, .carousel-control-prev:focus,
+  .carousel-control-next:hover,
+  .carousel-control-next:focus {
+    color: #fff;
+    text-decoration: none;
+    outline: 0;
+    opacity: 0.9;
   }
-  .col-xxl-1 {
-    flex: 0 0 auto;
-    width: 8.33333333%;
+  .carousel-control-prev {
+    left: 0;
   }
-  .col-xxl-2 {
-    flex: 0 0 auto;
-    width: 16.66666667%;
+  .carousel-control-next {
+    right: 0;
   }
-  .col-xxl-3 {
-    flex: 0 0 auto;
-    width: 25%;
+  .carousel-control-prev-icon,
+  .carousel-control-next-icon {
+    display: inline-block;
+    width: 2rem;
+    height: 2rem;
+    background-repeat: no-repeat;
+    background-position: 50%;
+    background-size: 100% 100%;
   }
-  .col-xxl-4 {
-    flex: 0 0 auto;
-    width: 33.33333333%;
+  .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>")) /*rtl: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>"))*/;
   }
-  .col-xxl-5 {
-    flex: 0 0 auto;
-    width: 41.66666667%;
+  .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>")) /*rtl: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>"))*/;
   }
-  .col-xxl-6 {
-    flex: 0 0 auto;
-    width: 50%;
+  .carousel-indicators {
+    position: absolute;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    z-index: 2;
+    display: flex;
+    justify-content: center;
+    padding: 0;
+    margin-right: 15%;
+    margin-bottom: 1rem;
+    margin-left: 15%;
   }
-  .col-xxl-7 {
-    flex: 0 0 auto;
-    width: 58.33333333%;
+  .carousel-indicators [data-bs-target] {
+    box-sizing: content-box;
+    flex: 0 1 auto;
+    width: 30px;
+    height: 3px;
+    padding: 0;
+    margin-right: 3px;
+    margin-left: 3px;
+    text-indent: -999px;
+    cursor: pointer;
+    background-color: var(--bs-carousel-indicator-active-bg);
+    background-clip: padding-box;
+    border: 0;
+    border-top: 10px solid transparent;
+    border-bottom: 10px solid transparent;
+    opacity: 0.5;
+    transition: opacity 0.6s ease;
   }
-  .col-xxl-8 {
-    flex: 0 0 auto;
-    width: 66.66666667%;
+  @media (prefers-reduced-motion: reduce) {
+    .carousel-indicators [data-bs-target] {
+      transition: none;
+    }
   }
-  .col-xxl-9 {
-    flex: 0 0 auto;
-    width: 75%;
+  .carousel-indicators .active {
+    opacity: 1;
   }
-  .col-xxl-10 {
-    flex: 0 0 auto;
-    width: 83.33333333%;
+  .carousel-caption {
+    position: absolute;
+    right: 15%;
+    bottom: 1.25rem;
+    left: 15%;
+    padding-top: 1.25rem;
+    padding-bottom: 1.25rem;
+    color: var(--bs-carousel-caption-color);
+    text-align: center;
+  }
+  .carousel-dark {
+    --bs-carousel-indicator-active-bg: #000;
+    --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;
+    --bs-carousel-control-icon-filter: invert(1) grayscale(100);
+  }
+}
+@layer components {
+  dialog {
+    --bs-dialog-zindex: 1055;
+    --bs-dialog-width: 500px;
+    --bs-dialog-padding: 1rem;
+    --bs-dialog-margin: 0.5rem;
+    --bs-dialog-color: var(--bs-body-color);
+    --bs-dialog-bg: var(--bs-body-bg);
+    --bs-dialog-border-color: var(--bs-border-color-translucent);
+    --bs-dialog-border-width: var(--bs-border-width);
+    --bs-dialog-border-radius: var(--bs-border-radius-lg);
+    --bs-dialog-box-shadow: var(--bs-box-shadow-sm);
+    --bs-dialog-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
+    --bs-dialog-header-padding-x: 1rem;
+    --bs-dialog-header-padding-y: 1rem;
+    --bs-dialog-header-padding: 1rem 1rem;
+    --bs-dialog-header-border-color: var(--bs-border-color);
+    --bs-dialog-header-border-width: var(--bs-border-width);
+    --bs-dialog-title-line-height: 1.5;
+    --bs-dialog-footer-gap: 0.5rem;
+    --bs-dialog-footer-bg: ;
+    --bs-dialog-footer-border-color: var(--bs-border-color);
+    --bs-dialog-footer-border-width: var(--bs-border-width);
+    position: fixed;
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+    margin: 0;
+    padding: 0;
+    border: none;
+    background: transparent;
+    color: inherit;
+    width: auto;
+    height: auto;
+    max-width: calc(100vw - var(--bs-dialog-margin) * 2);
+    max-height: calc(100vh - var(--bs-dialog-margin) * 2);
+    scrollbar-gutter: stable;
+    outline: 0;
   }
-  .col-xxl-11 {
-    flex: 0 0 auto;
-    width: 91.66666667%;
+  dialog::backdrop {
+    display: none;
   }
-  .col-xxl-12 {
-    flex: 0 0 auto;
-    width: 100%;
+  dialog.fade .dialog-content {
+    transform: translate(0, -50px);
+    transition: transform 0.3s ease-out;
   }
-  .offset-xxl-0 {
-    margin-left: 0;
+  @media (prefers-reduced-motion: reduce) {
+    dialog.fade .dialog-content {
+      transition: none;
+    }
   }
-  .offset-xxl-1 {
-    margin-left: 8.33333333%;
+  dialog.show .dialog-content {
+    transform: none;
   }
-  .offset-xxl-2 {
-    margin-left: 16.66666667%;
+  dialog.dialog-static .dialog-content {
+    transform: scale(1.02);
   }
-  .offset-xxl-3 {
-    margin-left: 25%;
+  .dialog-content {
+    position: relative;
+    display: flex;
+    flex-direction: column;
+    width: var(--bs-dialog-width);
+    color: var(--bs-dialog-color);
+    pointer-events: auto;
+    background-color: var(--bs-dialog-bg);
+    background-clip: padding-box;
+    border: var(--bs-dialog-border-width) solid var(--bs-dialog-border-color);
+    border-radius: var(--bs-dialog-border-radius);
+    outline: 0;
   }
-  .offset-xxl-4 {
-    margin-left: 33.33333333%;
+  .dialog-backdrop {
+    --bs-backdrop-zindex: 1050;
+    --bs-backdrop-bg: #000;
+    --bs-backdrop-opacity: 0.5;
+    position: fixed;
+    top: 0;
+    left: 0;
+    z-index: var(--bs-backdrop-zindex);
+    width: 100vw;
+    height: 100vh;
+    background-color: var(--bs-backdrop-bg);
   }
-  .offset-xxl-5 {
-    margin-left: 41.66666667%;
+  .dialog-backdrop.fade {
+    opacity: 0;
   }
-  .offset-xxl-6 {
-    margin-left: 50%;
+  .dialog-backdrop.show {
+    opacity: var(--bs-backdrop-opacity);
   }
-  .offset-xxl-7 {
-    margin-left: 58.33333333%;
+  .dialog-header {
+    display: flex;
+    flex-shrink: 0;
+    align-items: center;
+    padding: var(--bs-dialog-header-padding);
+    border-bottom: var(--bs-dialog-header-border-width) solid var(--bs-dialog-header-border-color);
+    border-top-left-radius: var(--bs-dialog-inner-border-radius);
+    border-top-right-radius: var(--bs-dialog-inner-border-radius);
+  }
+  .dialog-header .btn-close {
+    padding: calc(var(--bs-dialog-header-padding-y) * 0.5) calc(var(--bs-dialog-header-padding-x) * 0.5);
+    margin-top: calc(-0.5 * var(--bs-dialog-header-padding-y));
+    margin-right: calc(-0.5 * var(--bs-dialog-header-padding-x));
+    margin-bottom: calc(-0.5 * var(--bs-dialog-header-padding-y));
+    margin-left: auto;
   }
-  .offset-xxl-8 {
-    margin-left: 66.66666667%;
+  .dialog-title {
+    margin-bottom: 0;
+    line-height: var(--bs-dialog-title-line-height);
   }
-  .offset-xxl-9 {
-    margin-left: 75%;
+  .dialog-body {
+    position: relative;
+    flex: 1 1 auto;
+    padding: var(--bs-dialog-padding);
   }
-  .offset-xxl-10 {
-    margin-left: 83.33333333%;
+  .dialog-footer {
+    display: flex;
+    flex-shrink: 0;
+    flex-wrap: wrap;
+    align-items: center;
+    justify-content: flex-end;
+    padding: calc(var(--bs-dialog-padding) - var(--bs-dialog-footer-gap) * 0.5);
+    background-color: var(--bs-dialog-footer-bg);
+    border-top: var(--bs-dialog-footer-border-width) solid var(--bs-dialog-footer-border-color);
+    border-bottom-right-radius: var(--bs-dialog-inner-border-radius);
+    border-bottom-left-radius: var(--bs-dialog-inner-border-radius);
+  }
+  .dialog-footer > * {
+    margin: calc(var(--bs-dialog-footer-gap) * 0.5);
+  }
+  .dialog-scrollable .dialog-content {
+    max-height: calc(100vh - var(--bs-dialog-margin) * 2);
+    overflow: hidden;
+  }
+  .dialog-scrollable .dialog-body {
+    overflow-y: auto;
   }
-  .offset-xxl-11 {
-    margin-left: 91.66666667%;
+  .dialog-centered {
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+  @media (min-width: 576px) {
+    dialog {
+      --bs-dialog-margin: 1.75rem;
+      --bs-dialog-box-shadow: var(--bs-box-shadow);
+    }
+    .dialog-content {
+      max-width: var(--bs-dialog-width);
+    }
+    .dialog-sm {
+      --bs-dialog-width: 300px;
+    }
+  }
+  @media (min-width: 992px) {
+    .dialog-lg,
+    .dialog-xl {
+      --bs-dialog-width: 800px;
+    }
+  }
+  @media (min-width: 1200px) {
+    .dialog-xl {
+      --bs-dialog-width: 1140px;
+    }
+  }
+  .dialog-fullscreen {
+    width: 100vw;
+    max-width: none;
+    height: 100vh;
+    margin: 0;
+    top: 0;
+    left: 0;
+    transform: none;
   }
-  .g-xxl-0,
-  .gx-xxl-0 {
-    --bs-gutter-x: 0;
+  .dialog-fullscreen .dialog-content {
+    height: 100%;
+    border: 0;
+    border-radius: 0;
   }
-  .g-xxl-0,
-  .gy-xxl-0 {
-    --bs-gutter-y: 0;
+  .dialog-fullscreen .dialog-header,
+  .dialog-fullscreen .dialog-footer {
+    border-radius: 0;
   }
-  .g-xxl-1,
-  .gx-xxl-1 {
-    --bs-gutter-x: 0.25rem;
+  .dialog-fullscreen .dialog-body {
+    overflow-y: auto;
   }
-  .g-xxl-1,
-  .gy-xxl-1 {
-    --bs-gutter-y: 0.25rem;
+  @media (max-width: 575.98px) {
+    .dialog-fullscreen-sm-down {
+      width: 100vw;
+      max-width: none;
+      height: 100vh;
+      margin: 0;
+      top: 0;
+      left: 0;
+      transform: none;
+    }
+    .dialog-fullscreen-sm-down .dialog-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .dialog-fullscreen-sm-down .dialog-header,
+    .dialog-fullscreen-sm-down .dialog-footer {
+      border-radius: 0;
+    }
+    .dialog-fullscreen-sm-down .dialog-body {
+      overflow-y: auto;
+    }
+  }
+  @media (max-width: 767.98px) {
+    .dialog-fullscreen-md-down {
+      width: 100vw;
+      max-width: none;
+      height: 100vh;
+      margin: 0;
+      top: 0;
+      left: 0;
+      transform: none;
+    }
+    .dialog-fullscreen-md-down .dialog-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .dialog-fullscreen-md-down .dialog-header,
+    .dialog-fullscreen-md-down .dialog-footer {
+      border-radius: 0;
+    }
+    .dialog-fullscreen-md-down .dialog-body {
+      overflow-y: auto;
+    }
+  }
+  @media (max-width: 991.98px) {
+    .dialog-fullscreen-lg-down {
+      width: 100vw;
+      max-width: none;
+      height: 100vh;
+      margin: 0;
+      top: 0;
+      left: 0;
+      transform: none;
+    }
+    .dialog-fullscreen-lg-down .dialog-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .dialog-fullscreen-lg-down .dialog-header,
+    .dialog-fullscreen-lg-down .dialog-footer {
+      border-radius: 0;
+    }
+    .dialog-fullscreen-lg-down .dialog-body {
+      overflow-y: auto;
+    }
+  }
+  @media (max-width: 1199.98px) {
+    .dialog-fullscreen-xl-down {
+      width: 100vw;
+      max-width: none;
+      height: 100vh;
+      margin: 0;
+      top: 0;
+      left: 0;
+      transform: none;
+    }
+    .dialog-fullscreen-xl-down .dialog-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .dialog-fullscreen-xl-down .dialog-header,
+    .dialog-fullscreen-xl-down .dialog-footer {
+      border-radius: 0;
+    }
+    .dialog-fullscreen-xl-down .dialog-body {
+      overflow-y: auto;
+    }
+  }
+  @media (max-width: 1399.98px) {
+    .dialog-fullscreen-xxl-down {
+      width: 100vw;
+      max-width: none;
+      height: 100vh;
+      margin: 0;
+      top: 0;
+      left: 0;
+      transform: none;
+    }
+    .dialog-fullscreen-xxl-down .dialog-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .dialog-fullscreen-xxl-down .dialog-header,
+    .dialog-fullscreen-xxl-down .dialog-footer {
+      border-radius: 0;
+    }
+    .dialog-fullscreen-xxl-down .dialog-body {
+      overflow-y: auto;
+    }
+  }
+  .dialog-open {
+    overflow: hidden;
+    scrollbar-gutter: stable;
+  }
+}
+@layer components {
+  .dropup,
+  .dropend,
+  .dropdown,
+  .dropstart,
+  .dropup-center,
+  .dropdown-center {
+    position: relative;
+  }
+  .dropdown-toggle {
+    white-space: nowrap;
+  }
+  .dropdown-toggle::after {
+    display: inline-block;
+    margin-left: 0.255em;
+    vertical-align: 0.255em;
+    content: "";
+    border-top: 0.3em solid;
+    border-right: 0.3em solid transparent;
+    border-bottom: 0;
+    border-left: 0.3em solid transparent;
+  }
+  .dropdown-toggle:empty::after {
+    margin-left: 0;
   }
-  .g-xxl-2,
-  .gx-xxl-2 {
-    --bs-gutter-x: 0.5rem;
-  }
-  .g-xxl-2,
-  .gy-xxl-2 {
-    --bs-gutter-y: 0.5rem;
-  }
-  .g-xxl-3,
-  .gx-xxl-3 {
-    --bs-gutter-x: 1rem;
-  }
-  .g-xxl-3,
-  .gy-xxl-3 {
-    --bs-gutter-y: 1rem;
-  }
-  .g-xxl-4,
-  .gx-xxl-4 {
-    --bs-gutter-x: 1.5rem;
-  }
-  .g-xxl-4,
-  .gy-xxl-4 {
-    --bs-gutter-y: 1.5rem;
-  }
-  .g-xxl-5,
-  .gx-xxl-5 {
-    --bs-gutter-x: 3rem;
-  }
-  .g-xxl-5,
-  .gy-xxl-5 {
-    --bs-gutter-y: 3rem;
-  }
-}
-.table {
-  --bs-table-color-type: initial;
-  --bs-table-bg-type: initial;
-  --bs-table-color-state: initial;
-  --bs-table-bg-state: initial;
-  --bs-table-color: var(--bs-emphasis-color);
-  --bs-table-bg: var(--bs-body-bg);
-  --bs-table-border-color: var(--bs-border-color);
-  --bs-table-accent-bg: transparent;
-  --bs-table-striped-color: var(--bs-emphasis-color);
-  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);
-  --bs-table-active-color: var(--bs-emphasis-color);
-  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);
-  --bs-table-hover-color: var(--bs-emphasis-color);
-  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);
-  width: 100%;
-  margin-bottom: 1rem;
-  vertical-align: top;
-  border-color: var(--bs-table-border-color);
-}
-.table > :not(caption) > * > * {
-  padding: 0.5rem 0.5rem;
-  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));
-  background-color: var(--bs-table-bg);
-  border-bottom-width: var(--bs-border-width);
-  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));
-}
-.table > tbody {
-  vertical-align: inherit;
-}
-.table > thead {
-  vertical-align: bottom;
-}
-
-.table-group-divider {
-  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;
-}
-
-.caption-top {
-  caption-side: top;
-}
-
-.table-sm > :not(caption) > * > * {
-  padding: 0.25rem 0.25rem;
-}
-
-.table-bordered > :not(caption) > * {
-  border-width: var(--bs-border-width) 0;
-}
-.table-bordered > :not(caption) > * > * {
-  border-width: 0 var(--bs-border-width);
-}
-
-.table-borderless > :not(caption) > * > * {
-  border-bottom-width: 0;
-}
-.table-borderless > :not(:first-child) {
-  border-top-width: 0;
-}
-
-.table-striped > tbody > tr:nth-of-type(odd) > * {
-  --bs-table-color-type: var(--bs-table-striped-color);
-  --bs-table-bg-type: var(--bs-table-striped-bg);
-}
-
-.table-striped-columns > :not(caption) > tr > :nth-child(even) {
-  --bs-table-color-type: var(--bs-table-striped-color);
-  --bs-table-bg-type: var(--bs-table-striped-bg);
-}
-
-.table-active {
-  --bs-table-color-state: var(--bs-table-active-color);
-  --bs-table-bg-state: var(--bs-table-active-bg);
-}
-
-.table-hover > tbody > tr:hover > * {
-  --bs-table-color-state: var(--bs-table-hover-color);
-  --bs-table-bg-state: var(--bs-table-hover-bg);
-}
-
-.table-primary {
-  --bs-table-color: #000;
-  --bs-table-bg: #cfe2ff;
-  --bs-table-border-color: #a6b5cc;
-  --bs-table-striped-bg: #c5d7f2;
-  --bs-table-striped-color: #000;
-  --bs-table-active-bg: #bacbe6;
-  --bs-table-active-color: #000;
-  --bs-table-hover-bg: #bfd1ec;
-  --bs-table-hover-color: #000;
-  color: var(--bs-table-color);
-  border-color: var(--bs-table-border-color);
-}
-
-.table-secondary {
-  --bs-table-color: #000;
-  --bs-table-bg: #e2e3e5;
-  --bs-table-border-color: #b5b6b7;
-  --bs-table-striped-bg: #d7d8da;
-  --bs-table-striped-color: #000;
-  --bs-table-active-bg: #cbccce;
-  --bs-table-active-color: #000;
-  --bs-table-hover-bg: #d1d2d4;
-  --bs-table-hover-color: #000;
-  color: var(--bs-table-color);
-  border-color: var(--bs-table-border-color);
-}
-
-.table-success {
-  --bs-table-color: #000;
-  --bs-table-bg: #d1e7dd;
-  --bs-table-border-color: #a7b9b1;
-  --bs-table-striped-bg: #c7dbd2;
-  --bs-table-striped-color: #000;
-  --bs-table-active-bg: #bcd0c7;
-  --bs-table-active-color: #000;
-  --bs-table-hover-bg: #c1d6cc;
-  --bs-table-hover-color: #000;
-  color: var(--bs-table-color);
-  border-color: var(--bs-table-border-color);
-}
-
-.table-info {
-  --bs-table-color: #000;
-  --bs-table-bg: #cff4fc;
-  --bs-table-border-color: #a6c3ca;
-  --bs-table-striped-bg: #c5e8ef;
-  --bs-table-striped-color: #000;
-  --bs-table-active-bg: #badce3;
-  --bs-table-active-color: #000;
-  --bs-table-hover-bg: #bfe2e9;
-  --bs-table-hover-color: #000;
-  color: var(--bs-table-color);
-  border-color: var(--bs-table-border-color);
-}
-
-.table-warning {
-  --bs-table-color: #000;
-  --bs-table-bg: #fff3cd;
-  --bs-table-border-color: #ccc2a4;
-  --bs-table-striped-bg: #f2e7c3;
-  --bs-table-striped-color: #000;
-  --bs-table-active-bg: #e6dbb9;
-  --bs-table-active-color: #000;
-  --bs-table-hover-bg: #ece1be;
-  --bs-table-hover-color: #000;
-  color: var(--bs-table-color);
-  border-color: var(--bs-table-border-color);
-}
-
-.table-danger {
-  --bs-table-color: #000;
-  --bs-table-bg: #f8d7da;
-  --bs-table-border-color: #c6acae;
-  --bs-table-striped-bg: #eccccf;
-  --bs-table-striped-color: #000;
-  --bs-table-active-bg: #dfc2c4;
-  --bs-table-active-color: #000;
-  --bs-table-hover-bg: #e5c7ca;
-  --bs-table-hover-color: #000;
-  color: var(--bs-table-color);
-  border-color: var(--bs-table-border-color);
-}
-
-.table-light {
-  --bs-table-color: #000;
-  --bs-table-bg: #f8f9fa;
-  --bs-table-border-color: #c6c7c8;
-  --bs-table-striped-bg: #ecedee;
-  --bs-table-striped-color: #000;
-  --bs-table-active-bg: #dfe0e1;
-  --bs-table-active-color: #000;
-  --bs-table-hover-bg: #e5e6e7;
-  --bs-table-hover-color: #000;
-  color: var(--bs-table-color);
-  border-color: var(--bs-table-border-color);
-}
-
-.table-dark {
-  --bs-table-color: #fff;
-  --bs-table-bg: #212529;
-  --bs-table-border-color: #4d5154;
-  --bs-table-striped-bg: #2c3034;
-  --bs-table-striped-color: #fff;
-  --bs-table-active-bg: #373b3e;
-  --bs-table-active-color: #fff;
-  --bs-table-hover-bg: #323539;
-  --bs-table-hover-color: #fff;
-  color: var(--bs-table-color);
-  border-color: var(--bs-table-border-color);
-}
-
-.table-responsive {
-  overflow-x: auto;
-  -webkit-overflow-scrolling: touch;
-}
-
-@media (max-width: 575.98px) {
-  .table-responsive-sm {
-    overflow-x: auto;
-    -webkit-overflow-scrolling: touch;
-  }
-}
-@media (max-width: 767.98px) {
-  .table-responsive-md {
-    overflow-x: auto;
-    -webkit-overflow-scrolling: touch;
-  }
-}
-@media (max-width: 991.98px) {
-  .table-responsive-lg {
-    overflow-x: auto;
-    -webkit-overflow-scrolling: touch;
-  }
-}
-@media (max-width: 1199.98px) {
-  .table-responsive-xl {
-    overflow-x: auto;
-    -webkit-overflow-scrolling: touch;
-  }
-}
-@media (max-width: 1399.98px) {
-  .table-responsive-xxl {
-    overflow-x: auto;
-    -webkit-overflow-scrolling: touch;
-  }
-}
-.form-label {
-  margin-bottom: 0.5rem;
-}
-
-.col-form-label {
-  padding-top: calc(0.375rem + var(--bs-border-width));
-  padding-bottom: calc(0.375rem + var(--bs-border-width));
-  margin-bottom: 0;
-  font-size: inherit;
-  line-height: 1.5;
-}
-
-.col-form-label-lg {
-  padding-top: calc(0.5rem + var(--bs-border-width));
-  padding-bottom: calc(0.5rem + var(--bs-border-width));
-  font-size: 1.25rem;
-}
-
-.col-form-label-sm {
-  padding-top: calc(0.25rem + var(--bs-border-width));
-  padding-bottom: calc(0.25rem + var(--bs-border-width));
-  font-size: 0.875rem;
-}
-
-.form-text {
-  margin-top: 0.25rem;
-  font-size: 0.875em;
-  color: var(--bs-secondary-color);
-}
-
-.form-control {
-  display: block;
-  width: 100%;
-  padding: 0.375rem 0.75rem;
-  font-size: 1rem;
-  font-weight: 400;
-  line-height: 1.5;
-  color: var(--bs-body-color);
-  -webkit-appearance: none;
-  -moz-appearance: none;
-  appearance: none;
-  background-color: var(--bs-body-bg);
-  background-clip: padding-box;
-  border: var(--bs-border-width) solid var(--bs-border-color);
-  border-radius: var(--bs-border-radius);
-  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-control {
-    transition: none;
-  }
-}
-.form-control[type=file] {
-  overflow: hidden;
-}
-.form-control[type=file]:not(:disabled):not([readonly]) {
-  cursor: pointer;
-}
-.form-control:focus {
-  color: var(--bs-body-color);
-  background-color: var(--bs-body-bg);
-  border-color: #86b7fe;
-  outline: 0;
-  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-}
-.form-control::-webkit-date-and-time-value {
-  min-width: 85px;
-  height: 1.5em;
-  margin: 0;
-}
-.form-control::-webkit-datetime-edit {
-  display: block;
-  padding: 0;
-}
-.form-control::placeholder {
-  color: var(--bs-secondary-color);
-  opacity: 1;
-}
-.form-control:disabled {
-  background-color: var(--bs-secondary-bg);
-  opacity: 1;
-}
-.form-control::-webkit-file-upload-button {
-  padding: 0.375rem 0.75rem;
-  margin: -0.375rem -0.75rem;
-  -webkit-margin-end: 0.75rem;
-  margin-inline-end: 0.75rem;
-  color: var(--bs-body-color);
-  background-color: var(--bs-tertiary-bg);
-  pointer-events: none;
-  border-color: inherit;
-  border-style: solid;
-  border-width: 0;
-  border-inline-end-width: var(--bs-border-width);
-  border-radius: 0;
-  -webkit-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;
-  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;
-}
-.form-control::file-selector-button {
-  padding: 0.375rem 0.75rem;
-  margin: -0.375rem -0.75rem;
-  -webkit-margin-end: 0.75rem;
-  margin-inline-end: 0.75rem;
-  color: var(--bs-body-color);
-  background-color: var(--bs-tertiary-bg);
-  pointer-events: none;
-  border-color: inherit;
-  border-style: solid;
-  border-width: 0;
-  border-inline-end-width: var(--bs-border-width);
-  border-radius: 0;
-  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;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-control::-webkit-file-upload-button {
-    -webkit-transition: none;
-    transition: none;
-  }
-  .form-control::file-selector-button {
-    transition: none;
-  }
-}
-.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button {
-  background-color: var(--bs-secondary-bg);
-}
-.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
-  background-color: var(--bs-secondary-bg);
-}
-
-.form-control-plaintext {
-  display: block;
-  width: 100%;
-  padding: 0.375rem 0;
-  margin-bottom: 0;
-  line-height: 1.5;
-  color: var(--bs-body-color);
-  background-color: transparent;
-  border: solid transparent;
-  border-width: var(--bs-border-width) 0;
-}
-.form-control-plaintext:focus {
-  outline: 0;
-}
-.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {
-  padding-right: 0;
-  padding-left: 0;
-}
-
-.form-control-sm {
-  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
-  padding: 0.25rem 0.5rem;
-  font-size: 0.875rem;
-  border-radius: var(--bs-border-radius-sm);
-}
-.form-control-sm::-webkit-file-upload-button {
-  padding: 0.25rem 0.5rem;
-  margin: -0.25rem -0.5rem;
-  -webkit-margin-end: 0.5rem;
-  margin-inline-end: 0.5rem;
-}
-.form-control-sm::file-selector-button {
-  padding: 0.25rem 0.5rem;
-  margin: -0.25rem -0.5rem;
-  -webkit-margin-end: 0.5rem;
-  margin-inline-end: 0.5rem;
-}
-
-.form-control-lg {
-  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
-  padding: 0.5rem 1rem;
-  font-size: 1.25rem;
-  border-radius: var(--bs-border-radius-lg);
-}
-.form-control-lg::-webkit-file-upload-button {
-  padding: 0.5rem 1rem;
-  margin: -0.5rem -1rem;
-  -webkit-margin-end: 1rem;
-  margin-inline-end: 1rem;
-}
-.form-control-lg::file-selector-button {
-  padding: 0.5rem 1rem;
-  margin: -0.5rem -1rem;
-  -webkit-margin-end: 1rem;
-  margin-inline-end: 1rem;
-}
-
-textarea.form-control {
-  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
-}
-textarea.form-control-sm {
-  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
-}
-textarea.form-control-lg {
-  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
-}
-
-.form-control-color {
-  width: 3rem;
-  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));
-  padding: 0.375rem;
-}
-.form-control-color:not(:disabled):not([readonly]) {
-  cursor: pointer;
-}
-.form-control-color::-moz-color-swatch {
-  border: 0 !important;
-  border-radius: var(--bs-border-radius);
-}
-.form-control-color::-webkit-color-swatch {
-  border: 0 !important;
-  border-radius: var(--bs-border-radius);
-}
-.form-control-color.form-control-sm {
-  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));
-}
-.form-control-color.form-control-lg {
-  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));
-}
-
-.form-select {
-  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
-  display: block;
-  width: 100%;
-  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
-  font-size: 1rem;
-  font-weight: 400;
-  line-height: 1.5;
-  color: var(--bs-body-color);
-  -webkit-appearance: none;
-  -moz-appearance: none;
-  appearance: none;
-  background-color: var(--bs-body-bg);
-  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
-  background-repeat: no-repeat;
-  background-position: right 0.75rem center;
-  background-size: 16px 12px;
-  border: var(--bs-border-width) solid var(--bs-border-color);
-  border-radius: var(--bs-border-radius);
-  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-select {
-    transition: none;
-  }
-}
-.form-select:focus {
-  border-color: #86b7fe;
-  outline: 0;
-  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-}
-.form-select[multiple], .form-select[size]:not([size="1"]) {
-  padding-right: 0.75rem;
-  background-image: none;
-}
-.form-select:disabled {
-  background-color: var(--bs-secondary-bg);
-}
-.form-select:-moz-focusring {
-  color: transparent;
-  text-shadow: 0 0 0 var(--bs-body-color);
-}
-
-.form-select-sm {
-  padding-top: 0.25rem;
-  padding-bottom: 0.25rem;
-  padding-left: 0.5rem;
-  font-size: 0.875rem;
-  border-radius: var(--bs-border-radius-sm);
-}
-
-.form-select-lg {
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-  padding-left: 1rem;
-  font-size: 1.25rem;
-  border-radius: var(--bs-border-radius-lg);
-}
-
-[data-bs-theme=dark] .form-select {
-  --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
-}
-
-.form-check {
-  display: block;
-  min-height: 1.5rem;
-  padding-left: 1.5em;
-  margin-bottom: 0.125rem;
-}
-.form-check .form-check-input {
-  float: left;
-  margin-left: -1.5em;
-}
-
-.form-check-reverse {
-  padding-right: 1.5em;
-  padding-left: 0;
-  text-align: right;
-}
-.form-check-reverse .form-check-input {
-  float: right;
-  margin-right: -1.5em;
-  margin-left: 0;
-}
-
-.form-check-input {
-  --bs-form-check-bg: var(--bs-body-bg);
-  flex-shrink: 0;
-  width: 1em;
-  height: 1em;
-  margin-top: 0.25em;
-  vertical-align: top;
-  -webkit-appearance: none;
-  -moz-appearance: none;
-  appearance: none;
-  background-color: var(--bs-form-check-bg);
-  background-image: var(--bs-form-check-bg-image);
-  background-repeat: no-repeat;
-  background-position: center;
-  background-size: contain;
-  border: var(--bs-border-width) solid var(--bs-border-color);
-  -webkit-print-color-adjust: exact;
-  color-adjust: exact;
-  print-color-adjust: exact;
-}
-.form-check-input[type=checkbox] {
-  border-radius: 0.25em;
-}
-.form-check-input[type=radio] {
-  border-radius: 50%;
-}
-.form-check-input:active {
-  filter: brightness(90%);
-}
-.form-check-input:focus {
-  border-color: #86b7fe;
-  outline: 0;
-  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-}
-.form-check-input:checked {
-  background-color: #0d6efd;
-  border-color: #0d6efd;
-}
-.form-check-input:checked[type=checkbox] {
-  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
-}
-.form-check-input:checked[type=radio] {
-  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
-}
-.form-check-input[type=checkbox]:indeterminate {
-  background-color: #0d6efd;
-  border-color: #0d6efd;
-  --bs-form-check-bg-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e");
-}
-.form-check-input:disabled {
-  pointer-events: none;
-  filter: none;
-  opacity: 0.5;
-}
-.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {
-  cursor: default;
-  opacity: 0.5;
-}
-
-.form-switch {
-  padding-left: 2.5em;
-}
-.form-switch .form-check-input {
-  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e");
-  width: 2em;
-  margin-left: -2.5em;
-  background-image: var(--bs-form-switch-bg);
-  background-position: left center;
-  border-radius: 2em;
-  transition: background-position 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-switch .form-check-input {
-    transition: none;
-  }
-}
-.form-switch .form-check-input:focus {
-  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e");
-}
-.form-switch .form-check-input:checked {
-  background-position: right center;
-  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e");
-}
-.form-switch.form-check-reverse {
-  padding-right: 2.5em;
-  padding-left: 0;
-}
-.form-switch.form-check-reverse .form-check-input {
-  margin-right: -2.5em;
-  margin-left: 0;
-}
-
-.form-check-inline {
-  display: inline-block;
-  margin-right: 1rem;
-}
-
-.btn-check {
-  position: absolute;
-  clip: rect(0, 0, 0, 0);
-  pointer-events: none;
-}
-.btn-check[disabled] + .btn, .btn-check:disabled + .btn {
-  pointer-events: none;
-  filter: none;
-  opacity: 0.65;
-}
-
-[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {
-  --bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e");
-}
-
-.form-range {
-  width: 100%;
-  height: 1.5rem;
-  padding: 0;
-  -webkit-appearance: none;
-  -moz-appearance: none;
-  appearance: none;
-  background-color: transparent;
-}
-.form-range:focus {
-  outline: 0;
-}
-.form-range:focus::-webkit-slider-thumb {
-  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-}
-.form-range:focus::-moz-range-thumb {
-  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-}
-.form-range::-moz-focus-outer {
-  border: 0;
-}
-.form-range::-webkit-slider-thumb {
-  width: 1rem;
-  height: 1rem;
-  margin-top: -0.25rem;
-  -webkit-appearance: none;
-  appearance: none;
-  background-color: #0d6efd;
-  border: 0;
-  border-radius: 1rem;
-  -webkit-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-range::-webkit-slider-thumb {
-    -webkit-transition: none;
-    transition: none;
-  }
-}
-.form-range::-webkit-slider-thumb:active {
-  background-color: #b6d4fe;
-}
-.form-range::-webkit-slider-runnable-track {
-  width: 100%;
-  height: 0.5rem;
-  color: transparent;
-  cursor: pointer;
-  background-color: var(--bs-secondary-bg);
-  border-color: transparent;
-  border-radius: 1rem;
-}
-.form-range::-moz-range-thumb {
-  width: 1rem;
-  height: 1rem;
-  -moz-appearance: none;
-  appearance: none;
-  background-color: #0d6efd;
-  border: 0;
-  border-radius: 1rem;
-  -moz-transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-  transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-range::-moz-range-thumb {
-    -moz-transition: none;
-    transition: none;
-  }
-}
-.form-range::-moz-range-thumb:active {
-  background-color: #b6d4fe;
-}
-.form-range::-moz-range-track {
-  width: 100%;
-  height: 0.5rem;
-  color: transparent;
-  cursor: pointer;
-  background-color: var(--bs-secondary-bg);
-  border-color: transparent;
-  border-radius: 1rem;
-}
-.form-range:disabled {
-  pointer-events: none;
-}
-.form-range:disabled::-webkit-slider-thumb {
-  background-color: var(--bs-secondary-color);
-}
-.form-range:disabled::-moz-range-thumb {
-  background-color: var(--bs-secondary-color);
-}
-
-.form-floating {
-  position: relative;
-}
-.form-floating > .form-control,
-.form-floating > .form-control-plaintext,
-.form-floating > .form-select {
-  height: calc(3.5rem + calc(var(--bs-border-width) * 2));
-  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));
-  line-height: 1.25;
-}
-.form-floating > label {
-  position: absolute;
-  top: 0;
-  left: 0;
-  z-index: 2;
-  max-width: 100%;
-  height: 100%;
-  padding: 1rem 0.75rem;
-  overflow: hidden;
-  color: rgba(var(--bs-body-color-rgb), 0.65);
-  text-align: start;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-  pointer-events: none;
-  border: var(--bs-border-width) solid transparent;
-  transform-origin: 0 0;
-  transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .form-floating > label {
-    transition: none;
-  }
-}
-.form-floating > .form-control,
-.form-floating > .form-control-plaintext {
-  padding: 1rem 0.75rem;
-}
-.form-floating > .form-control::placeholder,
-.form-floating > .form-control-plaintext::placeholder {
-  color: transparent;
-}
-.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
-.form-floating > .form-control-plaintext:focus,
-.form-floating > .form-control-plaintext:not(:placeholder-shown) {
-  padding-top: 1.625rem;
-  padding-bottom: 0.625rem;
-}
-.form-floating > .form-control:-webkit-autofill,
-.form-floating > .form-control-plaintext:-webkit-autofill {
-  padding-top: 1.625rem;
-  padding-bottom: 0.625rem;
-}
-.form-floating > .form-select {
-  padding-top: 1.625rem;
-  padding-bottom: 0.625rem;
-  padding-left: 0.75rem;
-}
-.form-floating > .form-control:focus ~ label,
-.form-floating > .form-control:not(:placeholder-shown) ~ label,
-.form-floating > .form-control-plaintext ~ label,
-.form-floating > .form-select ~ label {
-  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
-}
-.form-floating > .form-control:-webkit-autofill ~ label {
-  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
-}
-.form-floating > textarea:focus ~ label::after,
-.form-floating > textarea:not(:placeholder-shown) ~ label::after {
-  position: absolute;
-  inset: 1rem 0.375rem;
-  z-index: -1;
-  height: 1.5em;
-  content: "";
-  background-color: var(--bs-body-bg);
-  border-radius: var(--bs-border-radius);
-}
-.form-floating > textarea:disabled ~ label::after {
-  background-color: var(--bs-secondary-bg);
-}
-.form-floating > .form-control-plaintext ~ label {
-  border-width: var(--bs-border-width) 0;
-}
-.form-floating > :disabled ~ label,
-.form-floating > .form-control:disabled ~ label {
-  color: #6c757d;
-}
-
-.input-group {
-  position: relative;
-  display: flex;
-  flex-wrap: wrap;
-  align-items: stretch;
-  width: 100%;
-}
-.input-group > .form-control,
-.input-group > .form-select,
-.input-group > .form-floating {
-  position: relative;
-  flex: 1 1 auto;
-  width: 1%;
-  min-width: 0;
-}
-.input-group > .form-control:focus,
-.input-group > .form-select:focus,
-.input-group > .form-floating:focus-within {
-  z-index: 5;
-}
-.input-group .btn {
-  position: relative;
-  z-index: 2;
-}
-.input-group .btn:focus {
-  z-index: 5;
-}
-
-.input-group-text {
-  display: flex;
-  align-items: center;
-  padding: 0.375rem 0.75rem;
-  font-size: 1rem;
-  font-weight: 400;
-  line-height: 1.5;
-  color: var(--bs-body-color);
-  text-align: center;
-  white-space: nowrap;
-  background-color: var(--bs-tertiary-bg);
-  border: var(--bs-border-width) solid var(--bs-border-color);
-  border-radius: var(--bs-border-radius);
-}
-
-.input-group-lg > .form-control,
-.input-group-lg > .form-select,
-.input-group-lg > .input-group-text,
-.input-group-lg > .btn {
-  padding: 0.5rem 1rem;
-  font-size: 1.25rem;
-  border-radius: var(--bs-border-radius-lg);
-}
-
-.input-group-sm > .form-control,
-.input-group-sm > .form-select,
-.input-group-sm > .input-group-text,
-.input-group-sm > .btn {
-  padding: 0.25rem 0.5rem;
-  font-size: 0.875rem;
-  border-radius: var(--bs-border-radius-sm);
-}
-
-.input-group-lg > .form-select,
-.input-group-sm > .form-select {
-  padding-right: 3rem;
-}
-
-.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
-.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
-.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
-.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
-.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
-.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
-.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {
-  margin-left: calc(-1 * var(--bs-border-width));
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.input-group > .form-floating:not(:first-child) > .form-control,
-.input-group > .form-floating:not(:first-child) > .form-select {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-
-.valid-feedback {
-  display: none;
-  width: 100%;
-  margin-top: 0.25rem;
-  font-size: 0.875em;
-  color: var(--bs-form-valid-color);
-}
-
-.valid-tooltip {
-  position: absolute;
-  top: 100%;
-  z-index: 5;
-  display: none;
-  max-width: 100%;
-  padding: 0.25rem 0.5rem;
-  margin-top: 0.1rem;
-  font-size: 0.875rem;
-  color: #fff;
-  background-color: var(--bs-success);
-  border-radius: var(--bs-border-radius);
-}
-
-.was-validated :valid ~ .valid-feedback,
-.was-validated :valid ~ .valid-tooltip,
-.is-valid ~ .valid-feedback,
-.is-valid ~ .valid-tooltip {
-  display: block;
-}
-
-.was-validated .form-control:valid, .form-control.is-valid {
-  border-color: var(--bs-form-valid-border-color);
-  padding-right: calc(1.5em + 0.75rem);
-  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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");
-  background-repeat: no-repeat;
-  background-position: right calc(0.375em + 0.1875rem) center;
-  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
-}
-.was-validated .form-control:valid:focus, .form-control.is-valid:focus {
-  border-color: var(--bs-form-valid-border-color);
-  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
-}
-
-.was-validated textarea.form-control:valid, textarea.form-control.is-valid {
-  padding-right: calc(1.5em + 0.75rem);
-  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
-}
-
-.was-validated .form-select:valid, .form-select.is-valid {
-  border-color: var(--bs-form-valid-border-color);
-}
-.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size="1"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size="1"] {
-  --bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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");
-  padding-right: 4.125rem;
-  background-position: right 0.75rem center, center right 2.25rem;
-  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
-}
-.was-validated .form-select:valid:focus, .form-select.is-valid:focus {
-  border-color: var(--bs-form-valid-border-color);
-  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
-}
-
-.was-validated .form-control-color:valid, .form-control-color.is-valid {
-  width: calc(3rem + calc(1.5em + 0.75rem));
-}
-
-.was-validated .form-check-input:valid, .form-check-input.is-valid {
-  border-color: var(--bs-form-valid-border-color);
-}
-.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {
-  background-color: var(--bs-form-valid-color);
-}
-.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {
-  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);
-}
-.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {
-  color: var(--bs-form-valid-color);
-}
-
-.form-check-inline .form-check-input ~ .valid-feedback {
-  margin-left: 0.5em;
-}
-
-.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,
-.was-validated .input-group > .form-select:not(:focus):valid,
-.input-group > .form-select:not(:focus).is-valid,
-.was-validated .input-group > .form-floating:not(:focus-within):valid,
-.input-group > .form-floating:not(:focus-within).is-valid {
-  z-index: 3;
-}
-
-.invalid-feedback {
-  display: none;
-  width: 100%;
-  margin-top: 0.25rem;
-  font-size: 0.875em;
-  color: var(--bs-form-invalid-color);
-}
-
-.invalid-tooltip {
-  position: absolute;
-  top: 100%;
-  z-index: 5;
-  display: none;
-  max-width: 100%;
-  padding: 0.25rem 0.5rem;
-  margin-top: 0.1rem;
-  font-size: 0.875rem;
-  color: #fff;
-  background-color: var(--bs-danger);
-  border-radius: var(--bs-border-radius);
-}
-
-.was-validated :invalid ~ .invalid-feedback,
-.was-validated :invalid ~ .invalid-tooltip,
-.is-invalid ~ .invalid-feedback,
-.is-invalid ~ .invalid-tooltip {
-  display: block;
-}
-
-.was-validated .form-control:invalid, .form-control.is-invalid {
-  border-color: var(--bs-form-invalid-border-color);
-  padding-right: calc(1.5em + 0.75rem);
-  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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");
-  background-repeat: no-repeat;
-  background-position: right calc(0.375em + 0.1875rem) center;
-  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
-}
-.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {
-  border-color: var(--bs-form-invalid-border-color);
-  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
-}
-
-.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {
-  padding-right: calc(1.5em + 0.75rem);
-  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);
-}
-
-.was-validated .form-select:invalid, .form-select.is-invalid {
-  border-color: var(--bs-form-invalid-border-color);
-}
-.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size="1"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size="1"] {
-  --bs-form-select-bg-icon: 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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e");
-  padding-right: 4.125rem;
-  background-position: right 0.75rem center, center right 2.25rem;
-  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
-}
-.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {
-  border-color: var(--bs-form-invalid-border-color);
-  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
-}
-
-.was-validated .form-control-color:invalid, .form-control-color.is-invalid {
-  width: calc(3rem + calc(1.5em + 0.75rem));
-}
-
-.was-validated .form-check-input:invalid, .form-check-input.is-invalid {
-  border-color: var(--bs-form-invalid-border-color);
-}
-.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {
-  background-color: var(--bs-form-invalid-color);
-}
-.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {
-  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);
-}
-.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {
-  color: var(--bs-form-invalid-color);
-}
-
-.form-check-inline .form-check-input ~ .invalid-feedback {
-  margin-left: 0.5em;
-}
-
-.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,
-.was-validated .input-group > .form-select:not(:focus):invalid,
-.input-group > .form-select:not(:focus).is-invalid,
-.was-validated .input-group > .form-floating:not(:focus-within):invalid,
-.input-group > .form-floating:not(:focus-within).is-invalid {
-  z-index: 4;
-}
-
-.btn {
-  --bs-btn-padding-x: 0.75rem;
-  --bs-btn-padding-y: 0.375rem;
-  --bs-btn-font-family: ;
-  --bs-btn-font-size: 1rem;
-  --bs-btn-font-weight: 400;
-  --bs-btn-line-height: 1.5;
-  --bs-btn-color: var(--bs-body-color);
-  --bs-btn-bg: transparent;
-  --bs-btn-border-width: var(--bs-border-width);
-  --bs-btn-border-color: transparent;
-  --bs-btn-border-radius: var(--bs-border-radius);
-  --bs-btn-hover-border-color: transparent;
-  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);
-  --bs-btn-disabled-opacity: 0.65;
-  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);
-  display: inline-block;
-  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);
-  font-family: var(--bs-btn-font-family);
-  font-size: var(--bs-btn-font-size);
-  font-weight: var(--bs-btn-font-weight);
-  line-height: var(--bs-btn-line-height);
-  color: var(--bs-btn-color);
-  text-align: center;
-  text-decoration: none;
-  vertical-align: middle;
-  cursor: pointer;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  user-select: none;
-  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);
-  border-radius: var(--bs-btn-border-radius);
-  background-color: var(--bs-btn-bg);
-  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;
-}
-@media (prefers-reduced-motion: reduce) {
-  .btn {
-    transition: none;
-  }
-}
-.btn:hover {
-  color: var(--bs-btn-hover-color);
-  background-color: var(--bs-btn-hover-bg);
-  border-color: var(--bs-btn-hover-border-color);
-}
-.btn-check + .btn:hover {
-  color: var(--bs-btn-color);
-  background-color: var(--bs-btn-bg);
-  border-color: var(--bs-btn-border-color);
-}
-.btn:focus-visible {
-  color: var(--bs-btn-hover-color);
-  background-color: var(--bs-btn-hover-bg);
-  border-color: var(--bs-btn-hover-border-color);
-  outline: 0;
-  box-shadow: var(--bs-btn-focus-box-shadow);
-}
-.btn-check:focus-visible + .btn {
-  border-color: var(--bs-btn-hover-border-color);
-  outline: 0;
-  box-shadow: var(--bs-btn-focus-box-shadow);
-}
-.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {
-  color: var(--bs-btn-active-color);
-  background-color: var(--bs-btn-active-bg);
-  border-color: var(--bs-btn-active-border-color);
-}
-.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {
-  box-shadow: var(--bs-btn-focus-box-shadow);
-}
-.btn-check:checked:focus-visible + .btn {
-  box-shadow: var(--bs-btn-focus-box-shadow);
-}
-.btn:disabled, .btn.disabled, fieldset:disabled .btn {
-  color: var(--bs-btn-disabled-color);
-  pointer-events: none;
-  background-color: var(--bs-btn-disabled-bg);
-  border-color: var(--bs-btn-disabled-border-color);
-  opacity: var(--bs-btn-disabled-opacity);
-}
-
-.btn-primary {
-  --bs-btn-color: #fff;
-  --bs-btn-bg: #0d6efd;
-  --bs-btn-border-color: #0d6efd;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #0b5ed7;
-  --bs-btn-hover-border-color: #0a58ca;
-  --bs-btn-focus-shadow-rgb: 49, 132, 253;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #0a58ca;
-  --bs-btn-active-border-color: #0a53be;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #fff;
-  --bs-btn-disabled-bg: #0d6efd;
-  --bs-btn-disabled-border-color: #0d6efd;
-}
-
-.btn-secondary {
-  --bs-btn-color: #fff;
-  --bs-btn-bg: #6c757d;
-  --bs-btn-border-color: #6c757d;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #5c636a;
-  --bs-btn-hover-border-color: #565e64;
-  --bs-btn-focus-shadow-rgb: 130, 138, 145;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #565e64;
-  --bs-btn-active-border-color: #51585e;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #fff;
-  --bs-btn-disabled-bg: #6c757d;
-  --bs-btn-disabled-border-color: #6c757d;
-}
-
-.btn-success {
-  --bs-btn-color: #fff;
-  --bs-btn-bg: #198754;
-  --bs-btn-border-color: #198754;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #157347;
-  --bs-btn-hover-border-color: #146c43;
-  --bs-btn-focus-shadow-rgb: 60, 153, 110;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #146c43;
-  --bs-btn-active-border-color: #13653f;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #fff;
-  --bs-btn-disabled-bg: #198754;
-  --bs-btn-disabled-border-color: #198754;
-}
-
-.btn-info {
-  --bs-btn-color: #000;
-  --bs-btn-bg: #0dcaf0;
-  --bs-btn-border-color: #0dcaf0;
-  --bs-btn-hover-color: #000;
-  --bs-btn-hover-bg: #31d2f2;
-  --bs-btn-hover-border-color: #25cff2;
-  --bs-btn-focus-shadow-rgb: 11, 172, 204;
-  --bs-btn-active-color: #000;
-  --bs-btn-active-bg: #3dd5f3;
-  --bs-btn-active-border-color: #25cff2;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #000;
-  --bs-btn-disabled-bg: #0dcaf0;
-  --bs-btn-disabled-border-color: #0dcaf0;
-}
-
-.btn-warning {
-  --bs-btn-color: #000;
-  --bs-btn-bg: #ffc107;
-  --bs-btn-border-color: #ffc107;
-  --bs-btn-hover-color: #000;
-  --bs-btn-hover-bg: #ffca2c;
-  --bs-btn-hover-border-color: #ffc720;
-  --bs-btn-focus-shadow-rgb: 217, 164, 6;
-  --bs-btn-active-color: #000;
-  --bs-btn-active-bg: #ffcd39;
-  --bs-btn-active-border-color: #ffc720;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #000;
-  --bs-btn-disabled-bg: #ffc107;
-  --bs-btn-disabled-border-color: #ffc107;
-}
-
-.btn-danger {
-  --bs-btn-color: #fff;
-  --bs-btn-bg: #dc3545;
-  --bs-btn-border-color: #dc3545;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #bb2d3b;
-  --bs-btn-hover-border-color: #b02a37;
-  --bs-btn-focus-shadow-rgb: 225, 83, 97;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #b02a37;
-  --bs-btn-active-border-color: #a52834;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #fff;
-  --bs-btn-disabled-bg: #dc3545;
-  --bs-btn-disabled-border-color: #dc3545;
-}
-
-.btn-light {
-  --bs-btn-color: #000;
-  --bs-btn-bg: #f8f9fa;
-  --bs-btn-border-color: #f8f9fa;
-  --bs-btn-hover-color: #000;
-  --bs-btn-hover-bg: #d3d4d5;
-  --bs-btn-hover-border-color: #c6c7c8;
-  --bs-btn-focus-shadow-rgb: 211, 212, 213;
-  --bs-btn-active-color: #000;
-  --bs-btn-active-bg: #c6c7c8;
-  --bs-btn-active-border-color: #babbbc;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #000;
-  --bs-btn-disabled-bg: #f8f9fa;
-  --bs-btn-disabled-border-color: #f8f9fa;
-}
-
-.btn-dark {
-  --bs-btn-color: #fff;
-  --bs-btn-bg: #212529;
-  --bs-btn-border-color: #212529;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #424649;
-  --bs-btn-hover-border-color: #373b3e;
-  --bs-btn-focus-shadow-rgb: 66, 70, 73;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #4d5154;
-  --bs-btn-active-border-color: #373b3e;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #fff;
-  --bs-btn-disabled-bg: #212529;
-  --bs-btn-disabled-border-color: #212529;
-}
-
-.btn-outline-primary {
-  --bs-btn-color: #0d6efd;
-  --bs-btn-border-color: #0d6efd;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #0d6efd;
-  --bs-btn-hover-border-color: #0d6efd;
-  --bs-btn-focus-shadow-rgb: 13, 110, 253;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #0d6efd;
-  --bs-btn-active-border-color: #0d6efd;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #0d6efd;
-  --bs-btn-disabled-bg: transparent;
-  --bs-btn-disabled-border-color: #0d6efd;
-  --bs-gradient: none;
-}
-
-.btn-outline-secondary {
-  --bs-btn-color: #6c757d;
-  --bs-btn-border-color: #6c757d;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #6c757d;
-  --bs-btn-hover-border-color: #6c757d;
-  --bs-btn-focus-shadow-rgb: 108, 117, 125;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #6c757d;
-  --bs-btn-active-border-color: #6c757d;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #6c757d;
-  --bs-btn-disabled-bg: transparent;
-  --bs-btn-disabled-border-color: #6c757d;
-  --bs-gradient: none;
-}
-
-.btn-outline-success {
-  --bs-btn-color: #198754;
-  --bs-btn-border-color: #198754;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #198754;
-  --bs-btn-hover-border-color: #198754;
-  --bs-btn-focus-shadow-rgb: 25, 135, 84;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #198754;
-  --bs-btn-active-border-color: #198754;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #198754;
-  --bs-btn-disabled-bg: transparent;
-  --bs-btn-disabled-border-color: #198754;
-  --bs-gradient: none;
-}
-
-.btn-outline-info {
-  --bs-btn-color: #0dcaf0;
-  --bs-btn-border-color: #0dcaf0;
-  --bs-btn-hover-color: #000;
-  --bs-btn-hover-bg: #0dcaf0;
-  --bs-btn-hover-border-color: #0dcaf0;
-  --bs-btn-focus-shadow-rgb: 13, 202, 240;
-  --bs-btn-active-color: #000;
-  --bs-btn-active-bg: #0dcaf0;
-  --bs-btn-active-border-color: #0dcaf0;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #0dcaf0;
-  --bs-btn-disabled-bg: transparent;
-  --bs-btn-disabled-border-color: #0dcaf0;
-  --bs-gradient: none;
-}
-
-.btn-outline-warning {
-  --bs-btn-color: #ffc107;
-  --bs-btn-border-color: #ffc107;
-  --bs-btn-hover-color: #000;
-  --bs-btn-hover-bg: #ffc107;
-  --bs-btn-hover-border-color: #ffc107;
-  --bs-btn-focus-shadow-rgb: 255, 193, 7;
-  --bs-btn-active-color: #000;
-  --bs-btn-active-bg: #ffc107;
-  --bs-btn-active-border-color: #ffc107;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #ffc107;
-  --bs-btn-disabled-bg: transparent;
-  --bs-btn-disabled-border-color: #ffc107;
-  --bs-gradient: none;
-}
-
-.btn-outline-danger {
-  --bs-btn-color: #dc3545;
-  --bs-btn-border-color: #dc3545;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #dc3545;
-  --bs-btn-hover-border-color: #dc3545;
-  --bs-btn-focus-shadow-rgb: 220, 53, 69;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #dc3545;
-  --bs-btn-active-border-color: #dc3545;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #dc3545;
-  --bs-btn-disabled-bg: transparent;
-  --bs-btn-disabled-border-color: #dc3545;
-  --bs-gradient: none;
-}
-
-.btn-outline-light {
-  --bs-btn-color: #f8f9fa;
-  --bs-btn-border-color: #f8f9fa;
-  --bs-btn-hover-color: #000;
-  --bs-btn-hover-bg: #f8f9fa;
-  --bs-btn-hover-border-color: #f8f9fa;
-  --bs-btn-focus-shadow-rgb: 248, 249, 250;
-  --bs-btn-active-color: #000;
-  --bs-btn-active-bg: #f8f9fa;
-  --bs-btn-active-border-color: #f8f9fa;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #f8f9fa;
-  --bs-btn-disabled-bg: transparent;
-  --bs-btn-disabled-border-color: #f8f9fa;
-  --bs-gradient: none;
-}
-
-.btn-outline-dark {
-  --bs-btn-color: #212529;
-  --bs-btn-border-color: #212529;
-  --bs-btn-hover-color: #fff;
-  --bs-btn-hover-bg: #212529;
-  --bs-btn-hover-border-color: #212529;
-  --bs-btn-focus-shadow-rgb: 33, 37, 41;
-  --bs-btn-active-color: #fff;
-  --bs-btn-active-bg: #212529;
-  --bs-btn-active-border-color: #212529;
-  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
-  --bs-btn-disabled-color: #212529;
-  --bs-btn-disabled-bg: transparent;
-  --bs-btn-disabled-border-color: #212529;
-  --bs-gradient: none;
-}
-
-.btn-link {
-  --bs-btn-font-weight: 400;
-  --bs-btn-color: var(--bs-link-color);
-  --bs-btn-bg: transparent;
-  --bs-btn-border-color: transparent;
-  --bs-btn-hover-color: var(--bs-link-hover-color);
-  --bs-btn-hover-border-color: transparent;
-  --bs-btn-active-color: var(--bs-link-hover-color);
-  --bs-btn-active-border-color: transparent;
-  --bs-btn-disabled-color: #6c757d;
-  --bs-btn-disabled-border-color: transparent;
-  --bs-btn-box-shadow: 0 0 0 #000;
-  --bs-btn-focus-shadow-rgb: 49, 132, 253;
-  text-decoration: underline;
-}
-.btn-link:focus-visible {
-  color: var(--bs-btn-color);
-}
-.btn-link:hover {
-  color: var(--bs-btn-hover-color);
-}
-
-.btn-lg, .btn-group-lg > .btn {
-  --bs-btn-padding-y: 0.5rem;
-  --bs-btn-padding-x: 1rem;
-  --bs-btn-font-size: 1.25rem;
-  --bs-btn-border-radius: var(--bs-border-radius-lg);
-}
-
-.btn-sm, .btn-group-sm > .btn {
-  --bs-btn-padding-y: 0.25rem;
-  --bs-btn-padding-x: 0.5rem;
-  --bs-btn-font-size: 0.875rem;
-  --bs-btn-border-radius: var(--bs-border-radius-sm);
-}
-
-.fade {
-  transition: opacity 0.15s linear;
-}
-@media (prefers-reduced-motion: reduce) {
-  .fade {
-    transition: none;
-  }
-}
-.fade:not(.show) {
-  opacity: 0;
-}
-
-.collapse:not(.show) {
-  display: none;
-}
-
-.collapsing {
-  height: 0;
-  overflow: hidden;
-  transition: height 0.35s ease;
-}
-@media (prefers-reduced-motion: reduce) {
-  .collapsing {
-    transition: none;
-  }
-}
-.collapsing.collapse-horizontal {
-  width: 0;
-  height: auto;
-  transition: width 0.35s ease;
-}
-@media (prefers-reduced-motion: reduce) {
-  .collapsing.collapse-horizontal {
-    transition: none;
-  }
-}
-
-.dropup,
-.dropend,
-.dropdown,
-.dropstart,
-.dropup-center,
-.dropdown-center {
-  position: relative;
-}
-
-.dropdown-toggle {
-  white-space: nowrap;
-}
-.dropdown-toggle::after {
-  display: inline-block;
-  margin-left: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-  border-top: 0.3em solid;
-  border-right: 0.3em solid transparent;
-  border-bottom: 0;
-  border-left: 0.3em solid transparent;
-}
-.dropdown-toggle:empty::after {
-  margin-left: 0;
-}
-
-.dropdown-menu {
-  --bs-dropdown-zindex: 1000;
-  --bs-dropdown-min-width: 10rem;
-  --bs-dropdown-padding-x: 0;
-  --bs-dropdown-padding-y: 0.5rem;
-  --bs-dropdown-spacer: 0.125rem;
-  --bs-dropdown-font-size: 1rem;
-  --bs-dropdown-color: var(--bs-body-color);
-  --bs-dropdown-bg: var(--bs-body-bg);
-  --bs-dropdown-border-color: var(--bs-border-color-translucent);
-  --bs-dropdown-border-radius: var(--bs-border-radius);
-  --bs-dropdown-border-width: var(--bs-border-width);
-  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
-  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
-  --bs-dropdown-divider-margin-y: 0.5rem;
-  --bs-dropdown-box-shadow: var(--bs-box-shadow);
-  --bs-dropdown-link-color: var(--bs-body-color);
-  --bs-dropdown-link-hover-color: var(--bs-body-color);
-  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
-  --bs-dropdown-link-active-color: #fff;
-  --bs-dropdown-link-active-bg: #0d6efd;
-  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
-  --bs-dropdown-item-padding-x: 1rem;
-  --bs-dropdown-item-padding-y: 0.25rem;
-  --bs-dropdown-header-color: #6c757d;
-  --bs-dropdown-header-padding-x: 1rem;
-  --bs-dropdown-header-padding-y: 0.5rem;
-  position: absolute;
-  z-index: var(--bs-dropdown-zindex);
-  display: none;
-  min-width: var(--bs-dropdown-min-width);
-  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
-  margin: 0;
-  font-size: var(--bs-dropdown-font-size);
-  color: var(--bs-dropdown-color);
-  text-align: left;
-  list-style: none;
-  background-color: var(--bs-dropdown-bg);
-  background-clip: padding-box;
-  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
-  border-radius: var(--bs-dropdown-border-radius);
-}
-.dropdown-menu[data-bs-popper] {
-  top: 100%;
-  left: 0;
-  margin-top: var(--bs-dropdown-spacer);
-}
-
-.dropdown-menu-start {
-  --bs-position: start;
-}
-.dropdown-menu-start[data-bs-popper] {
-  right: auto;
-  left: 0;
-}
-
-.dropdown-menu-end {
-  --bs-position: end;
-}
-.dropdown-menu-end[data-bs-popper] {
-  right: 0;
-  left: auto;
-}
-
-@media (min-width: 576px) {
-  .dropdown-menu-sm-start {
-    --bs-position: start;
-  }
-  .dropdown-menu-sm-start[data-bs-popper] {
-    right: auto;
-    left: 0;
-  }
-  .dropdown-menu-sm-end {
-    --bs-position: end;
-  }
-  .dropdown-menu-sm-end[data-bs-popper] {
-    right: 0;
-    left: auto;
-  }
-}
-@media (min-width: 768px) {
-  .dropdown-menu-md-start {
-    --bs-position: start;
-  }
-  .dropdown-menu-md-start[data-bs-popper] {
-    right: auto;
-    left: 0;
-  }
-  .dropdown-menu-md-end {
-    --bs-position: end;
-  }
-  .dropdown-menu-md-end[data-bs-popper] {
-    right: 0;
-    left: auto;
-  }
-}
-@media (min-width: 992px) {
-  .dropdown-menu-lg-start {
-    --bs-position: start;
-  }
-  .dropdown-menu-lg-start[data-bs-popper] {
-    right: auto;
-    left: 0;
-  }
-  .dropdown-menu-lg-end {
-    --bs-position: end;
-  }
-  .dropdown-menu-lg-end[data-bs-popper] {
-    right: 0;
-    left: auto;
-  }
-}
-@media (min-width: 1200px) {
-  .dropdown-menu-xl-start {
-    --bs-position: start;
-  }
-  .dropdown-menu-xl-start[data-bs-popper] {
-    right: auto;
-    left: 0;
-  }
-  .dropdown-menu-xl-end {
-    --bs-position: end;
-  }
-  .dropdown-menu-xl-end[data-bs-popper] {
-    right: 0;
-    left: auto;
-  }
-}
-@media (min-width: 1400px) {
-  .dropdown-menu-xxl-start {
-    --bs-position: start;
-  }
-  .dropdown-menu-xxl-start[data-bs-popper] {
-    right: auto;
-    left: 0;
-  }
-  .dropdown-menu-xxl-end {
-    --bs-position: end;
-  }
-  .dropdown-menu-xxl-end[data-bs-popper] {
-    right: 0;
-    left: auto;
-  }
-}
-.dropup .dropdown-menu[data-bs-popper] {
-  top: auto;
-  bottom: 100%;
-  margin-top: 0;
-  margin-bottom: var(--bs-dropdown-spacer);
-}
-.dropup .dropdown-toggle::after {
-  display: inline-block;
-  margin-left: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-  border-top: 0;
-  border-right: 0.3em solid transparent;
-  border-bottom: 0.3em solid;
-  border-left: 0.3em solid transparent;
-}
-.dropup .dropdown-toggle:empty::after {
-  margin-left: 0;
-}
-
-.dropend .dropdown-menu[data-bs-popper] {
-  top: 0;
-  right: auto;
-  left: 100%;
-  margin-top: 0;
-  margin-left: var(--bs-dropdown-spacer);
-}
-.dropend .dropdown-toggle::after {
-  display: inline-block;
-  margin-left: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-  border-top: 0.3em solid transparent;
-  border-right: 0;
-  border-bottom: 0.3em solid transparent;
-  border-left: 0.3em solid;
-}
-.dropend .dropdown-toggle:empty::after {
-  margin-left: 0;
-}
-.dropend .dropdown-toggle::after {
-  vertical-align: 0;
-}
-
-.dropstart .dropdown-menu[data-bs-popper] {
-  top: 0;
-  right: 100%;
-  left: auto;
-  margin-top: 0;
-  margin-right: var(--bs-dropdown-spacer);
-}
-.dropstart .dropdown-toggle::after {
-  display: inline-block;
-  margin-left: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-}
-.dropstart .dropdown-toggle::after {
-  display: none;
-}
-.dropstart .dropdown-toggle::before {
-  display: inline-block;
-  margin-right: 0.255em;
-  vertical-align: 0.255em;
-  content: "";
-  border-top: 0.3em solid transparent;
-  border-right: 0.3em solid;
-  border-bottom: 0.3em solid transparent;
-}
-.dropstart .dropdown-toggle:empty::after {
-  margin-left: 0;
-}
-.dropstart .dropdown-toggle::before {
-  vertical-align: 0;
-}
-
-.dropdown-divider {
-  height: 0;
-  margin: var(--bs-dropdown-divider-margin-y) 0;
-  overflow: hidden;
-  border-top: 1px solid var(--bs-dropdown-divider-bg);
-  opacity: 1;
-}
-
-.dropdown-item {
-  display: block;
-  width: 100%;
-  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
-  clear: both;
-  font-weight: 400;
-  color: var(--bs-dropdown-link-color);
-  text-align: inherit;
-  text-decoration: none;
-  white-space: nowrap;
-  background-color: transparent;
-  border: 0;
-  border-radius: var(--bs-dropdown-item-border-radius, 0);
-}
-.dropdown-item:hover, .dropdown-item:focus {
-  color: var(--bs-dropdown-link-hover-color);
-  background-color: var(--bs-dropdown-link-hover-bg);
-}
-.dropdown-item.active, .dropdown-item:active {
-  color: var(--bs-dropdown-link-active-color);
-  text-decoration: none;
-  background-color: var(--bs-dropdown-link-active-bg);
-}
-.dropdown-item.disabled, .dropdown-item:disabled {
-  color: var(--bs-dropdown-link-disabled-color);
-  pointer-events: none;
-  background-color: transparent;
-}
-
-.dropdown-menu.show {
-  display: block;
-}
-
-.dropdown-header {
-  display: block;
-  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
-  margin-bottom: 0;
-  font-size: 0.875rem;
-  color: var(--bs-dropdown-header-color);
-  white-space: nowrap;
-}
-
-.dropdown-item-text {
-  display: block;
-  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
-  color: var(--bs-dropdown-link-color);
-}
-
-.dropdown-menu-dark {
-  --bs-dropdown-color: #dee2e6;
-  --bs-dropdown-bg: #343a40;
-  --bs-dropdown-border-color: var(--bs-border-color-translucent);
-  --bs-dropdown-box-shadow: ;
-  --bs-dropdown-link-color: #dee2e6;
-  --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: #fff;
-  --bs-dropdown-link-active-bg: #0d6efd;
-  --bs-dropdown-link-disabled-color: #adb5bd;
-  --bs-dropdown-header-color: #adb5bd;
-}
-
-.btn-group,
-.btn-group-vertical {
-  position: relative;
-  display: inline-flex;
-  vertical-align: middle;
-}
-.btn-group > .btn,
-.btn-group-vertical > .btn {
-  position: relative;
-  flex: 1 1 auto;
-}
-.btn-group > .btn-check:checked + .btn,
-.btn-group > .btn-check:focus + .btn,
-.btn-group > .btn:hover,
-.btn-group > .btn:focus,
-.btn-group > .btn:active,
-.btn-group > .btn.active,
-.btn-group-vertical > .btn-check:checked + .btn,
-.btn-group-vertical > .btn-check:focus + .btn,
-.btn-group-vertical > .btn:hover,
-.btn-group-vertical > .btn:focus,
-.btn-group-vertical > .btn:active,
-.btn-group-vertical > .btn.active {
-  z-index: 1;
-}
-
-.btn-toolbar {
-  display: flex;
-  flex-wrap: wrap;
-  justify-content: flex-start;
-}
-.btn-toolbar .input-group {
-  width: auto;
-}
-
-.btn-group {
-  border-radius: var(--bs-border-radius);
-}
-.btn-group > :not(.btn-check:first-child) + .btn,
-.btn-group > .btn-group:not(:first-child) {
-  margin-left: calc(-1 * var(--bs-border-width));
-}
-.btn-group > .btn:not(:last-child):not(.dropdown-toggle),
-.btn-group > .btn.dropdown-toggle-split:first-child,
-.btn-group > .btn-group:not(:last-child) > .btn {
-  border-top-right-radius: 0;
-  border-bottom-right-radius: 0;
-}
-.btn-group > .btn:nth-child(n+3),
-.btn-group > :not(.btn-check) + .btn,
-.btn-group > .btn-group:not(:first-child) > .btn {
-  border-top-left-radius: 0;
-  border-bottom-left-radius: 0;
-}
-
-.dropdown-toggle-split {
-  padding-right: 0.5625rem;
-  padding-left: 0.5625rem;
-}
-.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {
-  margin-left: 0;
-}
-.dropstart .dropdown-toggle-split::before {
-  margin-right: 0;
-}
-
-.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {
-  padding-right: 0.375rem;
-  padding-left: 0.375rem;
-}
-
-.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {
-  padding-right: 0.75rem;
-  padding-left: 0.75rem;
-}
-
-.btn-group-vertical {
-  flex-direction: column;
-  align-items: flex-start;
-  justify-content: center;
-}
-.btn-group-vertical > .btn,
-.btn-group-vertical > .btn-group {
-  width: 100%;
-}
-.btn-group-vertical > .btn:not(:first-child),
-.btn-group-vertical > .btn-group:not(:first-child) {
-  margin-top: calc(-1 * var(--bs-border-width));
-}
-.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
-.btn-group-vertical > .btn-group:not(:last-child) > .btn {
-  border-bottom-right-radius: 0;
-  border-bottom-left-radius: 0;
-}
-.btn-group-vertical > .btn:nth-child(n+3),
-.btn-group-vertical > :not(.btn-check) + .btn,
-.btn-group-vertical > .btn-group:not(:first-child) > .btn {
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-
-.nav {
-  --bs-nav-link-padding-x: 1rem;
-  --bs-nav-link-padding-y: 0.5rem;
-  --bs-nav-link-font-weight: ;
-  --bs-nav-link-color: var(--bs-link-color);
-  --bs-nav-link-hover-color: var(--bs-link-hover-color);
-  --bs-nav-link-disabled-color: var(--bs-secondary-color);
-  display: flex;
-  flex-wrap: wrap;
-  padding-left: 0;
-  margin-bottom: 0;
-  list-style: none;
-}
-
-.nav-link {
-  display: block;
-  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
-  font-size: var(--bs-nav-link-font-size);
-  font-weight: var(--bs-nav-link-font-weight);
-  color: var(--bs-nav-link-color);
-  text-decoration: none;
-  background: none;
-  border: 0;
-  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .nav-link {
-    transition: none;
-  }
-}
-.nav-link:hover, .nav-link:focus {
-  color: var(--bs-nav-link-hover-color);
-}
-.nav-link:focus-visible {
-  outline: 0;
-  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-}
-.nav-link.disabled, .nav-link:disabled {
-  color: var(--bs-nav-link-disabled-color);
-  pointer-events: none;
-  cursor: default;
-}
-
-.nav-tabs {
-  --bs-nav-tabs-border-width: var(--bs-border-width);
-  --bs-nav-tabs-border-color: var(--bs-border-color);
-  --bs-nav-tabs-border-radius: var(--bs-border-radius);
-  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
-  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
-  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
-  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
-  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
-}
-.nav-tabs .nav-link {
-  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
-  border: var(--bs-nav-tabs-border-width) solid transparent;
-  border-top-left-radius: var(--bs-nav-tabs-border-radius);
-  border-top-right-radius: var(--bs-nav-tabs-border-radius);
-}
-.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
-  isolation: isolate;
-  border-color: var(--bs-nav-tabs-link-hover-border-color);
-}
-.nav-tabs .nav-link.active,
-.nav-tabs .nav-item.show .nav-link {
-  color: var(--bs-nav-tabs-link-active-color);
-  background-color: var(--bs-nav-tabs-link-active-bg);
-  border-color: var(--bs-nav-tabs-link-active-border-color);
-}
-.nav-tabs .dropdown-menu {
-  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
-  border-top-left-radius: 0;
-  border-top-right-radius: 0;
-}
-
-.nav-pills {
-  --bs-nav-pills-border-radius: var(--bs-border-radius);
-  --bs-nav-pills-link-active-color: #fff;
-  --bs-nav-pills-link-active-bg: #0d6efd;
-}
-.nav-pills .nav-link {
-  border-radius: var(--bs-nav-pills-border-radius);
-}
-.nav-pills .nav-link.active,
-.nav-pills .show > .nav-link {
-  color: var(--bs-nav-pills-link-active-color);
-  background-color: var(--bs-nav-pills-link-active-bg);
-}
-
-.nav-underline {
-  --bs-nav-underline-gap: 1rem;
-  --bs-nav-underline-border-width: 0.125rem;
-  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
-  gap: var(--bs-nav-underline-gap);
-}
-.nav-underline .nav-link {
-  padding-right: 0;
-  padding-left: 0;
-  border-bottom: var(--bs-nav-underline-border-width) solid transparent;
-}
-.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
-  border-bottom-color: currentcolor;
-}
-.nav-underline .nav-link.active,
-.nav-underline .show > .nav-link {
-  font-weight: 700;
-  color: var(--bs-nav-underline-link-active-color);
-  border-bottom-color: currentcolor;
-}
-
-.nav-fill > .nav-link,
-.nav-fill .nav-item {
-  flex: 1 1 auto;
-  text-align: center;
-}
-
-.nav-justified > .nav-link,
-.nav-justified .nav-item {
-  flex-grow: 1;
-  flex-basis: 0;
-  text-align: center;
-}
-
-.nav-fill .nav-item .nav-link,
-.nav-justified .nav-item .nav-link {
-  width: 100%;
-}
-
-.tab-content > .tab-pane {
-  display: none;
-}
-.tab-content > .active {
-  display: block;
-}
-
-.navbar {
-  --bs-navbar-padding-x: 0;
-  --bs-navbar-padding-y: 0.5rem;
-  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);
-  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);
-  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);
-  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);
-  --bs-navbar-brand-padding-y: 0.3125rem;
-  --bs-navbar-brand-margin-end: 1rem;
-  --bs-navbar-brand-font-size: 1.25rem;
-  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);
-  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);
-  --bs-navbar-nav-link-padding-x: 0.5rem;
-  --bs-navbar-toggler-padding-y: 0.25rem;
-  --bs-navbar-toggler-padding-x: 0.75rem;
-  --bs-navbar-toggler-font-size: 1.25rem;
-  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
-  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
-  --bs-navbar-toggler-border-radius: var(--bs-border-radius);
-  --bs-navbar-toggler-focus-width: 0.25rem;
-  --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
-  position: relative;
-  display: flex;
-  flex-wrap: wrap;
-  align-items: center;
-  justify-content: space-between;
-  padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
-}
-.navbar > .container,
-.navbar > .container-fluid,
-.navbar > .container-sm,
-.navbar > .container-md,
-.navbar > .container-lg,
-.navbar > .container-xl,
-.navbar > .container-xxl {
-  display: flex;
-  flex-wrap: inherit;
-  align-items: center;
-  justify-content: space-between;
-}
-.navbar-brand {
-  padding-top: var(--bs-navbar-brand-padding-y);
-  padding-bottom: var(--bs-navbar-brand-padding-y);
-  margin-right: var(--bs-navbar-brand-margin-end);
-  font-size: var(--bs-navbar-brand-font-size);
-  color: var(--bs-navbar-brand-color);
-  text-decoration: none;
-  white-space: nowrap;
-}
-.navbar-brand:hover, .navbar-brand:focus {
-  color: var(--bs-navbar-brand-hover-color);
-}
-
-.navbar-nav {
-  --bs-nav-link-padding-x: 0;
-  --bs-nav-link-padding-y: 0.5rem;
-  --bs-nav-link-font-weight: ;
-  --bs-nav-link-color: var(--bs-navbar-color);
-  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
-  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
-  display: flex;
-  flex-direction: column;
-  padding-left: 0;
-  margin-bottom: 0;
-  list-style: none;
-}
-.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
-  color: var(--bs-navbar-active-color);
-}
-.navbar-nav .dropdown-menu {
-  position: static;
-}
-
-.navbar-text {
-  padding-top: 0.5rem;
-  padding-bottom: 0.5rem;
-  color: var(--bs-navbar-color);
-}
-.navbar-text a,
-.navbar-text a:hover,
-.navbar-text a:focus {
-  color: var(--bs-navbar-active-color);
-}
-
-.navbar-collapse {
-  flex-grow: 1;
-  flex-basis: 100%;
-  align-items: center;
-}
-
-.navbar-toggler {
-  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
-  font-size: var(--bs-navbar-toggler-font-size);
-  line-height: 1;
-  color: var(--bs-navbar-color);
-  background-color: transparent;
-  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
-  border-radius: var(--bs-navbar-toggler-border-radius);
-  transition: var(--bs-navbar-toggler-transition);
-}
-@media (prefers-reduced-motion: reduce) {
-  .navbar-toggler {
-    transition: none;
-  }
-}
-.navbar-toggler:hover {
-  text-decoration: none;
-}
-.navbar-toggler:focus {
-  text-decoration: none;
-  outline: 0;
-  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
-}
-
-.navbar-toggler-icon {
-  display: inline-block;
-  width: 1.5em;
-  height: 1.5em;
-  vertical-align: middle;
-  background-image: var(--bs-navbar-toggler-icon-bg);
-  background-repeat: no-repeat;
-  background-position: center;
-  background-size: 100%;
-}
-
-.navbar-nav-scroll {
-  max-height: var(--bs-scroll-height, 75vh);
-  overflow-y: auto;
-}
-
-@media (min-width: 576px) {
-  .navbar-expand-sm {
-    flex-wrap: nowrap;
-    justify-content: flex-start;
-  }
-  .navbar-expand-sm .navbar-nav {
-    flex-direction: row;
-  }
-  .navbar-expand-sm .navbar-nav .dropdown-menu {
-    position: absolute;
-  }
-  .navbar-expand-sm .navbar-nav .nav-link {
-    padding-right: var(--bs-navbar-nav-link-padding-x);
-    padding-left: var(--bs-navbar-nav-link-padding-x);
-  }
-  .navbar-expand-sm .navbar-nav-scroll {
-    overflow: visible;
-  }
-  .navbar-expand-sm .navbar-collapse {
-    display: flex !important;
-    flex-basis: auto;
-  }
-  .navbar-expand-sm .navbar-toggler {
-    display: none;
-  }
-  .navbar-expand-sm .offcanvas {
-    position: static;
-    z-index: auto;
-    flex-grow: 1;
-    width: auto !important;
-    height: auto !important;
-    visibility: visible !important;
-    background-color: transparent !important;
-    border: 0 !important;
-    transform: none !important;
-    transition: none;
-  }
-  .navbar-expand-sm .offcanvas .offcanvas-header {
-    display: none;
-  }
-  .navbar-expand-sm .offcanvas .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-  }
-}
-@media (min-width: 768px) {
-  .navbar-expand-md {
-    flex-wrap: nowrap;
-    justify-content: flex-start;
-  }
-  .navbar-expand-md .navbar-nav {
-    flex-direction: row;
-  }
-  .navbar-expand-md .navbar-nav .dropdown-menu {
-    position: absolute;
-  }
-  .navbar-expand-md .navbar-nav .nav-link {
-    padding-right: var(--bs-navbar-nav-link-padding-x);
-    padding-left: var(--bs-navbar-nav-link-padding-x);
-  }
-  .navbar-expand-md .navbar-nav-scroll {
-    overflow: visible;
-  }
-  .navbar-expand-md .navbar-collapse {
-    display: flex !important;
-    flex-basis: auto;
-  }
-  .navbar-expand-md .navbar-toggler {
-    display: none;
-  }
-  .navbar-expand-md .offcanvas {
-    position: static;
-    z-index: auto;
-    flex-grow: 1;
-    width: auto !important;
-    height: auto !important;
-    visibility: visible !important;
-    background-color: transparent !important;
-    border: 0 !important;
-    transform: none !important;
-    transition: none;
-  }
-  .navbar-expand-md .offcanvas .offcanvas-header {
-    display: none;
-  }
-  .navbar-expand-md .offcanvas .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-  }
-}
-@media (min-width: 992px) {
-  .navbar-expand-lg {
-    flex-wrap: nowrap;
-    justify-content: flex-start;
-  }
-  .navbar-expand-lg .navbar-nav {
-    flex-direction: row;
-  }
-  .navbar-expand-lg .navbar-nav .dropdown-menu {
-    position: absolute;
-  }
-  .navbar-expand-lg .navbar-nav .nav-link {
-    padding-right: var(--bs-navbar-nav-link-padding-x);
-    padding-left: var(--bs-navbar-nav-link-padding-x);
-  }
-  .navbar-expand-lg .navbar-nav-scroll {
-    overflow: visible;
-  }
-  .navbar-expand-lg .navbar-collapse {
-    display: flex !important;
-    flex-basis: auto;
-  }
-  .navbar-expand-lg .navbar-toggler {
-    display: none;
-  }
-  .navbar-expand-lg .offcanvas {
-    position: static;
-    z-index: auto;
-    flex-grow: 1;
-    width: auto !important;
-    height: auto !important;
-    visibility: visible !important;
-    background-color: transparent !important;
-    border: 0 !important;
-    transform: none !important;
-    transition: none;
-  }
-  .navbar-expand-lg .offcanvas .offcanvas-header {
-    display: none;
-  }
-  .navbar-expand-lg .offcanvas .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-  }
-}
-@media (min-width: 1200px) {
-  .navbar-expand-xl {
-    flex-wrap: nowrap;
-    justify-content: flex-start;
-  }
-  .navbar-expand-xl .navbar-nav {
-    flex-direction: row;
-  }
-  .navbar-expand-xl .navbar-nav .dropdown-menu {
-    position: absolute;
-  }
-  .navbar-expand-xl .navbar-nav .nav-link {
-    padding-right: var(--bs-navbar-nav-link-padding-x);
-    padding-left: var(--bs-navbar-nav-link-padding-x);
-  }
-  .navbar-expand-xl .navbar-nav-scroll {
-    overflow: visible;
-  }
-  .navbar-expand-xl .navbar-collapse {
-    display: flex !important;
-    flex-basis: auto;
-  }
-  .navbar-expand-xl .navbar-toggler {
-    display: none;
-  }
-  .navbar-expand-xl .offcanvas {
-    position: static;
-    z-index: auto;
-    flex-grow: 1;
-    width: auto !important;
-    height: auto !important;
-    visibility: visible !important;
-    background-color: transparent !important;
-    border: 0 !important;
-    transform: none !important;
-    transition: none;
-  }
-  .navbar-expand-xl .offcanvas .offcanvas-header {
-    display: none;
-  }
-  .navbar-expand-xl .offcanvas .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-  }
-}
-@media (min-width: 1400px) {
-  .navbar-expand-xxl {
-    flex-wrap: nowrap;
-    justify-content: flex-start;
-  }
-  .navbar-expand-xxl .navbar-nav {
-    flex-direction: row;
-  }
-  .navbar-expand-xxl .navbar-nav .dropdown-menu {
-    position: absolute;
-  }
-  .navbar-expand-xxl .navbar-nav .nav-link {
-    padding-right: var(--bs-navbar-nav-link-padding-x);
-    padding-left: var(--bs-navbar-nav-link-padding-x);
-  }
-  .navbar-expand-xxl .navbar-nav-scroll {
-    overflow: visible;
-  }
-  .navbar-expand-xxl .navbar-collapse {
-    display: flex !important;
-    flex-basis: auto;
-  }
-  .navbar-expand-xxl .navbar-toggler {
-    display: none;
-  }
-  .navbar-expand-xxl .offcanvas {
-    position: static;
-    z-index: auto;
-    flex-grow: 1;
-    width: auto !important;
-    height: auto !important;
-    visibility: visible !important;
-    background-color: transparent !important;
-    border: 0 !important;
-    transform: none !important;
-    transition: none;
-  }
-  .navbar-expand-xxl .offcanvas .offcanvas-header {
-    display: none;
-  }
-  .navbar-expand-xxl .offcanvas .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-  }
-}
-.navbar-expand {
-  flex-wrap: nowrap;
-  justify-content: flex-start;
-}
-.navbar-expand .navbar-nav {
-  flex-direction: row;
-}
-.navbar-expand .navbar-nav .dropdown-menu {
-  position: absolute;
-}
-.navbar-expand .navbar-nav .nav-link {
-  padding-right: var(--bs-navbar-nav-link-padding-x);
-  padding-left: var(--bs-navbar-nav-link-padding-x);
-}
-.navbar-expand .navbar-nav-scroll {
-  overflow: visible;
-}
-.navbar-expand .navbar-collapse {
-  display: flex !important;
-  flex-basis: auto;
-}
-.navbar-expand .navbar-toggler {
-  display: none;
-}
-.navbar-expand .offcanvas {
-  position: static;
-  z-index: auto;
-  flex-grow: 1;
-  width: auto !important;
-  height: auto !important;
-  visibility: visible !important;
-  background-color: transparent !important;
-  border: 0 !important;
-  transform: none !important;
-  transition: none;
-}
-.navbar-expand .offcanvas .offcanvas-header {
-  display: none;
-}
-.navbar-expand .offcanvas .offcanvas-body {
-  display: flex;
-  flex-grow: 0;
-  padding: 0;
-  overflow-y: visible;
-}
-
-.navbar-dark,
-.navbar[data-bs-theme=dark] {
-  --bs-navbar-color: rgba(255, 255, 255, 0.55);
-  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
-  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
-  --bs-navbar-active-color: #fff;
-  --bs-navbar-brand-color: #fff;
-  --bs-navbar-brand-hover-color: #fff;
-  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
-  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
-}
-
-[data-bs-theme=dark] .navbar-toggler-icon {
-  --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
-}
-
-.card {
-  --bs-card-spacer-y: 1rem;
-  --bs-card-spacer-x: 1rem;
-  --bs-card-title-spacer-y: 0.5rem;
-  --bs-card-title-color: ;
-  --bs-card-subtitle-color: ;
-  --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);
-  --bs-card-box-shadow: ;
-  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
-  --bs-card-cap-padding-y: 0.5rem;
-  --bs-card-cap-padding-x: 1rem;
-  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);
-  --bs-card-cap-color: ;
-  --bs-card-height: ;
-  --bs-card-color: ;
-  --bs-card-bg: var(--bs-body-bg);
-  --bs-card-img-overlay-padding: 1rem;
-  --bs-card-group-margin: 0.75rem;
-  position: relative;
-  display: flex;
-  flex-direction: column;
-  min-width: 0;
-  height: var(--bs-card-height);
-  color: var(--bs-body-color);
-  word-wrap: break-word;
-  background-color: var(--bs-card-bg);
-  background-clip: border-box;
-  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
-  border-radius: var(--bs-card-border-radius);
-}
-.card > hr {
-  margin-right: 0;
-  margin-left: 0;
-}
-.card > .list-group {
-  border-top: inherit;
-  border-bottom: inherit;
-}
-.card > .list-group:first-child {
-  border-top-width: 0;
-  border-top-left-radius: var(--bs-card-inner-border-radius);
-  border-top-right-radius: var(--bs-card-inner-border-radius);
-}
-.card > .list-group:last-child {
-  border-bottom-width: 0;
-  border-bottom-right-radius: var(--bs-card-inner-border-radius);
-  border-bottom-left-radius: var(--bs-card-inner-border-radius);
-}
-.card > .card-header + .list-group,
-.card > .list-group + .card-footer {
-  border-top: 0;
-}
-
-.card-body {
-  flex: 1 1 auto;
-  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);
-  color: var(--bs-card-color);
-}
-
-.card-title {
-  margin-bottom: var(--bs-card-title-spacer-y);
-  color: var(--bs-card-title-color);
-}
-
-.card-subtitle {
-  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));
-  margin-bottom: 0;
-  color: var(--bs-card-subtitle-color);
-}
-
-.card-text:last-child {
-  margin-bottom: 0;
-}
-
-.card-link + .card-link {
-  margin-left: var(--bs-card-spacer-x);
-}
-
-.card-header {
-  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
-  margin-bottom: 0;
-  color: var(--bs-card-cap-color);
-  background-color: var(--bs-card-cap-bg);
-  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
-}
-.card-header:first-child {
-  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;
-}
-
-.card-footer {
-  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);
-  color: var(--bs-card-cap-color);
-  background-color: var(--bs-card-cap-bg);
-  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);
-}
-.card-footer:last-child {
-  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);
-}
-
-.card-header-tabs {
-  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
-  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));
-  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
-  border-bottom: 0;
-}
-.card-header-tabs .nav-link.active {
-  background-color: var(--bs-card-bg);
-  border-bottom-color: var(--bs-card-bg);
-}
-
-.card-header-pills {
-  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));
-  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));
-}
-
-.card-img-overlay {
-  position: absolute;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  padding: var(--bs-card-img-overlay-padding);
-  border-radius: var(--bs-card-inner-border-radius);
-}
-
-.card-img,
-.card-img-top,
-.card-img-bottom {
-  width: 100%;
-}
-
-.card-img,
-.card-img-top {
-  border-top-left-radius: var(--bs-card-inner-border-radius);
-  border-top-right-radius: var(--bs-card-inner-border-radius);
-}
-
-.card-img,
-.card-img-bottom {
-  border-bottom-right-radius: var(--bs-card-inner-border-radius);
-  border-bottom-left-radius: var(--bs-card-inner-border-radius);
-}
-
-.card-group > .card {
-  margin-bottom: var(--bs-card-group-margin);
-}
-@media (min-width: 576px) {
-  .card-group {
-    display: flex;
-    flex-flow: row wrap;
-  }
-  .card-group > .card {
-    flex: 1 0 0;
-    margin-bottom: 0;
-  }
-  .card-group > .card + .card {
-    margin-left: 0;
-    border-left: 0;
-  }
-  .card-group > .card:not(:last-child) {
-    border-top-right-radius: 0;
-    border-bottom-right-radius: 0;
-  }
-  .card-group > .card:not(:last-child) > .card-img-top,
-  .card-group > .card:not(:last-child) > .card-header {
-    border-top-right-radius: 0;
-  }
-  .card-group > .card:not(:last-child) > .card-img-bottom,
-  .card-group > .card:not(:last-child) > .card-footer {
-    border-bottom-right-radius: 0;
-  }
-  .card-group > .card:not(:first-child) {
-    border-top-left-radius: 0;
-    border-bottom-left-radius: 0;
-  }
-  .card-group > .card:not(:first-child) > .card-img-top,
-  .card-group > .card:not(:first-child) > .card-header {
-    border-top-left-radius: 0;
-  }
-  .card-group > .card:not(:first-child) > .card-img-bottom,
-  .card-group > .card:not(:first-child) > .card-footer {
-    border-bottom-left-radius: 0;
-  }
-}
-
-.accordion {
-  --bs-accordion-color: var(--bs-body-color);
-  --bs-accordion-bg: var(--bs-body-bg);
-  --bs-accordion-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, border-radius 0.15s ease;
-  --bs-accordion-border-color: var(--bs-border-color);
-  --bs-accordion-border-width: var(--bs-border-width);
-  --bs-accordion-border-radius: var(--bs-border-radius);
-  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));
-  --bs-accordion-btn-padding-x: 1.25rem;
-  --bs-accordion-btn-padding-y: 1rem;
-  --bs-accordion-btn-color: var(--bs-body-color);
-  --bs-accordion-btn-bg: var(--bs-accordion-bg);
-  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
-  --bs-accordion-btn-icon-width: 1.25rem;
-  --bs-accordion-btn-icon-transform: rotate(-180deg);
-  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;
-  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
-  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-  --bs-accordion-body-padding-x: 1.25rem;
-  --bs-accordion-body-padding-y: 1rem;
-  --bs-accordion-active-color: var(--bs-primary-text-emphasis);
-  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);
-}
-
-.accordion-button {
-  position: relative;
-  display: flex;
-  align-items: center;
-  width: 100%;
-  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
-  font-size: 1rem;
-  color: var(--bs-accordion-btn-color);
-  text-align: left;
-  background-color: var(--bs-accordion-btn-bg);
-  border: 0;
-  border-radius: 0;
-  overflow-anchor: none;
-  transition: var(--bs-accordion-transition);
-}
-@media (prefers-reduced-motion: reduce) {
-  .accordion-button {
-    transition: none;
-  }
-}
-.accordion-button:not(.collapsed) {
-  color: var(--bs-accordion-active-color);
-  background-color: var(--bs-accordion-active-bg);
-  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
-}
-.accordion-button:not(.collapsed)::after {
-  background-image: var(--bs-accordion-btn-active-icon);
-  transform: var(--bs-accordion-btn-icon-transform);
-}
-.accordion-button::after {
-  flex-shrink: 0;
-  width: var(--bs-accordion-btn-icon-width);
-  height: var(--bs-accordion-btn-icon-width);
-  margin-left: auto;
-  content: "";
-  background-image: var(--bs-accordion-btn-icon);
-  background-repeat: no-repeat;
-  background-size: var(--bs-accordion-btn-icon-width);
-  transition: var(--bs-accordion-btn-icon-transition);
-}
-@media (prefers-reduced-motion: reduce) {
-  .accordion-button::after {
-    transition: none;
-  }
-}
-.accordion-button:hover {
-  z-index: 2;
-}
-.accordion-button:focus {
-  z-index: 3;
-  outline: 0;
-  box-shadow: var(--bs-accordion-btn-focus-box-shadow);
-}
-
-.accordion-header {
-  margin-bottom: 0;
-}
-
-.accordion-item {
-  color: var(--bs-accordion-color);
-  background-color: var(--bs-accordion-bg);
-  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
-}
-.accordion-item:first-of-type {
-  border-top-left-radius: var(--bs-accordion-border-radius);
-  border-top-right-radius: var(--bs-accordion-border-radius);
-}
-.accordion-item:first-of-type > .accordion-header .accordion-button {
-  border-top-left-radius: var(--bs-accordion-inner-border-radius);
-  border-top-right-radius: var(--bs-accordion-inner-border-radius);
-}
-.accordion-item:not(:first-of-type) {
-  border-top: 0;
-}
-.accordion-item:last-of-type {
-  border-bottom-right-radius: var(--bs-accordion-border-radius);
-  border-bottom-left-radius: var(--bs-accordion-border-radius);
-}
-.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {
-  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);
-  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);
-}
-.accordion-item:last-of-type > .accordion-collapse {
-  border-bottom-right-radius: var(--bs-accordion-border-radius);
-  border-bottom-left-radius: var(--bs-accordion-border-radius);
-}
-
-.accordion-body {
-  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
-}
-
-.accordion-flush > .accordion-item {
-  border-right: 0;
-  border-left: 0;
-  border-radius: 0;
-}
-.accordion-flush > .accordion-item:first-child {
-  border-top: 0;
-}
-.accordion-flush > .accordion-item:last-child {
-  border-bottom: 0;
-}
-.accordion-flush > .accordion-item > .accordion-collapse,
-.accordion-flush > .accordion-item > .accordion-header .accordion-button,
-.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {
-  border-radius: 0;
-}
-
-[data-bs-theme=dark] .accordion-button::after {
-  --bs-accordion-btn-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
-  --bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e");
-}
-
-.breadcrumb {
-  --bs-breadcrumb-padding-x: 0;
-  --bs-breadcrumb-padding-y: 0;
-  --bs-breadcrumb-margin-bottom: 1rem;
-  --bs-breadcrumb-bg: ;
-  --bs-breadcrumb-border-radius: ;
-  --bs-breadcrumb-divider-color: var(--bs-secondary-color);
-  --bs-breadcrumb-item-padding-x: 0.5rem;
-  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);
-  display: flex;
-  flex-wrap: wrap;
-  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);
-  margin-bottom: var(--bs-breadcrumb-margin-bottom);
-  font-size: var(--bs-breadcrumb-font-size);
-  list-style: none;
-  background-color: var(--bs-breadcrumb-bg);
-  border-radius: var(--bs-breadcrumb-border-radius);
-}
-
-.breadcrumb-item + .breadcrumb-item {
-  padding-left: var(--bs-breadcrumb-item-padding-x);
-}
-.breadcrumb-item + .breadcrumb-item::before {
-  float: left;
-  padding-right: var(--bs-breadcrumb-item-padding-x);
-  color: var(--bs-breadcrumb-divider-color);
-  content: var(--bs-breadcrumb-divider, "/") /* rtl: var(--bs-breadcrumb-divider, "/") */;
-}
-.breadcrumb-item.active {
-  color: var(--bs-breadcrumb-item-active-color);
-}
-
-.pagination {
-  --bs-pagination-padding-x: 0.75rem;
-  --bs-pagination-padding-y: 0.375rem;
-  --bs-pagination-font-size: 1rem;
-  --bs-pagination-color: var(--bs-link-color);
-  --bs-pagination-bg: var(--bs-body-bg);
-  --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-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-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-  --bs-pagination-active-color: #fff;
-  --bs-pagination-active-bg: #0d6efd;
-  --bs-pagination-active-border-color: #0d6efd;
-  --bs-pagination-disabled-color: var(--bs-secondary-color);
-  --bs-pagination-disabled-bg: var(--bs-secondary-bg);
-  --bs-pagination-disabled-border-color: var(--bs-border-color);
-  display: flex;
-  padding-left: 0;
-  list-style: none;
-}
-
-.page-link {
-  position: relative;
-  display: block;
-  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
-  font-size: var(--bs-pagination-font-size);
-  color: var(--bs-pagination-color);
-  text-decoration: none;
-  background-color: var(--bs-pagination-bg);
-  border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
-  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;
-}
-@media (prefers-reduced-motion: reduce) {
-  .page-link {
-    transition: none;
-  }
-}
-.page-link:hover {
-  z-index: 2;
-  color: var(--bs-pagination-hover-color);
-  background-color: var(--bs-pagination-hover-bg);
-  border-color: var(--bs-pagination-hover-border-color);
-}
-.page-link:focus {
-  z-index: 3;
-  color: var(--bs-pagination-focus-color);
-  background-color: var(--bs-pagination-focus-bg);
-  outline: 0;
-  box-shadow: var(--bs-pagination-focus-box-shadow);
-}
-.page-link.active, .active > .page-link {
-  z-index: 3;
-  color: var(--bs-pagination-active-color);
-  background-color: var(--bs-pagination-active-bg);
-  border-color: var(--bs-pagination-active-border-color);
-}
-.page-link.disabled, .disabled > .page-link {
-  color: var(--bs-pagination-disabled-color);
-  pointer-events: none;
-  background-color: var(--bs-pagination-disabled-bg);
-  border-color: var(--bs-pagination-disabled-border-color);
-}
-
-.page-item:not(:first-child) .page-link {
-  margin-left: calc(-1 * var(--bs-border-width));
-}
-.page-item:first-child .page-link {
-  border-top-left-radius: var(--bs-pagination-border-radius);
-  border-bottom-left-radius: var(--bs-pagination-border-radius);
-}
-.page-item:last-child .page-link {
-  border-top-right-radius: var(--bs-pagination-border-radius);
-  border-bottom-right-radius: var(--bs-pagination-border-radius);
-}
-
-.pagination-lg {
-  --bs-pagination-padding-x: 1.5rem;
-  --bs-pagination-padding-y: 0.75rem;
-  --bs-pagination-font-size: 1.25rem;
-  --bs-pagination-border-radius: var(--bs-border-radius-lg);
-}
-
-.pagination-sm {
-  --bs-pagination-padding-x: 0.5rem;
-  --bs-pagination-padding-y: 0.25rem;
-  --bs-pagination-font-size: 0.875rem;
-  --bs-pagination-border-radius: var(--bs-border-radius-sm);
-}
-
-.badge {
-  --bs-badge-padding-x: 0.65em;
-  --bs-badge-padding-y: 0.35em;
-  --bs-badge-font-size: 0.75em;
-  --bs-badge-font-weight: 700;
-  --bs-badge-color: #fff;
-  --bs-badge-border-radius: var(--bs-border-radius);
-  display: inline-block;
-  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);
-  font-size: var(--bs-badge-font-size);
-  font-weight: var(--bs-badge-font-weight);
-  line-height: 1;
-  color: var(--bs-badge-color);
-  text-align: center;
-  white-space: nowrap;
-  vertical-align: baseline;
-  border-radius: var(--bs-badge-border-radius);
-}
-.badge:empty {
-  display: none;
-}
-
-.btn .badge {
-  position: relative;
-  top: -1px;
-}
-
-.alert {
-  --bs-alert-bg: transparent;
-  --bs-alert-padding-x: 1rem;
-  --bs-alert-padding-y: 1rem;
-  --bs-alert-margin-bottom: 1rem;
-  --bs-alert-color: inherit;
-  --bs-alert-border-color: transparent;
-  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);
-  --bs-alert-border-radius: var(--bs-border-radius);
-  --bs-alert-link-color: inherit;
-  position: relative;
-  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);
-  margin-bottom: var(--bs-alert-margin-bottom);
-  color: var(--bs-alert-color);
-  background-color: var(--bs-alert-bg);
-  border: var(--bs-alert-border);
-  border-radius: var(--bs-alert-border-radius);
-}
-
-.alert-heading {
-  color: inherit;
-}
-
-.alert-link {
-  font-weight: 700;
-  color: var(--bs-alert-link-color);
-}
-
-.alert-dismissible {
-  padding-right: 3rem;
-}
-.alert-dismissible .btn-close {
-  position: absolute;
-  top: 0;
-  right: 0;
-  z-index: 2;
-  padding: 1.25rem 1rem;
-}
-
-.alert-primary {
-  --bs-alert-color: var(--bs-primary-text-emphasis);
-  --bs-alert-bg: var(--bs-primary-bg-subtle);
-  --bs-alert-border-color: var(--bs-primary-border-subtle);
-  --bs-alert-link-color: var(--bs-primary-text-emphasis);
-}
-
-.alert-secondary {
-  --bs-alert-color: var(--bs-secondary-text-emphasis);
-  --bs-alert-bg: var(--bs-secondary-bg-subtle);
-  --bs-alert-border-color: var(--bs-secondary-border-subtle);
-  --bs-alert-link-color: var(--bs-secondary-text-emphasis);
-}
-
-.alert-success {
-  --bs-alert-color: var(--bs-success-text-emphasis);
-  --bs-alert-bg: var(--bs-success-bg-subtle);
-  --bs-alert-border-color: var(--bs-success-border-subtle);
-  --bs-alert-link-color: var(--bs-success-text-emphasis);
-}
-
-.alert-info {
-  --bs-alert-color: var(--bs-info-text-emphasis);
-  --bs-alert-bg: var(--bs-info-bg-subtle);
-  --bs-alert-border-color: var(--bs-info-border-subtle);
-  --bs-alert-link-color: var(--bs-info-text-emphasis);
-}
-
-.alert-warning {
-  --bs-alert-color: var(--bs-warning-text-emphasis);
-  --bs-alert-bg: var(--bs-warning-bg-subtle);
-  --bs-alert-border-color: var(--bs-warning-border-subtle);
-  --bs-alert-link-color: var(--bs-warning-text-emphasis);
-}
-
-.alert-danger {
-  --bs-alert-color: var(--bs-danger-text-emphasis);
-  --bs-alert-bg: var(--bs-danger-bg-subtle);
-  --bs-alert-border-color: var(--bs-danger-border-subtle);
-  --bs-alert-link-color: var(--bs-danger-text-emphasis);
-}
-
-.alert-light {
-  --bs-alert-color: var(--bs-light-text-emphasis);
-  --bs-alert-bg: var(--bs-light-bg-subtle);
-  --bs-alert-border-color: var(--bs-light-border-subtle);
-  --bs-alert-link-color: var(--bs-light-text-emphasis);
-}
-
-.alert-dark {
-  --bs-alert-color: var(--bs-dark-text-emphasis);
-  --bs-alert-bg: var(--bs-dark-bg-subtle);
-  --bs-alert-border-color: var(--bs-dark-border-subtle);
-  --bs-alert-link-color: var(--bs-dark-text-emphasis);
-}
-
-@keyframes progress-bar-stripes {
-  0% {
-    background-position-x: var(--bs-progress-height);
-  }
-}
-.progress,
-.progress-stacked {
-  --bs-progress-height: 1rem;
-  --bs-progress-font-size: 0.75rem;
-  --bs-progress-bg: var(--bs-secondary-bg);
-  --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-bg: #0d6efd;
-  --bs-progress-bar-transition: width 0.6s ease;
-  display: flex;
-  height: var(--bs-progress-height);
-  overflow: hidden;
-  font-size: var(--bs-progress-font-size);
-  background-color: var(--bs-progress-bg);
-  border-radius: var(--bs-progress-border-radius);
-}
-
-.progress-bar {
-  display: flex;
-  flex-direction: column;
-  justify-content: center;
-  overflow: hidden;
-  color: var(--bs-progress-bar-color);
-  text-align: center;
-  white-space: nowrap;
-  background-color: var(--bs-progress-bar-bg);
-  transition: var(--bs-progress-bar-transition);
-}
-@media (prefers-reduced-motion: reduce) {
-  .progress-bar {
-    transition: none;
-  }
-}
-
-.progress-bar-striped {
-  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);
-  background-size: var(--bs-progress-height) var(--bs-progress-height);
-}
-
-.progress-stacked > .progress {
-  overflow: visible;
-}
-
-.progress-stacked > .progress > .progress-bar {
-  width: 100%;
-}
-
-.progress-bar-animated {
-  animation: 1s linear infinite progress-bar-stripes;
-}
-@media (prefers-reduced-motion: reduce) {
-  .progress-bar-animated {
-    animation: none;
-  }
-}
-
-.list-group {
-  --bs-list-group-color: var(--bs-body-color);
-  --bs-list-group-bg: var(--bs-body-bg);
-  --bs-list-group-border-color: var(--bs-border-color);
-  --bs-list-group-border-width: var(--bs-border-width);
-  --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-emphasis-color);
-  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
-  --bs-list-group-action-active-color: var(--bs-body-color);
-  --bs-list-group-action-active-bg: var(--bs-secondary-bg);
-  --bs-list-group-disabled-color: var(--bs-secondary-color);
-  --bs-list-group-disabled-bg: var(--bs-body-bg);
-  --bs-list-group-active-color: #fff;
-  --bs-list-group-active-bg: #0d6efd;
-  --bs-list-group-active-border-color: #0d6efd;
-  display: flex;
-  flex-direction: column;
-  padding-left: 0;
-  margin-bottom: 0;
-  border-radius: var(--bs-list-group-border-radius);
-}
-
-.list-group-numbered {
-  list-style-type: none;
-  counter-reset: section;
-}
-.list-group-numbered > .list-group-item::before {
-  content: counters(section, ".") ". ";
-  counter-increment: section;
-}
-
-.list-group-item {
-  position: relative;
-  display: block;
-  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
-  color: var(--bs-list-group-color);
-  text-decoration: none;
-  background-color: var(--bs-list-group-bg);
-  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
-}
-.list-group-item:first-child {
-  border-top-left-radius: inherit;
-  border-top-right-radius: inherit;
-}
-.list-group-item:last-child {
-  border-bottom-right-radius: inherit;
-  border-bottom-left-radius: inherit;
-}
-.list-group-item.disabled, .list-group-item:disabled {
-  color: var(--bs-list-group-disabled-color);
-  pointer-events: none;
-  background-color: var(--bs-list-group-disabled-bg);
-}
-.list-group-item.active {
-  z-index: 2;
-  color: var(--bs-list-group-active-color);
-  background-color: var(--bs-list-group-active-bg);
-  border-color: var(--bs-list-group-active-border-color);
-}
-.list-group-item + .list-group-item {
-  border-top-width: 0;
-}
-.list-group-item + .list-group-item.active {
-  margin-top: calc(-1 * var(--bs-list-group-border-width));
-  border-top-width: var(--bs-list-group-border-width);
-}
-
-.list-group-item-action {
-  width: 100%;
-  color: var(--bs-list-group-action-color);
-  text-align: inherit;
-}
-.list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
-  z-index: 1;
-  color: var(--bs-list-group-action-hover-color);
-  text-decoration: none;
-  background-color: var(--bs-list-group-action-hover-bg);
-}
-.list-group-item-action:not(.active):active {
-  color: var(--bs-list-group-action-active-color);
-  background-color: var(--bs-list-group-action-active-bg);
-}
-
-.list-group-horizontal {
-  flex-direction: row;
-}
-.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
-  border-bottom-left-radius: var(--bs-list-group-border-radius);
-  border-top-right-radius: 0;
-}
-.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
-  border-top-right-radius: var(--bs-list-group-border-radius);
-  border-bottom-left-radius: 0;
-}
-.list-group-horizontal > .list-group-item.active {
-  margin-top: 0;
-}
-.list-group-horizontal > .list-group-item + .list-group-item {
-  border-top-width: var(--bs-list-group-border-width);
-  border-left-width: 0;
-}
-.list-group-horizontal > .list-group-item + .list-group-item.active {
-  margin-left: calc(-1 * var(--bs-list-group-border-width));
-  border-left-width: var(--bs-list-group-border-width);
-}
-
-@media (min-width: 576px) {
-  .list-group-horizontal-sm {
-    flex-direction: row;
-  }
-  .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
-    border-bottom-left-radius: var(--bs-list-group-border-radius);
-    border-top-right-radius: 0;
-  }
-  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
-    border-top-right-radius: var(--bs-list-group-border-radius);
-    border-bottom-left-radius: 0;
-  }
-  .list-group-horizontal-sm > .list-group-item.active {
-    margin-top: 0;
-  }
-  .list-group-horizontal-sm > .list-group-item + .list-group-item {
-    border-top-width: var(--bs-list-group-border-width);
-    border-left-width: 0;
-  }
-  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
-    margin-left: calc(-1 * var(--bs-list-group-border-width));
-    border-left-width: var(--bs-list-group-border-width);
-  }
-}
-@media (min-width: 768px) {
-  .list-group-horizontal-md {
-    flex-direction: row;
-  }
-  .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
-    border-bottom-left-radius: var(--bs-list-group-border-radius);
-    border-top-right-radius: 0;
-  }
-  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
-    border-top-right-radius: var(--bs-list-group-border-radius);
-    border-bottom-left-radius: 0;
-  }
-  .list-group-horizontal-md > .list-group-item.active {
-    margin-top: 0;
-  }
-  .list-group-horizontal-md > .list-group-item + .list-group-item {
-    border-top-width: var(--bs-list-group-border-width);
-    border-left-width: 0;
-  }
-  .list-group-horizontal-md > .list-group-item + .list-group-item.active {
-    margin-left: calc(-1 * var(--bs-list-group-border-width));
-    border-left-width: var(--bs-list-group-border-width);
-  }
-}
-@media (min-width: 992px) {
-  .list-group-horizontal-lg {
-    flex-direction: row;
-  }
-  .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
-    border-bottom-left-radius: var(--bs-list-group-border-radius);
-    border-top-right-radius: 0;
-  }
-  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
-    border-top-right-radius: var(--bs-list-group-border-radius);
-    border-bottom-left-radius: 0;
-  }
-  .list-group-horizontal-lg > .list-group-item.active {
-    margin-top: 0;
-  }
-  .list-group-horizontal-lg > .list-group-item + .list-group-item {
-    border-top-width: var(--bs-list-group-border-width);
-    border-left-width: 0;
-  }
-  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
-    margin-left: calc(-1 * var(--bs-list-group-border-width));
-    border-left-width: var(--bs-list-group-border-width);
-  }
-}
-@media (min-width: 1200px) {
-  .list-group-horizontal-xl {
-    flex-direction: row;
-  }
-  .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
-    border-bottom-left-radius: var(--bs-list-group-border-radius);
-    border-top-right-radius: 0;
-  }
-  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
-    border-top-right-radius: var(--bs-list-group-border-radius);
-    border-bottom-left-radius: 0;
-  }
-  .list-group-horizontal-xl > .list-group-item.active {
-    margin-top: 0;
-  }
-  .list-group-horizontal-xl > .list-group-item + .list-group-item {
-    border-top-width: var(--bs-list-group-border-width);
-    border-left-width: 0;
-  }
-  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
-    margin-left: calc(-1 * var(--bs-list-group-border-width));
-    border-left-width: var(--bs-list-group-border-width);
-  }
-}
-@media (min-width: 1400px) {
-  .list-group-horizontal-xxl {
-    flex-direction: row;
-  }
-  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
-    border-bottom-left-radius: var(--bs-list-group-border-radius);
-    border-top-right-radius: 0;
-  }
-  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
-    border-top-right-radius: var(--bs-list-group-border-radius);
-    border-bottom-left-radius: 0;
-  }
-  .list-group-horizontal-xxl > .list-group-item.active {
-    margin-top: 0;
-  }
-  .list-group-horizontal-xxl > .list-group-item + .list-group-item {
-    border-top-width: var(--bs-list-group-border-width);
-    border-left-width: 0;
-  }
-  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
-    margin-left: calc(-1 * var(--bs-list-group-border-width));
-    border-left-width: var(--bs-list-group-border-width);
-  }
-}
-.list-group-flush {
-  border-radius: 0;
-}
-.list-group-flush > .list-group-item {
-  border-width: 0 0 var(--bs-list-group-border-width);
-}
-.list-group-flush > .list-group-item:last-child {
-  border-bottom-width: 0;
-}
-
-.list-group-item-primary {
-  --bs-list-group-color: var(--bs-primary-text-emphasis);
-  --bs-list-group-bg: var(--bs-primary-bg-subtle);
-  --bs-list-group-border-color: var(--bs-primary-border-subtle);
-  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
-  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
-  --bs-list-group-action-active-color: var(--bs-emphasis-color);
-  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
-  --bs-list-group-active-color: var(--bs-primary-bg-subtle);
-  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
-  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
-}
-
-.list-group-item-secondary {
-  --bs-list-group-color: var(--bs-secondary-text-emphasis);
-  --bs-list-group-bg: var(--bs-secondary-bg-subtle);
-  --bs-list-group-border-color: var(--bs-secondary-border-subtle);
-  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
-  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
-  --bs-list-group-action-active-color: var(--bs-emphasis-color);
-  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
-  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
-  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
-  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
-}
-
-.list-group-item-success {
-  --bs-list-group-color: var(--bs-success-text-emphasis);
-  --bs-list-group-bg: var(--bs-success-bg-subtle);
-  --bs-list-group-border-color: var(--bs-success-border-subtle);
-  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
-  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
-  --bs-list-group-action-active-color: var(--bs-emphasis-color);
-  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
-  --bs-list-group-active-color: var(--bs-success-bg-subtle);
-  --bs-list-group-active-bg: var(--bs-success-text-emphasis);
-  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
-}
-
-.list-group-item-info {
-  --bs-list-group-color: var(--bs-info-text-emphasis);
-  --bs-list-group-bg: var(--bs-info-bg-subtle);
-  --bs-list-group-border-color: var(--bs-info-border-subtle);
-  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
-  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
-  --bs-list-group-action-active-color: var(--bs-emphasis-color);
-  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
-  --bs-list-group-active-color: var(--bs-info-bg-subtle);
-  --bs-list-group-active-bg: var(--bs-info-text-emphasis);
-  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
-}
-
-.list-group-item-warning {
-  --bs-list-group-color: var(--bs-warning-text-emphasis);
-  --bs-list-group-bg: var(--bs-warning-bg-subtle);
-  --bs-list-group-border-color: var(--bs-warning-border-subtle);
-  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
-  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
-  --bs-list-group-action-active-color: var(--bs-emphasis-color);
-  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
-  --bs-list-group-active-color: var(--bs-warning-bg-subtle);
-  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
-  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
-}
-
-.list-group-item-danger {
-  --bs-list-group-color: var(--bs-danger-text-emphasis);
-  --bs-list-group-bg: var(--bs-danger-bg-subtle);
-  --bs-list-group-border-color: var(--bs-danger-border-subtle);
-  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
-  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
-  --bs-list-group-action-active-color: var(--bs-emphasis-color);
-  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
-  --bs-list-group-active-color: var(--bs-danger-bg-subtle);
-  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
-  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
-}
-
-.list-group-item-light {
-  --bs-list-group-color: var(--bs-light-text-emphasis);
-  --bs-list-group-bg: var(--bs-light-bg-subtle);
-  --bs-list-group-border-color: var(--bs-light-border-subtle);
-  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
-  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
-  --bs-list-group-action-active-color: var(--bs-emphasis-color);
-  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
-  --bs-list-group-active-color: var(--bs-light-bg-subtle);
-  --bs-list-group-active-bg: var(--bs-light-text-emphasis);
-  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
-}
-
-.list-group-item-dark {
-  --bs-list-group-color: var(--bs-dark-text-emphasis);
-  --bs-list-group-bg: var(--bs-dark-bg-subtle);
-  --bs-list-group-border-color: var(--bs-dark-border-subtle);
-  --bs-list-group-action-hover-color: var(--bs-emphasis-color);
-  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
-  --bs-list-group-action-active-color: var(--bs-emphasis-color);
-  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
-  --bs-list-group-active-color: var(--bs-dark-bg-subtle);
-  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
-  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
-}
-
-.btn-close {
-  --bs-btn-close-color: #000;
-  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
-  --bs-btn-close-opacity: 0.5;
-  --bs-btn-close-hover-opacity: 0.75;
-  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
-  --bs-btn-close-focus-opacity: 1;
-  --bs-btn-close-disabled-opacity: 0.25;
-  box-sizing: content-box;
-  width: 1em;
-  height: 1em;
-  padding: 0.25em 0.25em;
-  color: var(--bs-btn-close-color);
-  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;
-  filter: var(--bs-btn-close-filter);
-  border: 0;
-  border-radius: 0.375rem;
-  opacity: var(--bs-btn-close-opacity);
-}
-.btn-close:hover {
-  color: var(--bs-btn-close-color);
-  text-decoration: none;
-  opacity: var(--bs-btn-close-hover-opacity);
-}
-.btn-close:focus {
-  outline: 0;
-  box-shadow: var(--bs-btn-close-focus-shadow);
-  opacity: var(--bs-btn-close-focus-opacity);
-}
-.btn-close:disabled, .btn-close.disabled {
-  pointer-events: none;
-  -webkit-user-select: none;
-  -moz-user-select: none;
-  user-select: none;
-  opacity: var(--bs-btn-close-disabled-opacity);
-}
-
-.btn-close-white {
-  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
-}
-
-:root,
-[data-bs-theme=light] {
-  --bs-btn-close-filter: ;
-}
-
-[data-bs-theme=dark] {
-  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);
-}
-
-.toast {
-  --bs-toast-zindex: 1090;
-  --bs-toast-padding-x: 0.75rem;
-  --bs-toast-padding-y: 0.5rem;
-  --bs-toast-spacing: 1.5rem;
-  --bs-toast-max-width: 350px;
-  --bs-toast-font-size: 0.875rem;
-  --bs-toast-color: ;
-  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
-  --bs-toast-border-width: var(--bs-border-width);
-  --bs-toast-border-color: var(--bs-border-color-translucent);
-  --bs-toast-border-radius: var(--bs-border-radius);
-  --bs-toast-box-shadow: var(--bs-box-shadow);
-  --bs-toast-header-color: var(--bs-secondary-color);
-  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
-  --bs-toast-header-border-color: var(--bs-border-color-translucent);
-  width: var(--bs-toast-max-width);
-  max-width: 100%;
-  font-size: var(--bs-toast-font-size);
-  color: var(--bs-toast-color);
-  pointer-events: auto;
-  background-color: var(--bs-toast-bg);
-  background-clip: padding-box;
-  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
-  box-shadow: var(--bs-toast-box-shadow);
-  border-radius: var(--bs-toast-border-radius);
-}
-.toast.showing {
-  opacity: 0;
-}
-.toast:not(.show) {
-  display: none;
-}
-
-.toast-container {
-  --bs-toast-zindex: 1090;
-  position: absolute;
-  z-index: var(--bs-toast-zindex);
-  width: -webkit-max-content;
-  width: -moz-max-content;
-  width: max-content;
-  max-width: 100%;
-  pointer-events: none;
-}
-.toast-container > :not(:last-child) {
-  margin-bottom: var(--bs-toast-spacing);
-}
-
-.toast-header {
-  display: flex;
-  align-items: center;
-  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
-  color: var(--bs-toast-header-color);
-  background-color: var(--bs-toast-header-bg);
-  background-clip: padding-box;
-  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
-  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
-  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
-}
-.toast-header .btn-close {
-  margin-right: calc(-0.5 * var(--bs-toast-padding-x));
-  margin-left: var(--bs-toast-padding-x);
-}
-
-.toast-body {
-  padding: var(--bs-toast-padding-x);
-  word-wrap: break-word;
-}
-
-.modal {
-  --bs-modal-zindex: 1055;
-  --bs-modal-width: 500px;
-  --bs-modal-padding: 1rem;
-  --bs-modal-margin: 0.5rem;
-  --bs-modal-color: var(--bs-body-color);
-  --bs-modal-bg: var(--bs-body-bg);
-  --bs-modal-border-color: var(--bs-border-color-translucent);
-  --bs-modal-border-width: var(--bs-border-width);
-  --bs-modal-border-radius: var(--bs-border-radius-lg);
-  --bs-modal-box-shadow: var(--bs-box-shadow-sm);
-  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));
-  --bs-modal-header-padding-x: 1rem;
-  --bs-modal-header-padding-y: 1rem;
-  --bs-modal-header-padding: 1rem 1rem;
-  --bs-modal-header-border-color: var(--bs-border-color);
-  --bs-modal-header-border-width: var(--bs-border-width);
-  --bs-modal-title-line-height: 1.5;
-  --bs-modal-footer-gap: 0.5rem;
-  --bs-modal-footer-bg: ;
-  --bs-modal-footer-border-color: var(--bs-border-color);
-  --bs-modal-footer-border-width: var(--bs-border-width);
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: var(--bs-modal-zindex);
-  display: none;
-  width: 100%;
-  height: 100%;
-  overflow-x: hidden;
-  overflow-y: auto;
-  outline: 0;
-}
-
-.modal-dialog {
-  position: relative;
-  width: auto;
-  margin: var(--bs-modal-margin);
-  pointer-events: none;
-}
-.modal.fade .modal-dialog {
-  transform: translate(0, -50px);
-  transition: transform 0.3s ease-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .modal.fade .modal-dialog {
-    transition: none;
-  }
-}
-.modal.show .modal-dialog {
-  transform: none;
-}
-.modal.modal-static .modal-dialog {
-  transform: scale(1.02);
-}
-
-.modal-dialog-scrollable {
-  height: calc(100% - var(--bs-modal-margin) * 2);
-}
-.modal-dialog-scrollable .modal-content {
-  max-height: 100%;
-  overflow: hidden;
-}
-.modal-dialog-scrollable .modal-body {
-  overflow-y: auto;
-}
-
-.modal-dialog-centered {
-  display: flex;
-  align-items: center;
-  min-height: calc(100% - var(--bs-modal-margin) * 2);
-}
-
-.modal-content {
-  position: relative;
-  display: flex;
-  flex-direction: column;
-  width: 100%;
-  color: var(--bs-modal-color);
-  pointer-events: auto;
-  background-color: var(--bs-modal-bg);
-  background-clip: padding-box;
-  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
-  border-radius: var(--bs-modal-border-radius);
-  outline: 0;
-}
-
-.modal-backdrop {
-  --bs-backdrop-zindex: 1050;
-  --bs-backdrop-bg: #000;
-  --bs-backdrop-opacity: 0.5;
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: var(--bs-backdrop-zindex);
-  width: 100vw;
-  height: 100vh;
-  background-color: var(--bs-backdrop-bg);
-}
-.modal-backdrop.fade {
-  opacity: 0;
-}
-.modal-backdrop.show {
-  opacity: var(--bs-backdrop-opacity);
-}
-
-.modal-header {
-  display: flex;
-  flex-shrink: 0;
-  align-items: center;
-  padding: var(--bs-modal-header-padding);
-  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
-  border-top-left-radius: var(--bs-modal-inner-border-radius);
-  border-top-right-radius: var(--bs-modal-inner-border-radius);
-}
-.modal-header .btn-close {
-  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
-  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
-  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
-  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
-  margin-left: auto;
-}
-
-.modal-title {
-  margin-bottom: 0;
-  line-height: var(--bs-modal-title-line-height);
-}
-
-.modal-body {
-  position: relative;
-  flex: 1 1 auto;
-  padding: var(--bs-modal-padding);
-}
-
-.modal-footer {
-  display: flex;
-  flex-shrink: 0;
-  flex-wrap: wrap;
-  align-items: center;
-  justify-content: flex-end;
-  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
-  background-color: var(--bs-modal-footer-bg);
-  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
-  border-bottom-right-radius: var(--bs-modal-inner-border-radius);
-  border-bottom-left-radius: var(--bs-modal-inner-border-radius);
-}
-.modal-footer > * {
-  margin: calc(var(--bs-modal-footer-gap) * 0.5);
-}
-
-@media (min-width: 576px) {
-  .modal {
-    --bs-modal-margin: 1.75rem;
-    --bs-modal-box-shadow: var(--bs-box-shadow);
-  }
-  .modal-dialog {
-    max-width: var(--bs-modal-width);
-    margin-right: auto;
-    margin-left: auto;
-  }
-  .modal-sm {
-    --bs-modal-width: 300px;
-  }
-}
-@media (min-width: 992px) {
-  .modal-lg,
-  .modal-xl {
-    --bs-modal-width: 800px;
-  }
-}
-@media (min-width: 1200px) {
-  .modal-xl {
-    --bs-modal-width: 1140px;
-  }
-}
-.modal-fullscreen {
-  width: 100vw;
-  max-width: none;
-  height: 100%;
-  margin: 0;
-}
-.modal-fullscreen .modal-content {
-  height: 100%;
-  border: 0;
-  border-radius: 0;
-}
-.modal-fullscreen .modal-header,
-.modal-fullscreen .modal-footer {
-  border-radius: 0;
-}
-.modal-fullscreen .modal-body {
-  overflow-y: auto;
-}
-
-@media (max-width: 575.98px) {
-  .modal-fullscreen-sm-down {
-    width: 100vw;
-    max-width: none;
-    height: 100%;
-    margin: 0;
-  }
-  .modal-fullscreen-sm-down .modal-content {
-    height: 100%;
-    border: 0;
-    border-radius: 0;
-  }
-  .modal-fullscreen-sm-down .modal-header,
-  .modal-fullscreen-sm-down .modal-footer {
-    border-radius: 0;
-  }
-  .modal-fullscreen-sm-down .modal-body {
-    overflow-y: auto;
-  }
-}
-@media (max-width: 767.98px) {
-  .modal-fullscreen-md-down {
-    width: 100vw;
-    max-width: none;
-    height: 100%;
-    margin: 0;
-  }
-  .modal-fullscreen-md-down .modal-content {
-    height: 100%;
-    border: 0;
-    border-radius: 0;
-  }
-  .modal-fullscreen-md-down .modal-header,
-  .modal-fullscreen-md-down .modal-footer {
-    border-radius: 0;
-  }
-  .modal-fullscreen-md-down .modal-body {
-    overflow-y: auto;
-  }
-}
-@media (max-width: 991.98px) {
-  .modal-fullscreen-lg-down {
-    width: 100vw;
-    max-width: none;
-    height: 100%;
-    margin: 0;
-  }
-  .modal-fullscreen-lg-down .modal-content {
-    height: 100%;
-    border: 0;
-    border-radius: 0;
-  }
-  .modal-fullscreen-lg-down .modal-header,
-  .modal-fullscreen-lg-down .modal-footer {
-    border-radius: 0;
-  }
-  .modal-fullscreen-lg-down .modal-body {
-    overflow-y: auto;
-  }
-}
-@media (max-width: 1199.98px) {
-  .modal-fullscreen-xl-down {
-    width: 100vw;
-    max-width: none;
-    height: 100%;
-    margin: 0;
-  }
-  .modal-fullscreen-xl-down .modal-content {
-    height: 100%;
-    border: 0;
-    border-radius: 0;
-  }
-  .modal-fullscreen-xl-down .modal-header,
-  .modal-fullscreen-xl-down .modal-footer {
-    border-radius: 0;
-  }
-  .modal-fullscreen-xl-down .modal-body {
-    overflow-y: auto;
-  }
-}
-@media (max-width: 1399.98px) {
-  .modal-fullscreen-xxl-down {
-    width: 100vw;
-    max-width: none;
-    height: 100%;
-    margin: 0;
-  }
-  .modal-fullscreen-xxl-down .modal-content {
-    height: 100%;
-    border: 0;
-    border-radius: 0;
-  }
-  .modal-fullscreen-xxl-down .modal-header,
-  .modal-fullscreen-xxl-down .modal-footer {
-    border-radius: 0;
-  }
-  .modal-fullscreen-xxl-down .modal-body {
-    overflow-y: auto;
-  }
-}
-.tooltip {
-  --bs-tooltip-zindex: 1080;
-  --bs-tooltip-max-width: 200px;
-  --bs-tooltip-padding-x: 0.5rem;
-  --bs-tooltip-padding-y: 0.25rem;
-  --bs-tooltip-margin: ;
-  --bs-tooltip-font-size: 0.875rem;
-  --bs-tooltip-color: var(--bs-body-bg);
-  --bs-tooltip-bg: var(--bs-emphasis-color);
-  --bs-tooltip-border-radius: var(--bs-border-radius);
-  --bs-tooltip-opacity: 0.9;
-  --bs-tooltip-arrow-width: 0.8rem;
-  --bs-tooltip-arrow-height: 0.4rem;
-  z-index: var(--bs-tooltip-zindex);
-  display: block;
-  margin: var(--bs-tooltip-margin);
-  font-family: var(--bs-font-sans-serif);
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1.5;
-  text-align: left;
-  text-align: start;
-  text-decoration: none;
-  text-shadow: none;
-  text-transform: none;
-  letter-spacing: normal;
-  word-break: normal;
-  white-space: normal;
-  word-spacing: normal;
-  line-break: auto;
-  font-size: var(--bs-tooltip-font-size);
-  word-wrap: break-word;
-  opacity: 0;
-}
-.tooltip.show {
-  opacity: var(--bs-tooltip-opacity);
-}
-.tooltip .tooltip-arrow {
-  display: block;
-  width: var(--bs-tooltip-arrow-width);
-  height: var(--bs-tooltip-arrow-height);
-}
-.tooltip .tooltip-arrow::before {
-  position: absolute;
-  content: "";
-  border-color: transparent;
-  border-style: solid;
-}
-
-.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {
-  bottom: calc(-1 * var(--bs-tooltip-arrow-height));
-}
-.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {
-  top: -1px;
-  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
-  border-top-color: var(--bs-tooltip-bg);
-}
-
-/* rtl:begin:ignore */
-.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {
-  left: calc(-1 * var(--bs-tooltip-arrow-height));
-  width: var(--bs-tooltip-arrow-height);
-  height: var(--bs-tooltip-arrow-width);
-}
-.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {
-  right: -1px;
-  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;
-  border-right-color: var(--bs-tooltip-bg);
-}
-
-/* rtl:end:ignore */
-.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {
-  top: calc(-1 * var(--bs-tooltip-arrow-height));
-}
-.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {
-  bottom: -1px;
-  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
-  border-bottom-color: var(--bs-tooltip-bg);
-}
-
-/* rtl:begin:ignore */
-.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {
-  right: calc(-1 * var(--bs-tooltip-arrow-height));
-  width: var(--bs-tooltip-arrow-height);
-  height: var(--bs-tooltip-arrow-width);
-}
-.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {
-  left: -1px;
-  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);
-  border-left-color: var(--bs-tooltip-bg);
-}
-
-/* rtl:end:ignore */
-.tooltip-inner {
-  max-width: var(--bs-tooltip-max-width);
-  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);
-  color: var(--bs-tooltip-color);
-  text-align: center;
-  background-color: var(--bs-tooltip-bg);
-  border-radius: var(--bs-tooltip-border-radius);
-}
-
-.popover {
-  --bs-popover-zindex: 1070;
-  --bs-popover-max-width: 276px;
-  --bs-popover-font-size: 0.875rem;
-  --bs-popover-bg: var(--bs-body-bg);
-  --bs-popover-border-width: var(--bs-border-width);
-  --bs-popover-border-color: var(--bs-border-color-translucent);
-  --bs-popover-border-radius: var(--bs-border-radius-lg);
-  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
-  --bs-popover-box-shadow: var(--bs-box-shadow);
-  --bs-popover-header-padding-x: 1rem;
-  --bs-popover-header-padding-y: 0.5rem;
-  --bs-popover-header-font-size: 1rem;
-  --bs-popover-header-color: inherit;
-  --bs-popover-header-bg: var(--bs-secondary-bg);
-  --bs-popover-body-padding-x: 1rem;
-  --bs-popover-body-padding-y: 1rem;
-  --bs-popover-body-color: var(--bs-body-color);
-  --bs-popover-arrow-width: 1rem;
-  --bs-popover-arrow-height: 0.5rem;
-  --bs-popover-arrow-border: var(--bs-popover-border-color);
-  z-index: var(--bs-popover-zindex);
-  display: block;
-  max-width: var(--bs-popover-max-width);
-  font-family: var(--bs-font-sans-serif);
-  font-style: normal;
-  font-weight: 400;
-  line-height: 1.5;
-  text-align: left;
-  text-align: start;
-  text-decoration: none;
-  text-shadow: none;
-  text-transform: none;
-  letter-spacing: normal;
-  word-break: normal;
-  white-space: normal;
-  word-spacing: normal;
-  line-break: auto;
-  font-size: var(--bs-popover-font-size);
-  word-wrap: break-word;
-  background-color: var(--bs-popover-bg);
-  background-clip: padding-box;
-  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
-  border-radius: var(--bs-popover-border-radius);
-}
-.popover .popover-arrow {
-  display: block;
-  width: var(--bs-popover-arrow-width);
-  height: var(--bs-popover-arrow-height);
-}
-.popover .popover-arrow::before, .popover .popover-arrow::after {
-  position: absolute;
-  display: block;
-  content: "";
-  border-color: transparent;
-  border-style: solid;
-  border-width: 0;
-}
-
-.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
-  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
-}
-.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
-  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
-}
-.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
-  bottom: 0;
-  border-top-color: var(--bs-popover-arrow-border);
-}
-.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
-  bottom: var(--bs-popover-border-width);
-  border-top-color: var(--bs-popover-bg);
-}
-
-/* rtl:begin:ignore */
-.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
-  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
-  width: var(--bs-popover-arrow-height);
-  height: var(--bs-popover-arrow-width);
-}
-.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
-  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
-}
-.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
-  left: 0;
-  border-right-color: var(--bs-popover-arrow-border);
-}
-.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
-  left: var(--bs-popover-border-width);
-  border-right-color: var(--bs-popover-bg);
-}
-
-/* rtl:end:ignore */
-.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
-  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
-}
-.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
-  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
-}
-.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
-  top: 0;
-  border-bottom-color: var(--bs-popover-arrow-border);
-}
-.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
-  top: var(--bs-popover-border-width);
-  border-bottom-color: var(--bs-popover-bg);
-}
-.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
-  position: absolute;
-  top: 0;
-  left: 50%;
-  display: block;
-  width: var(--bs-popover-arrow-width);
-  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
-  content: "";
-  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
-}
-
-/* rtl:begin:ignore */
-.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
-  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
-  width: var(--bs-popover-arrow-height);
-  height: var(--bs-popover-arrow-width);
-}
-.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
-  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
-}
-.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
-  right: 0;
-  border-left-color: var(--bs-popover-arrow-border);
-}
-.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
-  right: var(--bs-popover-border-width);
-  border-left-color: var(--bs-popover-bg);
-}
-
-/* rtl:end:ignore */
-.popover-header {
-  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
-  margin-bottom: 0;
-  font-size: var(--bs-popover-header-font-size);
-  color: var(--bs-popover-header-color);
-  background-color: var(--bs-popover-header-bg);
-  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
-  border-top-left-radius: var(--bs-popover-inner-border-radius);
-  border-top-right-radius: var(--bs-popover-inner-border-radius);
-}
-.popover-header:empty {
-  display: none;
-}
-
-.popover-body {
-  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
-  color: var(--bs-popover-body-color);
-}
-
-.carousel {
-  position: relative;
-}
-
-.carousel.pointer-event {
-  touch-action: pan-y;
-}
-
-.carousel-inner {
-  position: relative;
-  width: 100%;
-  overflow: hidden;
-}
-.carousel-inner::after {
-  display: block;
-  clear: both;
-  content: "";
-}
-
-.carousel-item {
-  position: relative;
-  display: none;
-  float: left;
-  width: 100%;
-  margin-right: -100%;
-  -webkit-backface-visibility: hidden;
-  backface-visibility: hidden;
-  transition: transform 0.6s ease-in-out;
-}
-@media (prefers-reduced-motion: reduce) {
-  .carousel-item {
-    transition: none;
-  }
-}
-
-.carousel-item.active,
-.carousel-item-next,
-.carousel-item-prev {
-  display: block;
-}
-
-.carousel-item-next:not(.carousel-item-start),
-.active.carousel-item-end {
-  transform: translateX(100%);
-}
-
-.carousel-item-prev:not(.carousel-item-end),
-.active.carousel-item-start {
-  transform: translateX(-100%);
-}
-
-.carousel-fade .carousel-item {
-  opacity: 0;
-  transition-property: opacity;
-  transform: none;
-}
-.carousel-fade .carousel-item.active,
-.carousel-fade .carousel-item-next.carousel-item-start,
-.carousel-fade .carousel-item-prev.carousel-item-end {
-  z-index: 1;
-  opacity: 1;
-}
-.carousel-fade .active.carousel-item-start,
-.carousel-fade .active.carousel-item-end {
-  z-index: 0;
-  opacity: 0;
-  transition: opacity 0s 0.6s;
-}
-@media (prefers-reduced-motion: reduce) {
-  .carousel-fade .active.carousel-item-start,
-  .carousel-fade .active.carousel-item-end {
-    transition: none;
-  }
-}
-
-.carousel-control-prev,
-.carousel-control-next {
-  position: absolute;
-  top: 0;
-  bottom: 0;
-  z-index: 1;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  width: 15%;
-  padding: 0;
-  color: #fff;
-  text-align: center;
-  background: none;
-  filter: var(--bs-carousel-control-icon-filter);
-  border: 0;
-  opacity: 0.5;
-  transition: opacity 0.15s ease;
-}
-@media (prefers-reduced-motion: reduce) {
-  .carousel-control-prev,
-  .carousel-control-next {
-    transition: none;
-  }
-}
-.carousel-control-prev:hover, .carousel-control-prev:focus,
-.carousel-control-next:hover,
-.carousel-control-next:focus {
-  color: #fff;
-  text-decoration: none;
-  outline: 0;
-  opacity: 0.9;
-}
-
-.carousel-control-prev {
-  left: 0;
-}
-
-.carousel-control-next {
-  right: 0;
-}
-
-.carousel-control-prev-icon,
-.carousel-control-next-icon {
-  display: inline-block;
-  width: 2rem;
-  height: 2rem;
-  background-repeat: no-repeat;
-  background-position: 50%;
-  background-size: 100% 100%;
-}
-
-.carousel-control-prev-icon {
-  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath 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'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath 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'/%3e%3c/svg%3e")*/;
-}
-
-.carousel-control-next-icon {
-  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath 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'/%3e%3c/svg%3e") /*rtl:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath 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'/%3e%3c/svg%3e")*/;
-}
-
-.carousel-indicators {
-  position: absolute;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 2;
-  display: flex;
-  justify-content: center;
-  padding: 0;
-  margin-right: 15%;
-  margin-bottom: 1rem;
-  margin-left: 15%;
-}
-.carousel-indicators [data-bs-target] {
-  box-sizing: content-box;
-  flex: 0 1 auto;
-  width: 30px;
-  height: 3px;
-  padding: 0;
-  margin-right: 3px;
-  margin-left: 3px;
-  text-indent: -999px;
-  cursor: pointer;
-  background-color: var(--bs-carousel-indicator-active-bg);
-  background-clip: padding-box;
-  border: 0;
-  border-top: 10px solid transparent;
-  border-bottom: 10px solid transparent;
-  opacity: 0.5;
-  transition: opacity 0.6s ease;
-}
-@media (prefers-reduced-motion: reduce) {
-  .carousel-indicators [data-bs-target] {
-    transition: none;
-  }
-}
-.carousel-indicators .active {
-  opacity: 1;
-}
-
-.carousel-caption {
-  position: absolute;
-  right: 15%;
-  bottom: 1.25rem;
-  left: 15%;
-  padding-top: 1.25rem;
-  padding-bottom: 1.25rem;
-  color: var(--bs-carousel-caption-color);
-  text-align: center;
-}
-
-.carousel-dark {
-  --bs-carousel-indicator-active-bg: #000;
-  --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;
-  --bs-carousel-control-icon-filter: invert(1) grayscale(100);
-}
-
-.spinner-grow,
-.spinner-border {
-  display: inline-block;
-  flex-shrink: 0;
-  width: var(--bs-spinner-width);
-  height: var(--bs-spinner-height);
-  vertical-align: var(--bs-spinner-vertical-align);
-  border-radius: 50%;
-  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
-}
-
-@keyframes spinner-border {
-  to {
-    transform: rotate(360deg) /* rtl:ignore */;
-  }
-}
-.spinner-border {
-  --bs-spinner-width: 2rem;
-  --bs-spinner-height: 2rem;
-  --bs-spinner-vertical-align: -0.125em;
-  --bs-spinner-border-width: 0.25em;
-  --bs-spinner-animation-speed: 0.75s;
-  --bs-spinner-animation-name: spinner-border;
-  border: var(--bs-spinner-border-width) solid currentcolor;
-  border-right-color: transparent;
-}
-
-.spinner-border-sm {
-  --bs-spinner-width: 1rem;
-  --bs-spinner-height: 1rem;
-  --bs-spinner-border-width: 0.2em;
-}
-
-@keyframes spinner-grow {
-  0% {
-    transform: scale(0);
-  }
-  50% {
-    opacity: 1;
-    transform: none;
-  }
-}
-.spinner-grow {
-  --bs-spinner-width: 2rem;
-  --bs-spinner-height: 2rem;
-  --bs-spinner-vertical-align: -0.125em;
-  --bs-spinner-animation-speed: 0.75s;
-  --bs-spinner-animation-name: spinner-grow;
-  background-color: currentcolor;
-  opacity: 0;
-}
-
-.spinner-grow-sm {
-  --bs-spinner-width: 1rem;
-  --bs-spinner-height: 1rem;
-}
-
-@media (prefers-reduced-motion: reduce) {
-  .spinner-border,
-  .spinner-grow {
-    --bs-spinner-animation-speed: 1.5s;
-  }
-}
-.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
-  --bs-offcanvas-zindex: 1045;
-  --bs-offcanvas-width: 400px;
-  --bs-offcanvas-height: 30vh;
-  --bs-offcanvas-padding-x: 1rem;
-  --bs-offcanvas-padding-y: 1rem;
-  --bs-offcanvas-color: var(--bs-body-color);
-  --bs-offcanvas-bg: var(--bs-body-bg);
-  --bs-offcanvas-border-width: var(--bs-border-width);
-  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
-  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
-  --bs-offcanvas-transition: transform 0.3s ease-in-out;
-  --bs-offcanvas-title-line-height: 1.5;
-}
-
-@media (max-width: 575.98px) {
-  .offcanvas-sm {
-    position: fixed;
-    bottom: 0;
-    z-index: var(--bs-offcanvas-zindex);
-    display: flex;
-    flex-direction: column;
-    max-width: 100%;
-    color: var(--bs-offcanvas-color);
-    visibility: hidden;
-    background-color: var(--bs-offcanvas-bg);
-    background-clip: padding-box;
-    outline: 0;
-    transition: var(--bs-offcanvas-transition);
-  }
-}
-@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
-  .offcanvas-sm {
-    transition: none;
-  }
-}
-@media (max-width: 575.98px) {
-  .offcanvas-sm.offcanvas-start {
-    top: 0;
-    left: 0;
-    width: var(--bs-offcanvas-width);
-    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(-100%);
-  }
-  .offcanvas-sm.offcanvas-end {
-    top: 0;
-    right: 0;
-    width: var(--bs-offcanvas-width);
-    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(100%);
-  }
-  .offcanvas-sm.offcanvas-top {
-    top: 0;
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(-100%);
-  }
-  .offcanvas-sm.offcanvas-bottom {
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(100%);
-  }
-  .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
-    transform: none;
-  }
-  .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
-    visibility: visible;
-  }
-}
-@media (min-width: 576px) {
-  .offcanvas-sm {
-    --bs-offcanvas-height: auto;
-    --bs-offcanvas-border-width: 0;
-    background-color: transparent !important;
-  }
-  .offcanvas-sm .offcanvas-header {
-    display: none;
-  }
-  .offcanvas-sm .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-    background-color: transparent !important;
-  }
-}
-
-@media (max-width: 767.98px) {
-  .offcanvas-md {
-    position: fixed;
-    bottom: 0;
-    z-index: var(--bs-offcanvas-zindex);
-    display: flex;
-    flex-direction: column;
-    max-width: 100%;
-    color: var(--bs-offcanvas-color);
-    visibility: hidden;
-    background-color: var(--bs-offcanvas-bg);
-    background-clip: padding-box;
-    outline: 0;
-    transition: var(--bs-offcanvas-transition);
-  }
-}
-@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
-  .offcanvas-md {
-    transition: none;
-  }
-}
-@media (max-width: 767.98px) {
-  .offcanvas-md.offcanvas-start {
-    top: 0;
-    left: 0;
-    width: var(--bs-offcanvas-width);
-    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(-100%);
-  }
-  .offcanvas-md.offcanvas-end {
-    top: 0;
-    right: 0;
-    width: var(--bs-offcanvas-width);
-    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(100%);
-  }
-  .offcanvas-md.offcanvas-top {
-    top: 0;
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(-100%);
-  }
-  .offcanvas-md.offcanvas-bottom {
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(100%);
-  }
-  .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
-    transform: none;
-  }
-  .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
-    visibility: visible;
-  }
-}
-@media (min-width: 768px) {
-  .offcanvas-md {
-    --bs-offcanvas-height: auto;
-    --bs-offcanvas-border-width: 0;
-    background-color: transparent !important;
-  }
-  .offcanvas-md .offcanvas-header {
-    display: none;
-  }
-  .offcanvas-md .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-    background-color: transparent !important;
-  }
-}
-
-@media (max-width: 991.98px) {
-  .offcanvas-lg {
-    position: fixed;
-    bottom: 0;
-    z-index: var(--bs-offcanvas-zindex);
-    display: flex;
-    flex-direction: column;
-    max-width: 100%;
-    color: var(--bs-offcanvas-color);
-    visibility: hidden;
-    background-color: var(--bs-offcanvas-bg);
-    background-clip: padding-box;
-    outline: 0;
-    transition: var(--bs-offcanvas-transition);
-  }
-}
-@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
-  .offcanvas-lg {
-    transition: none;
-  }
-}
-@media (max-width: 991.98px) {
-  .offcanvas-lg.offcanvas-start {
-    top: 0;
-    left: 0;
-    width: var(--bs-offcanvas-width);
-    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(-100%);
-  }
-  .offcanvas-lg.offcanvas-end {
-    top: 0;
-    right: 0;
-    width: var(--bs-offcanvas-width);
-    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(100%);
-  }
-  .offcanvas-lg.offcanvas-top {
-    top: 0;
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(-100%);
-  }
-  .offcanvas-lg.offcanvas-bottom {
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(100%);
-  }
-  .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
-    transform: none;
-  }
-  .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
-    visibility: visible;
-  }
-}
-@media (min-width: 992px) {
-  .offcanvas-lg {
-    --bs-offcanvas-height: auto;
-    --bs-offcanvas-border-width: 0;
-    background-color: transparent !important;
-  }
-  .offcanvas-lg .offcanvas-header {
-    display: none;
-  }
-  .offcanvas-lg .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-    background-color: transparent !important;
-  }
-}
-
-@media (max-width: 1199.98px) {
-  .offcanvas-xl {
-    position: fixed;
-    bottom: 0;
-    z-index: var(--bs-offcanvas-zindex);
-    display: flex;
-    flex-direction: column;
-    max-width: 100%;
-    color: var(--bs-offcanvas-color);
-    visibility: hidden;
-    background-color: var(--bs-offcanvas-bg);
-    background-clip: padding-box;
-    outline: 0;
-    transition: var(--bs-offcanvas-transition);
-  }
-}
-@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
-  .offcanvas-xl {
-    transition: none;
-  }
-}
-@media (max-width: 1199.98px) {
-  .offcanvas-xl.offcanvas-start {
-    top: 0;
-    left: 0;
-    width: var(--bs-offcanvas-width);
-    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(-100%);
-  }
-  .offcanvas-xl.offcanvas-end {
-    top: 0;
-    right: 0;
-    width: var(--bs-offcanvas-width);
-    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(100%);
-  }
-  .offcanvas-xl.offcanvas-top {
-    top: 0;
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(-100%);
-  }
-  .offcanvas-xl.offcanvas-bottom {
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(100%);
-  }
-  .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
-    transform: none;
-  }
-  .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
-    visibility: visible;
-  }
-}
-@media (min-width: 1200px) {
-  .offcanvas-xl {
-    --bs-offcanvas-height: auto;
-    --bs-offcanvas-border-width: 0;
-    background-color: transparent !important;
-  }
-  .offcanvas-xl .offcanvas-header {
-    display: none;
-  }
-  .offcanvas-xl .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-    background-color: transparent !important;
-  }
-}
-
-@media (max-width: 1399.98px) {
-  .offcanvas-xxl {
-    position: fixed;
-    bottom: 0;
-    z-index: var(--bs-offcanvas-zindex);
-    display: flex;
-    flex-direction: column;
-    max-width: 100%;
-    color: var(--bs-offcanvas-color);
-    visibility: hidden;
-    background-color: var(--bs-offcanvas-bg);
-    background-clip: padding-box;
-    outline: 0;
-    transition: var(--bs-offcanvas-transition);
-  }
-}
-@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
-  .offcanvas-xxl {
-    transition: none;
-  }
-}
-@media (max-width: 1399.98px) {
-  .offcanvas-xxl.offcanvas-start {
-    top: 0;
-    left: 0;
-    width: var(--bs-offcanvas-width);
-    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(-100%);
-  }
-  .offcanvas-xxl.offcanvas-end {
-    top: 0;
-    right: 0;
-    width: var(--bs-offcanvas-width);
-    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateX(100%);
-  }
-  .offcanvas-xxl.offcanvas-top {
-    top: 0;
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(-100%);
-  }
-  .offcanvas-xxl.offcanvas-bottom {
-    right: 0;
-    left: 0;
-    height: var(--bs-offcanvas-height);
-    max-height: 100%;
-    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-    transform: translateY(100%);
-  }
-  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
-    transform: none;
-  }
-  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
-    visibility: visible;
-  }
-}
-@media (min-width: 1400px) {
-  .offcanvas-xxl {
-    --bs-offcanvas-height: auto;
-    --bs-offcanvas-border-width: 0;
-    background-color: transparent !important;
-  }
-  .offcanvas-xxl .offcanvas-header {
-    display: none;
-  }
-  .offcanvas-xxl .offcanvas-body {
-    display: flex;
-    flex-grow: 0;
-    padding: 0;
-    overflow-y: visible;
-    background-color: transparent !important;
-  }
-}
-
-.offcanvas {
-  position: fixed;
-  bottom: 0;
-  z-index: var(--bs-offcanvas-zindex);
-  display: flex;
-  flex-direction: column;
-  max-width: 100%;
-  color: var(--bs-offcanvas-color);
-  visibility: hidden;
-  background-color: var(--bs-offcanvas-bg);
-  background-clip: padding-box;
-  outline: 0;
-  transition: var(--bs-offcanvas-transition);
-}
-@media (prefers-reduced-motion: reduce) {
-  .offcanvas {
-    transition: none;
-  }
-}
-.offcanvas.offcanvas-start {
-  top: 0;
-  left: 0;
-  width: var(--bs-offcanvas-width);
-  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-  transform: translateX(-100%);
-}
-.offcanvas.offcanvas-end {
-  top: 0;
-  right: 0;
-  width: var(--bs-offcanvas-width);
-  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-  transform: translateX(100%);
-}
-.offcanvas.offcanvas-top {
-  top: 0;
-  right: 0;
-  left: 0;
-  height: var(--bs-offcanvas-height);
-  max-height: 100%;
-  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-  transform: translateY(-100%);
-}
-.offcanvas.offcanvas-bottom {
-  right: 0;
-  left: 0;
-  height: var(--bs-offcanvas-height);
-  max-height: 100%;
-  border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
-  transform: translateY(100%);
-}
-.offcanvas.showing, .offcanvas.show:not(.hiding) {
-  transform: none;
-}
-.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
-  visibility: visible;
-}
-
-.offcanvas-backdrop {
-  position: fixed;
-  top: 0;
-  left: 0;
-  z-index: 1040;
-  width: 100vw;
-  height: 100vh;
-  background-color: #000;
-}
-.offcanvas-backdrop.fade {
-  opacity: 0;
-}
-.offcanvas-backdrop.show {
-  opacity: 0.5;
-}
-
-.offcanvas-header {
-  display: flex;
-  align-items: center;
-  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
-}
-.offcanvas-header .btn-close {
-  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
-  margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
-  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
-  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
-  margin-left: auto;
-}
-
-.offcanvas-title {
-  margin-bottom: 0;
-  line-height: var(--bs-offcanvas-title-line-height);
-}
-
-.offcanvas-body {
-  flex-grow: 1;
-  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
-  overflow-y: auto;
-}
-
-.placeholder {
-  display: inline-block;
-  min-height: 1em;
-  vertical-align: middle;
-  cursor: wait;
-  background-color: currentcolor;
-  opacity: 0.5;
-}
-.placeholder.btn::before {
-  display: inline-block;
-  content: "";
-}
-
-.placeholder-xs {
-  min-height: 0.6em;
-}
-
-.placeholder-sm {
-  min-height: 0.8em;
-}
-
-.placeholder-lg {
-  min-height: 1.2em;
-}
-
-.placeholder-glow .placeholder {
-  animation: placeholder-glow 2s ease-in-out infinite;
-}
-
-@keyframes placeholder-glow {
-  50% {
-    opacity: 0.2;
-  }
-}
-.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-size: 200% 100%;
-  mask-size: 200% 100%;
-  animation: placeholder-wave 2s linear infinite;
-}
-
-@keyframes placeholder-wave {
-  100% {
-    -webkit-mask-position: -200% 0%;
-    mask-position: -200% 0%;
-  }
-}
-.clearfix::after {
-  display: block;
-  clear: both;
-  content: "";
-}
-
-.text-bg-primary {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-secondary {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-success {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-info {
-  color: #000 !important;
-  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-warning {
-  color: #000 !important;
-  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-danger {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-light {
-  color: #000 !important;
-  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.text-bg-dark {
-  color: #fff !important;
-  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
-}
-
-.link-primary {
-  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-primary:hover, .link-primary:focus {
-  color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-secondary {
-  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-secondary:hover, .link-secondary:focus {
-  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-success {
-  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-success:hover, .link-success:focus {
-  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-info {
-  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-info:hover, .link-info:focus {
-  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-warning {
-  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-warning:hover, .link-warning:focus {
-  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-danger {
-  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-danger:hover, .link-danger:focus {
-  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-light {
-  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-light:hover, .link-light:focus {
-  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-dark {
-  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-dark:hover, .link-dark:focus {
-  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-body-emphasis {
-  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-.link-body-emphasis:hover, .link-body-emphasis:focus {
-  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;
-  -webkit-text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
-  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;
-}
-
-.focus-ring:focus {
-  outline: 0;
-  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);
-}
-
-.icon-link {
-  display: inline-flex;
-  gap: 0.375rem;
-  align-items: center;
-  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
-  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
-  text-underline-offset: 0.25em;
-  -webkit-backface-visibility: hidden;
-  backface-visibility: hidden;
-}
-.icon-link > .bi {
-  flex-shrink: 0;
-  width: 1em;
-  height: 1em;
-  fill: currentcolor;
-  transition: 0.2s ease-in-out transform;
-}
-@media (prefers-reduced-motion: reduce) {
-  .icon-link > .bi {
-    transition: none;
-  }
-}
-
-.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
-  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
-}
-
-.ratio {
-  position: relative;
-  width: 100%;
-}
-.ratio::before {
-  display: block;
-  padding-top: var(--bs-aspect-ratio);
-  content: "";
-}
-.ratio > * {
-  position: absolute;
-  top: 0;
-  left: 0;
-  width: 100%;
-  height: 100%;
-}
-
-.ratio-1x1 {
-  --bs-aspect-ratio: 100%;
-}
-
-.ratio-4x3 {
-  --bs-aspect-ratio: 75%;
-}
-
-.ratio-16x9 {
-  --bs-aspect-ratio: 56.25%;
-}
-
-.ratio-21x9 {
-  --bs-aspect-ratio: 42.8571428571%;
-}
-
-.fixed-top {
-  position: fixed;
-  top: 0;
-  right: 0;
-  left: 0;
-  z-index: 1030;
-}
-
-.fixed-bottom {
-  position: fixed;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1030;
-}
-
-.sticky-top {
-  position: -webkit-sticky;
-  position: sticky;
-  top: 0;
-  z-index: 1020;
-}
-
-.sticky-bottom {
-  position: -webkit-sticky;
-  position: sticky;
-  bottom: 0;
-  z-index: 1020;
-}
-
-@media (min-width: 576px) {
-  .sticky-sm-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-sm-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-@media (min-width: 768px) {
-  .sticky-md-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-md-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-@media (min-width: 992px) {
-  .sticky-lg-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-lg-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-@media (min-width: 1200px) {
-  .sticky-xl-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-xl-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-@media (min-width: 1400px) {
-  .sticky-xxl-top {
-    position: -webkit-sticky;
-    position: sticky;
-    top: 0;
-    z-index: 1020;
-  }
-  .sticky-xxl-bottom {
-    position: -webkit-sticky;
-    position: sticky;
-    bottom: 0;
-    z-index: 1020;
-  }
-}
-.hstack {
-  display: flex;
-  flex-direction: row;
-  align-items: center;
-  align-self: stretch;
-}
-
-.vstack {
-  display: flex;
-  flex: 1 1 auto;
-  flex-direction: column;
-  align-self: stretch;
-}
-
-.visually-hidden,
-.visually-hidden-focusable:not(:focus):not(:focus-within) {
-  width: 1px !important;
-  height: 1px !important;
-  padding: 0 !important;
-  margin: -1px !important;
-  overflow: hidden !important;
-  clip: rect(0, 0, 0, 0) !important;
-  white-space: nowrap !important;
-  border: 0 !important;
-}
-.visually-hidden:not(caption),
-.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
-  position: absolute !important;
-}
-.visually-hidden *,
-.visually-hidden-focusable:not(:focus):not(:focus-within) * {
-  overflow: hidden !important;
-}
-
-.stretched-link::after {
-  position: absolute;
-  top: 0;
-  right: 0;
-  bottom: 0;
-  left: 0;
-  z-index: 1;
-  content: "";
-}
-
-.text-truncate {
-  overflow: hidden;
-  text-overflow: ellipsis;
-  white-space: nowrap;
-}
-
-.vr {
-  display: inline-block;
-  align-self: stretch;
-  width: var(--bs-border-width);
-  min-height: 1em;
-  background-color: currentcolor;
-  opacity: 0.25;
-}
-
-.align-baseline {
-  vertical-align: baseline !important;
-}
-
-.align-top {
-  vertical-align: top !important;
-}
-
-.align-middle {
-  vertical-align: middle !important;
-}
-
-.align-bottom {
-  vertical-align: bottom !important;
-}
-
-.align-text-bottom {
-  vertical-align: text-bottom !important;
-}
-
-.align-text-top {
-  vertical-align: text-top !important;
-}
-
-.float-start {
-  float: left !important;
-}
-
-.float-end {
-  float: right !important;
-}
-
-.float-none {
-  float: none !important;
-}
-
-.object-fit-contain {
-  -o-object-fit: contain !important;
-  object-fit: contain !important;
-}
-
-.object-fit-cover {
-  -o-object-fit: cover !important;
-  object-fit: cover !important;
-}
-
-.object-fit-fill {
-  -o-object-fit: fill !important;
-  object-fit: fill !important;
-}
-
-.object-fit-scale {
-  -o-object-fit: scale-down !important;
-  object-fit: scale-down !important;
-}
-
-.object-fit-none {
-  -o-object-fit: none !important;
-  object-fit: none !important;
-}
-
-.opacity-0 {
-  opacity: 0 !important;
-}
-
-.opacity-25 {
-  opacity: 0.25 !important;
-}
-
-.opacity-50 {
-  opacity: 0.5 !important;
-}
-
-.opacity-75 {
-  opacity: 0.75 !important;
-}
-
-.opacity-100 {
-  opacity: 1 !important;
-}
-
-.overflow-auto {
-  overflow: auto !important;
-}
-
-.overflow-hidden {
-  overflow: hidden !important;
-}
-
-.overflow-visible {
-  overflow: visible !important;
-}
-
-.overflow-scroll {
-  overflow: scroll !important;
-}
-
-.overflow-x-auto {
-  overflow-x: auto !important;
-}
-
-.overflow-x-hidden {
-  overflow-x: hidden !important;
-}
-
-.overflow-x-visible {
-  overflow-x: visible !important;
-}
-
-.overflow-x-scroll {
-  overflow-x: scroll !important;
-}
-
-.overflow-y-auto {
-  overflow-y: auto !important;
-}
-
-.overflow-y-hidden {
-  overflow-y: hidden !important;
-}
-
-.overflow-y-visible {
-  overflow-y: visible !important;
-}
-
-.overflow-y-scroll {
-  overflow-y: scroll !important;
-}
-
-.d-inline {
-  display: inline !important;
-}
-
-.d-inline-block {
-  display: inline-block !important;
-}
-
-.d-block {
-  display: block !important;
-}
-
-.d-grid {
-  display: grid !important;
-}
-
-.d-inline-grid {
-  display: inline-grid !important;
-}
-
-.d-table {
-  display: table !important;
-}
-
-.d-table-row {
-  display: table-row !important;
-}
-
-.d-table-cell {
-  display: table-cell !important;
-}
-
-.d-flex {
-  display: flex !important;
-}
-
-.d-inline-flex {
-  display: inline-flex !important;
-}
-
-.d-none {
-  display: none !important;
-}
-
-.shadow {
-  box-shadow: var(--bs-box-shadow) !important;
-}
-
-.shadow-sm {
-  box-shadow: var(--bs-box-shadow-sm) !important;
-}
-
-.shadow-lg {
-  box-shadow: var(--bs-box-shadow-lg) !important;
-}
-
-.shadow-none {
-  box-shadow: none !important;
-}
-
-.focus-ring-primary {
-  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-secondary {
-  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-success {
-  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-info {
-  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-warning {
-  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-danger {
-  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-light {
-  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));
-}
-
-.focus-ring-dark {
-  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));
-}
-
-.position-static {
-  position: static !important;
-}
-
-.position-relative {
-  position: relative !important;
-}
-
-.position-absolute {
-  position: absolute !important;
-}
-
-.position-fixed {
-  position: fixed !important;
-}
-
-.position-sticky {
-  position: -webkit-sticky !important;
-  position: sticky !important;
-}
-
-.top-0 {
-  top: 0 !important;
-}
-
-.top-50 {
-  top: 50% !important;
-}
-
-.top-100 {
-  top: 100% !important;
-}
-
-.bottom-0 {
-  bottom: 0 !important;
-}
-
-.bottom-50 {
-  bottom: 50% !important;
-}
-
-.bottom-100 {
-  bottom: 100% !important;
-}
-
-.start-0 {
-  left: 0 !important;
-}
-
-.start-50 {
-  left: 50% !important;
-}
-
-.start-100 {
-  left: 100% !important;
-}
-
-.end-0 {
-  right: 0 !important;
-}
-
-.end-50 {
-  right: 50% !important;
-}
-
-.end-100 {
-  right: 100% !important;
-}
-
-.translate-middle {
-  transform: translate(-50%, -50%) !important;
-}
-
-.translate-middle-x {
-  transform: translateX(-50%) !important;
-}
-
-.translate-middle-y {
-  transform: translateY(-50%) !important;
-}
-
-.border {
-  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-0 {
-  border: 0 !important;
-}
-
-.border-top {
-  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-top-0 {
-  border-top: 0 !important;
-}
-
-.border-end {
-  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-end-0 {
-  border-right: 0 !important;
-}
-
-.border-bottom {
-  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-bottom-0 {
-  border-bottom: 0 !important;
-}
-
-.border-start {
-  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
-}
-
-.border-start-0 {
-  border-left: 0 !important;
-}
-
-.border-primary {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-secondary {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-success {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-info {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-warning {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-danger {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-light {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-dark {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-black {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-white {
-  --bs-border-opacity: 1;
-  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;
-}
-
-.border-primary-subtle {
-  border-color: var(--bs-primary-border-subtle) !important;
-}
-
-.border-secondary-subtle {
-  border-color: var(--bs-secondary-border-subtle) !important;
-}
-
-.border-success-subtle {
-  border-color: var(--bs-success-border-subtle) !important;
-}
-
-.border-info-subtle {
-  border-color: var(--bs-info-border-subtle) !important;
-}
-
-.border-warning-subtle {
-  border-color: var(--bs-warning-border-subtle) !important;
-}
-
-.border-danger-subtle {
-  border-color: var(--bs-danger-border-subtle) !important;
-}
-
-.border-light-subtle {
-  border-color: var(--bs-light-border-subtle) !important;
-}
-
-.border-dark-subtle {
-  border-color: var(--bs-dark-border-subtle) !important;
-}
-
-.border-1 {
-  border-width: 1px !important;
-}
-
-.border-2 {
-  border-width: 2px !important;
-}
-
-.border-3 {
-  border-width: 3px !important;
-}
-
-.border-4 {
-  border-width: 4px !important;
-}
-
-.border-5 {
-  border-width: 5px !important;
-}
-
-.border-opacity-10 {
-  --bs-border-opacity: 0.1;
-}
-
-.border-opacity-25 {
-  --bs-border-opacity: 0.25;
-}
-
-.border-opacity-50 {
-  --bs-border-opacity: 0.5;
-}
-
-.border-opacity-75 {
-  --bs-border-opacity: 0.75;
-}
-
-.border-opacity-100 {
-  --bs-border-opacity: 1;
-}
-
-.w-25 {
-  width: 25% !important;
-}
-
-.w-50 {
-  width: 50% !important;
-}
-
-.w-75 {
-  width: 75% !important;
-}
-
-.w-100 {
-  width: 100% !important;
-}
-
-.w-auto {
-  width: auto !important;
-}
-
-.mw-100 {
-  max-width: 100% !important;
-}
-
-.vw-100 {
-  width: 100vw !important;
-}
-
-.min-vw-100 {
-  min-width: 100vw !important;
-}
-
-.h-25 {
-  height: 25% !important;
-}
-
-.h-50 {
-  height: 50% !important;
-}
-
-.h-75 {
-  height: 75% !important;
-}
-
-.h-100 {
-  height: 100% !important;
-}
-
-.h-auto {
-  height: auto !important;
-}
-
-.mh-100 {
-  max-height: 100% !important;
-}
-
-.vh-100 {
-  height: 100vh !important;
-}
-
-.min-vh-100 {
-  min-height: 100vh !important;
-}
-
-.flex-fill {
-  flex: 1 1 auto !important;
-}
-
-.flex-row {
-  flex-direction: row !important;
-}
-
-.flex-column {
-  flex-direction: column !important;
-}
-
-.flex-row-reverse {
-  flex-direction: row-reverse !important;
-}
-
-.flex-column-reverse {
-  flex-direction: column-reverse !important;
-}
-
-.flex-grow-0 {
-  flex-grow: 0 !important;
-}
-
-.flex-grow-1 {
-  flex-grow: 1 !important;
-}
-
-.flex-shrink-0 {
-  flex-shrink: 0 !important;
-}
-
-.flex-shrink-1 {
-  flex-shrink: 1 !important;
-}
-
-.flex-wrap {
-  flex-wrap: wrap !important;
-}
-
-.flex-nowrap {
-  flex-wrap: nowrap !important;
-}
-
-.flex-wrap-reverse {
-  flex-wrap: wrap-reverse !important;
-}
-
-.justify-content-start {
-  justify-content: flex-start !important;
-}
-
-.justify-content-end {
-  justify-content: flex-end !important;
-}
-
-.justify-content-center {
-  justify-content: center !important;
-}
-
-.justify-content-between {
-  justify-content: space-between !important;
-}
-
-.justify-content-around {
-  justify-content: space-around !important;
-}
-
-.justify-content-evenly {
-  justify-content: space-evenly !important;
-}
-
-.align-items-start {
-  align-items: flex-start !important;
-}
-
-.align-items-end {
-  align-items: flex-end !important;
-}
-
-.align-items-center {
-  align-items: center !important;
-}
-
-.align-items-baseline {
-  align-items: baseline !important;
-}
-
-.align-items-stretch {
-  align-items: stretch !important;
-}
-
-.align-content-start {
-  align-content: flex-start !important;
-}
-
-.align-content-end {
-  align-content: flex-end !important;
-}
-
-.align-content-center {
-  align-content: center !important;
-}
-
-.align-content-between {
-  align-content: space-between !important;
-}
-
-.align-content-around {
-  align-content: space-around !important;
-}
-
-.align-content-stretch {
-  align-content: stretch !important;
-}
-
-.align-self-auto {
-  align-self: auto !important;
-}
-
-.align-self-start {
-  align-self: flex-start !important;
-}
-
-.align-self-end {
-  align-self: flex-end !important;
-}
-
-.align-self-center {
-  align-self: center !important;
-}
-
-.align-self-baseline {
-  align-self: baseline !important;
-}
-
-.align-self-stretch {
-  align-self: stretch !important;
-}
-
-.order-first {
-  order: -1 !important;
-}
-
-.order-0 {
-  order: 0 !important;
-}
-
-.order-1 {
-  order: 1 !important;
-}
-
-.order-2 {
-  order: 2 !important;
-}
-
-.order-3 {
-  order: 3 !important;
-}
-
-.order-4 {
-  order: 4 !important;
-}
-
-.order-5 {
-  order: 5 !important;
-}
-
-.order-last {
-  order: 6 !important;
-}
-
-.m-0 {
-  margin: 0 !important;
-}
-
-.m-1 {
-  margin: 0.25rem !important;
-}
-
-.m-2 {
-  margin: 0.5rem !important;
-}
-
-.m-3 {
-  margin: 1rem !important;
-}
-
-.m-4 {
-  margin: 1.5rem !important;
-}
-
-.m-5 {
-  margin: 3rem !important;
-}
-
-.m-auto {
-  margin: auto !important;
-}
-
-.mx-0 {
-  margin-right: 0 !important;
-  margin-left: 0 !important;
-}
-
-.mx-1 {
-  margin-right: 0.25rem !important;
-  margin-left: 0.25rem !important;
-}
-
-.mx-2 {
-  margin-right: 0.5rem !important;
-  margin-left: 0.5rem !important;
-}
-
-.mx-3 {
-  margin-right: 1rem !important;
-  margin-left: 1rem !important;
-}
-
-.mx-4 {
-  margin-right: 1.5rem !important;
-  margin-left: 1.5rem !important;
-}
-
-.mx-5 {
-  margin-right: 3rem !important;
-  margin-left: 3rem !important;
-}
-
-.mx-auto {
-  margin-right: auto !important;
-  margin-left: auto !important;
-}
-
-.my-0 {
-  margin-top: 0 !important;
-  margin-bottom: 0 !important;
-}
-
-.my-1 {
-  margin-top: 0.25rem !important;
-  margin-bottom: 0.25rem !important;
-}
-
-.my-2 {
-  margin-top: 0.5rem !important;
-  margin-bottom: 0.5rem !important;
-}
-
-.my-3 {
-  margin-top: 1rem !important;
-  margin-bottom: 1rem !important;
-}
-
-.my-4 {
-  margin-top: 1.5rem !important;
-  margin-bottom: 1.5rem !important;
-}
-
-.my-5 {
-  margin-top: 3rem !important;
-  margin-bottom: 3rem !important;
-}
-
-.my-auto {
-  margin-top: auto !important;
-  margin-bottom: auto !important;
-}
-
-.mt-0 {
-  margin-top: 0 !important;
-}
-
-.mt-1 {
-  margin-top: 0.25rem !important;
-}
-
-.mt-2 {
-  margin-top: 0.5rem !important;
-}
-
-.mt-3 {
-  margin-top: 1rem !important;
-}
-
-.mt-4 {
-  margin-top: 1.5rem !important;
-}
-
-.mt-5 {
-  margin-top: 3rem !important;
-}
-
-.mt-auto {
-  margin-top: auto !important;
-}
-
-.me-0 {
-  margin-right: 0 !important;
-}
-
-.me-1 {
-  margin-right: 0.25rem !important;
-}
-
-.me-2 {
-  margin-right: 0.5rem !important;
-}
-
-.me-3 {
-  margin-right: 1rem !important;
-}
-
-.me-4 {
-  margin-right: 1.5rem !important;
-}
-
-.me-5 {
-  margin-right: 3rem !important;
-}
-
-.me-auto {
-  margin-right: auto !important;
-}
-
-.mb-0 {
-  margin-bottom: 0 !important;
-}
-
-.mb-1 {
-  margin-bottom: 0.25rem !important;
-}
-
-.mb-2 {
-  margin-bottom: 0.5rem !important;
-}
-
-.mb-3 {
-  margin-bottom: 1rem !important;
-}
-
-.mb-4 {
-  margin-bottom: 1.5rem !important;
-}
-
-.mb-5 {
-  margin-bottom: 3rem !important;
-}
-
-.mb-auto {
-  margin-bottom: auto !important;
-}
-
-.ms-0 {
-  margin-left: 0 !important;
-}
-
-.ms-1 {
-  margin-left: 0.25rem !important;
-}
-
-.ms-2 {
-  margin-left: 0.5rem !important;
-}
-
-.ms-3 {
-  margin-left: 1rem !important;
-}
-
-.ms-4 {
-  margin-left: 1.5rem !important;
-}
-
-.ms-5 {
-  margin-left: 3rem !important;
-}
-
-.ms-auto {
-  margin-left: auto !important;
-}
-
-.p-0 {
-  padding: 0 !important;
-}
-
-.p-1 {
-  padding: 0.25rem !important;
-}
-
-.p-2 {
-  padding: 0.5rem !important;
-}
-
-.p-3 {
-  padding: 1rem !important;
-}
-
-.p-4 {
-  padding: 1.5rem !important;
-}
-
-.p-5 {
-  padding: 3rem !important;
-}
-
-.px-0 {
-  padding-right: 0 !important;
-  padding-left: 0 !important;
-}
-
-.px-1 {
-  padding-right: 0.25rem !important;
-  padding-left: 0.25rem !important;
-}
-
-.px-2 {
-  padding-right: 0.5rem !important;
-  padding-left: 0.5rem !important;
-}
-
-.px-3 {
-  padding-right: 1rem !important;
-  padding-left: 1rem !important;
-}
-
-.px-4 {
-  padding-right: 1.5rem !important;
-  padding-left: 1.5rem !important;
-}
-
-.px-5 {
-  padding-right: 3rem !important;
-  padding-left: 3rem !important;
-}
-
-.py-0 {
-  padding-top: 0 !important;
-  padding-bottom: 0 !important;
-}
-
-.py-1 {
-  padding-top: 0.25rem !important;
-  padding-bottom: 0.25rem !important;
-}
-
-.py-2 {
-  padding-top: 0.5rem !important;
-  padding-bottom: 0.5rem !important;
-}
-
-.py-3 {
-  padding-top: 1rem !important;
-  padding-bottom: 1rem !important;
-}
-
-.py-4 {
-  padding-top: 1.5rem !important;
-  padding-bottom: 1.5rem !important;
-}
-
-.py-5 {
-  padding-top: 3rem !important;
-  padding-bottom: 3rem !important;
-}
-
-.pt-0 {
-  padding-top: 0 !important;
-}
-
-.pt-1 {
-  padding-top: 0.25rem !important;
-}
-
-.pt-2 {
-  padding-top: 0.5rem !important;
-}
-
-.pt-3 {
-  padding-top: 1rem !important;
-}
-
-.pt-4 {
-  padding-top: 1.5rem !important;
-}
-
-.pt-5 {
-  padding-top: 3rem !important;
-}
-
-.pe-0 {
-  padding-right: 0 !important;
-}
-
-.pe-1 {
-  padding-right: 0.25rem !important;
-}
-
-.pe-2 {
-  padding-right: 0.5rem !important;
-}
-
-.pe-3 {
-  padding-right: 1rem !important;
-}
-
-.pe-4 {
-  padding-right: 1.5rem !important;
-}
-
-.pe-5 {
-  padding-right: 3rem !important;
-}
-
-.pb-0 {
-  padding-bottom: 0 !important;
-}
-
-.pb-1 {
-  padding-bottom: 0.25rem !important;
-}
-
-.pb-2 {
-  padding-bottom: 0.5rem !important;
-}
-
-.pb-3 {
-  padding-bottom: 1rem !important;
-}
-
-.pb-4 {
-  padding-bottom: 1.5rem !important;
-}
-
-.pb-5 {
-  padding-bottom: 3rem !important;
-}
-
-.ps-0 {
-  padding-left: 0 !important;
-}
-
-.ps-1 {
-  padding-left: 0.25rem !important;
-}
-
-.ps-2 {
-  padding-left: 0.5rem !important;
-}
-
-.ps-3 {
-  padding-left: 1rem !important;
-}
-
-.ps-4 {
-  padding-left: 1.5rem !important;
-}
-
-.ps-5 {
-  padding-left: 3rem !important;
-}
-
-.gap-0 {
-  gap: 0 !important;
-}
-
-.gap-1 {
-  gap: 0.25rem !important;
-}
-
-.gap-2 {
-  gap: 0.5rem !important;
-}
-
-.gap-3 {
-  gap: 1rem !important;
-}
-
-.gap-4 {
-  gap: 1.5rem !important;
-}
-
-.gap-5 {
-  gap: 3rem !important;
-}
-
-.row-gap-0 {
-  row-gap: 0 !important;
-}
-
-.row-gap-1 {
-  row-gap: 0.25rem !important;
-}
-
-.row-gap-2 {
-  row-gap: 0.5rem !important;
-}
-
-.row-gap-3 {
-  row-gap: 1rem !important;
-}
-
-.row-gap-4 {
-  row-gap: 1.5rem !important;
-}
-
-.row-gap-5 {
-  row-gap: 3rem !important;
-}
-
-.column-gap-0 {
-  -moz-column-gap: 0 !important;
-  column-gap: 0 !important;
-}
-
-.column-gap-1 {
-  -moz-column-gap: 0.25rem !important;
-  column-gap: 0.25rem !important;
-}
-
-.column-gap-2 {
-  -moz-column-gap: 0.5rem !important;
-  column-gap: 0.5rem !important;
-}
-
-.column-gap-3 {
-  -moz-column-gap: 1rem !important;
-  column-gap: 1rem !important;
-}
-
-.column-gap-4 {
-  -moz-column-gap: 1.5rem !important;
-  column-gap: 1.5rem !important;
-}
-
-.column-gap-5 {
-  -moz-column-gap: 3rem !important;
-  column-gap: 3rem !important;
-}
-
-.font-monospace {
-  font-family: var(--bs-font-monospace) !important;
-}
-
-.fs-1 {
-  font-size: calc(1.375rem + 1.5vw) !important;
-}
-
-.fs-2 {
-  font-size: calc(1.325rem + 0.9vw) !important;
-}
-
-.fs-3 {
-  font-size: calc(1.3rem + 0.6vw) !important;
-}
-
-.fs-4 {
-  font-size: calc(1.275rem + 0.3vw) !important;
-}
-
-.fs-5 {
-  font-size: 1.25rem !important;
-}
-
-.fs-6 {
-  font-size: 1rem !important;
-}
-
-.fst-italic {
-  font-style: italic !important;
-}
-
-.fst-normal {
-  font-style: normal !important;
-}
-
-.fw-lighter {
-  font-weight: lighter !important;
-}
-
-.fw-light {
-  font-weight: 300 !important;
-}
-
-.fw-normal {
-  font-weight: 400 !important;
-}
-
-.fw-medium {
-  font-weight: 500 !important;
-}
-
-.fw-semibold {
-  font-weight: 600 !important;
-}
-
-.fw-bold {
-  font-weight: 700 !important;
-}
-
-.fw-bolder {
-  font-weight: bolder !important;
-}
-
-.lh-1 {
-  line-height: 1 !important;
-}
-
-.lh-sm {
-  line-height: 1.25 !important;
-}
-
-.lh-base {
-  line-height: 1.5 !important;
-}
-
-.lh-lg {
-  line-height: 2 !important;
-}
-
-.text-start {
-  text-align: left !important;
-}
-
-.text-end {
-  text-align: right !important;
-}
-
-.text-center {
-  text-align: center !important;
-}
-
-.text-decoration-none {
-  text-decoration: none !important;
-}
-
-.text-decoration-underline {
-  text-decoration: underline !important;
-}
-
-.text-decoration-line-through {
-  text-decoration: line-through !important;
-}
-
-.text-lowercase {
-  text-transform: lowercase !important;
-}
-
-.text-uppercase {
-  text-transform: uppercase !important;
-}
-
-.text-capitalize {
-  text-transform: capitalize !important;
-}
-
-.text-wrap {
-  white-space: normal !important;
-}
-
-.text-nowrap {
-  white-space: nowrap !important;
-}
-
-/* rtl:begin:remove */
-.text-break {
-  word-wrap: break-word !important;
-  word-break: break-word !important;
-}
-
-/* rtl:end:remove */
-.text-primary {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-secondary {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-success {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-info {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-warning {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-danger {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-light {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-dark {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-black {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-white {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-body {
-  --bs-text-opacity: 1;
-  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;
-}
-
-.text-muted {
-  --bs-text-opacity: 1;
-  color: var(--bs-secondary-color) !important;
-}
-
-.text-black-50 {
-  --bs-text-opacity: 1;
-  color: rgba(0, 0, 0, 0.5) !important;
-}
-
-.text-white-50 {
-  --bs-text-opacity: 1;
-  color: rgba(255, 255, 255, 0.5) !important;
-}
-
-.text-body-secondary {
-  --bs-text-opacity: 1;
-  color: var(--bs-secondary-color) !important;
-}
-
-.text-body-tertiary {
-  --bs-text-opacity: 1;
-  color: var(--bs-tertiary-color) !important;
-}
-
-.text-body-emphasis {
-  --bs-text-opacity: 1;
-  color: var(--bs-emphasis-color) !important;
-}
-
-.text-reset {
-  --bs-text-opacity: 1;
-  color: inherit !important;
-}
-
-.text-opacity-25 {
-  --bs-text-opacity: 0.25;
-}
-
-.text-opacity-50 {
-  --bs-text-opacity: 0.5;
-}
-
-.text-opacity-75 {
-  --bs-text-opacity: 0.75;
-}
-
-.text-opacity-100 {
-  --bs-text-opacity: 1;
-}
-
-.text-primary-emphasis {
-  color: var(--bs-primary-text-emphasis) !important;
-}
-
-.text-secondary-emphasis {
-  color: var(--bs-secondary-text-emphasis) !important;
-}
-
-.text-success-emphasis {
-  color: var(--bs-success-text-emphasis) !important;
-}
-
-.text-info-emphasis {
-  color: var(--bs-info-text-emphasis) !important;
-}
-
-.text-warning-emphasis {
-  color: var(--bs-warning-text-emphasis) !important;
-}
-
-.text-danger-emphasis {
-  color: var(--bs-danger-text-emphasis) !important;
-}
-
-.text-light-emphasis {
-  color: var(--bs-light-text-emphasis) !important;
-}
-
-.text-dark-emphasis {
-  color: var(--bs-dark-text-emphasis) !important;
-}
-
-.link-opacity-10 {
-  --bs-link-opacity: 0.1;
-}
-
-.link-opacity-10-hover:hover {
-  --bs-link-opacity: 0.1;
-}
-
-.link-opacity-25 {
-  --bs-link-opacity: 0.25;
-}
-
-.link-opacity-25-hover:hover {
-  --bs-link-opacity: 0.25;
-}
-
-.link-opacity-50 {
-  --bs-link-opacity: 0.5;
-}
-
-.link-opacity-50-hover:hover {
-  --bs-link-opacity: 0.5;
-}
-
-.link-opacity-75 {
-  --bs-link-opacity: 0.75;
-}
-
-.link-opacity-75-hover:hover {
-  --bs-link-opacity: 0.75;
-}
-
-.link-opacity-100 {
-  --bs-link-opacity: 1;
-}
-
-.link-opacity-100-hover:hover {
-  --bs-link-opacity: 1;
-}
-
-.link-offset-1 {
-  text-underline-offset: 0.125em !important;
-}
-
-.link-offset-1-hover:hover {
-  text-underline-offset: 0.125em !important;
-}
-
-.link-offset-2 {
-  text-underline-offset: 0.25em !important;
-}
-
-.link-offset-2-hover:hover {
-  text-underline-offset: 0.25em !important;
-}
-
-.link-offset-3 {
-  text-underline-offset: 0.375em !important;
-}
-
-.link-offset-3-hover:hover {
-  text-underline-offset: 0.375em !important;
-}
-
-.link-underline-primary {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-secondary {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-success {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-info {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-warning {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-danger {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-light {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline-dark {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
-  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;
-}
-
-.link-underline {
-  --bs-link-underline-opacity: 1;
-  -webkit-text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
-  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;
-}
-
-.link-underline-opacity-0 {
-  --bs-link-underline-opacity: 0;
-}
-
-.link-underline-opacity-0-hover:hover {
-  --bs-link-underline-opacity: 0;
-}
-
-.link-underline-opacity-10 {
-  --bs-link-underline-opacity: 0.1;
-}
-
-.link-underline-opacity-10-hover:hover {
-  --bs-link-underline-opacity: 0.1;
-}
-
-.link-underline-opacity-25 {
-  --bs-link-underline-opacity: 0.25;
-}
-
-.link-underline-opacity-25-hover:hover {
-  --bs-link-underline-opacity: 0.25;
-}
-
-.link-underline-opacity-50 {
-  --bs-link-underline-opacity: 0.5;
-}
-
-.link-underline-opacity-50-hover:hover {
-  --bs-link-underline-opacity: 0.5;
-}
-
-.link-underline-opacity-75 {
-  --bs-link-underline-opacity: 0.75;
-}
-
-.link-underline-opacity-75-hover:hover {
-  --bs-link-underline-opacity: 0.75;
-}
-
-.link-underline-opacity-100 {
-  --bs-link-underline-opacity: 1;
-}
-
-.link-underline-opacity-100-hover:hover {
-  --bs-link-underline-opacity: 1;
-}
-
-.bg-primary {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-secondary {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-success {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-info {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-warning {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-danger {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-light {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-dark {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-black {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-white {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-body {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-transparent {
-  --bs-bg-opacity: 1;
-  background-color: transparent !important;
-}
-
-.bg-body-secondary {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-body-tertiary {
-  --bs-bg-opacity: 1;
-  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;
-}
-
-.bg-opacity-10 {
-  --bs-bg-opacity: 0.1;
-}
-
-.bg-opacity-25 {
-  --bs-bg-opacity: 0.25;
-}
-
-.bg-opacity-50 {
-  --bs-bg-opacity: 0.5;
-}
-
-.bg-opacity-75 {
-  --bs-bg-opacity: 0.75;
-}
-
-.bg-opacity-100 {
-  --bs-bg-opacity: 1;
-}
-
-.bg-primary-subtle {
-  background-color: var(--bs-primary-bg-subtle) !important;
-}
-
-.bg-secondary-subtle {
-  background-color: var(--bs-secondary-bg-subtle) !important;
-}
-
-.bg-success-subtle {
-  background-color: var(--bs-success-bg-subtle) !important;
-}
-
-.bg-info-subtle {
-  background-color: var(--bs-info-bg-subtle) !important;
-}
-
-.bg-warning-subtle {
-  background-color: var(--bs-warning-bg-subtle) !important;
-}
-
-.bg-danger-subtle {
-  background-color: var(--bs-danger-bg-subtle) !important;
-}
-
-.bg-light-subtle {
-  background-color: var(--bs-light-bg-subtle) !important;
-}
-
-.bg-dark-subtle {
-  background-color: var(--bs-dark-bg-subtle) !important;
-}
-
-.bg-gradient {
-  background-image: var(--bs-gradient) !important;
-}
-
-.user-select-all {
-  -webkit-user-select: all !important;
-  -moz-user-select: all !important;
-  user-select: all !important;
-}
-
-.user-select-auto {
-  -webkit-user-select: auto !important;
-  -moz-user-select: auto !important;
-  user-select: auto !important;
-}
-
-.user-select-none {
-  -webkit-user-select: none !important;
-  -moz-user-select: none !important;
-  user-select: none !important;
-}
-
-.pe-none {
-  pointer-events: none !important;
-}
-
-.pe-auto {
-  pointer-events: auto !important;
-}
-
-.rounded {
-  border-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-0 {
-  border-radius: 0 !important;
-}
-
-.rounded-1 {
-  border-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-2 {
-  border-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-3 {
-  border-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-4 {
-  border-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-5 {
-  border-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-circle {
-  border-radius: 50% !important;
-}
-
-.rounded-pill {
-  border-radius: var(--bs-border-radius-pill) !important;
-}
-
-.rounded-top {
-  border-top-left-radius: var(--bs-border-radius) !important;
-  border-top-right-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-top-0 {
-  border-top-left-radius: 0 !important;
-  border-top-right-radius: 0 !important;
-}
-
-.rounded-top-1 {
-  border-top-left-radius: var(--bs-border-radius-sm) !important;
-  border-top-right-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-top-2 {
-  border-top-left-radius: var(--bs-border-radius) !important;
-  border-top-right-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-top-3 {
-  border-top-left-radius: var(--bs-border-radius-lg) !important;
-  border-top-right-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-top-4 {
-  border-top-left-radius: var(--bs-border-radius-xl) !important;
-  border-top-right-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-top-5 {
-  border-top-left-radius: var(--bs-border-radius-xxl) !important;
-  border-top-right-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-top-circle {
-  border-top-left-radius: 50% !important;
-  border-top-right-radius: 50% !important;
-}
-
-.rounded-top-pill {
-  border-top-left-radius: var(--bs-border-radius-pill) !important;
-  border-top-right-radius: var(--bs-border-radius-pill) !important;
-}
-
-.rounded-end {
-  border-top-right-radius: var(--bs-border-radius) !important;
-  border-bottom-right-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-end-0 {
-  border-top-right-radius: 0 !important;
-  border-bottom-right-radius: 0 !important;
-}
-
-.rounded-end-1 {
-  border-top-right-radius: var(--bs-border-radius-sm) !important;
-  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-end-2 {
-  border-top-right-radius: var(--bs-border-radius) !important;
-  border-bottom-right-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-end-3 {
-  border-top-right-radius: var(--bs-border-radius-lg) !important;
-  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-end-4 {
-  border-top-right-radius: var(--bs-border-radius-xl) !important;
-  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-end-5 {
-  border-top-right-radius: var(--bs-border-radius-xxl) !important;
-  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-end-circle {
-  border-top-right-radius: 50% !important;
-  border-bottom-right-radius: 50% !important;
-}
-
-.rounded-end-pill {
-  border-top-right-radius: var(--bs-border-radius-pill) !important;
-  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
-}
-
-.rounded-bottom {
-  border-bottom-right-radius: var(--bs-border-radius) !important;
-  border-bottom-left-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-bottom-0 {
-  border-bottom-right-radius: 0 !important;
-  border-bottom-left-radius: 0 !important;
-}
-
-.rounded-bottom-1 {
-  border-bottom-right-radius: var(--bs-border-radius-sm) !important;
-  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-bottom-2 {
-  border-bottom-right-radius: var(--bs-border-radius) !important;
-  border-bottom-left-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-bottom-3 {
-  border-bottom-right-radius: var(--bs-border-radius-lg) !important;
-  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-bottom-4 {
-  border-bottom-right-radius: var(--bs-border-radius-xl) !important;
-  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-bottom-5 {
-  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;
-  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-bottom-circle {
-  border-bottom-right-radius: 50% !important;
-  border-bottom-left-radius: 50% !important;
-}
-
-.rounded-bottom-pill {
-  border-bottom-right-radius: var(--bs-border-radius-pill) !important;
-  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
-}
-
-.rounded-start {
-  border-bottom-left-radius: var(--bs-border-radius) !important;
-  border-top-left-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-start-0 {
-  border-bottom-left-radius: 0 !important;
-  border-top-left-radius: 0 !important;
-}
-
-.rounded-start-1 {
-  border-bottom-left-radius: var(--bs-border-radius-sm) !important;
-  border-top-left-radius: var(--bs-border-radius-sm) !important;
-}
-
-.rounded-start-2 {
-  border-bottom-left-radius: var(--bs-border-radius) !important;
-  border-top-left-radius: var(--bs-border-radius) !important;
-}
-
-.rounded-start-3 {
-  border-bottom-left-radius: var(--bs-border-radius-lg) !important;
-  border-top-left-radius: var(--bs-border-radius-lg) !important;
-}
-
-.rounded-start-4 {
-  border-bottom-left-radius: var(--bs-border-radius-xl) !important;
-  border-top-left-radius: var(--bs-border-radius-xl) !important;
-}
-
-.rounded-start-5 {
-  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;
-  border-top-left-radius: var(--bs-border-radius-xxl) !important;
-}
-
-.rounded-start-circle {
-  border-bottom-left-radius: 50% !important;
-  border-top-left-radius: 50% !important;
-}
-
-.rounded-start-pill {
-  border-bottom-left-radius: var(--bs-border-radius-pill) !important;
-  border-top-left-radius: var(--bs-border-radius-pill) !important;
-}
-
-.visible {
-  visibility: visible !important;
-}
-
-.invisible {
-  visibility: hidden !important;
-}
-
-.z-n1 {
-  z-index: -1 !important;
-}
-
-.z-0 {
-  z-index: 0 !important;
-}
-
-.z-1 {
-  z-index: 1 !important;
-}
-
-.z-2 {
-  z-index: 2 !important;
-}
-
-.z-3 {
-  z-index: 3 !important;
-}
-
-@media (min-width: 576px) {
-  .float-sm-start {
-    float: left !important;
-  }
-  .float-sm-end {
-    float: right !important;
-  }
-  .float-sm-none {
-    float: none !important;
-  }
-  .object-fit-sm-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
-  }
-  .object-fit-sm-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
-  }
-  .object-fit-sm-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
-  }
-  .object-fit-sm-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
-  }
-  .object-fit-sm-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
-  }
-  .d-sm-inline {
-    display: inline !important;
-  }
-  .d-sm-inline-block {
-    display: inline-block !important;
-  }
-  .d-sm-block {
-    display: block !important;
-  }
-  .d-sm-grid {
-    display: grid !important;
-  }
-  .d-sm-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-sm-table {
-    display: table !important;
-  }
-  .d-sm-table-row {
-    display: table-row !important;
-  }
-  .d-sm-table-cell {
-    display: table-cell !important;
-  }
-  .d-sm-flex {
-    display: flex !important;
-  }
-  .d-sm-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-sm-none {
-    display: none !important;
-  }
-  .flex-sm-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-sm-row {
-    flex-direction: row !important;
-  }
-  .flex-sm-column {
-    flex-direction: column !important;
-  }
-  .flex-sm-row-reverse {
-    flex-direction: row-reverse !important;
-  }
-  .flex-sm-column-reverse {
-    flex-direction: column-reverse !important;
-  }
-  .flex-sm-grow-0 {
-    flex-grow: 0 !important;
-  }
-  .flex-sm-grow-1 {
-    flex-grow: 1 !important;
-  }
-  .flex-sm-shrink-0 {
-    flex-shrink: 0 !important;
-  }
-  .flex-sm-shrink-1 {
-    flex-shrink: 1 !important;
-  }
-  .flex-sm-wrap {
-    flex-wrap: wrap !important;
-  }
-  .flex-sm-nowrap {
-    flex-wrap: nowrap !important;
-  }
-  .flex-sm-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
-  }
-  .justify-content-sm-start {
-    justify-content: flex-start !important;
-  }
-  .justify-content-sm-end {
-    justify-content: flex-end !important;
-  }
-  .justify-content-sm-center {
-    justify-content: center !important;
-  }
-  .justify-content-sm-between {
-    justify-content: space-between !important;
-  }
-  .justify-content-sm-around {
-    justify-content: space-around !important;
-  }
-  .justify-content-sm-evenly {
-    justify-content: space-evenly !important;
-  }
-  .align-items-sm-start {
-    align-items: flex-start !important;
-  }
-  .align-items-sm-end {
-    align-items: flex-end !important;
-  }
-  .align-items-sm-center {
-    align-items: center !important;
-  }
-  .align-items-sm-baseline {
-    align-items: baseline !important;
-  }
-  .align-items-sm-stretch {
-    align-items: stretch !important;
-  }
-  .align-content-sm-start {
-    align-content: flex-start !important;
-  }
-  .align-content-sm-end {
-    align-content: flex-end !important;
-  }
-  .align-content-sm-center {
-    align-content: center !important;
-  }
-  .align-content-sm-between {
-    align-content: space-between !important;
-  }
-  .align-content-sm-around {
-    align-content: space-around !important;
-  }
-  .align-content-sm-stretch {
-    align-content: stretch !important;
-  }
-  .align-self-sm-auto {
-    align-self: auto !important;
-  }
-  .align-self-sm-start {
-    align-self: flex-start !important;
-  }
-  .align-self-sm-end {
-    align-self: flex-end !important;
-  }
-  .align-self-sm-center {
-    align-self: center !important;
-  }
-  .align-self-sm-baseline {
-    align-self: baseline !important;
-  }
-  .align-self-sm-stretch {
-    align-self: stretch !important;
-  }
-  .order-sm-first {
-    order: -1 !important;
-  }
-  .order-sm-0 {
-    order: 0 !important;
-  }
-  .order-sm-1 {
-    order: 1 !important;
-  }
-  .order-sm-2 {
-    order: 2 !important;
-  }
-  .order-sm-3 {
-    order: 3 !important;
-  }
-  .order-sm-4 {
-    order: 4 !important;
-  }
-  .order-sm-5 {
-    order: 5 !important;
-  }
-  .order-sm-last {
-    order: 6 !important;
-  }
-  .m-sm-0 {
-    margin: 0 !important;
-  }
-  .m-sm-1 {
-    margin: 0.25rem !important;
-  }
-  .m-sm-2 {
-    margin: 0.5rem !important;
-  }
-  .m-sm-3 {
-    margin: 1rem !important;
-  }
-  .m-sm-4 {
-    margin: 1.5rem !important;
-  }
-  .m-sm-5 {
-    margin: 3rem !important;
-  }
-  .m-sm-auto {
-    margin: auto !important;
-  }
-  .mx-sm-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
-  }
-  .mx-sm-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
-  }
-  .mx-sm-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
-  }
-  .mx-sm-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
-  }
-  .mx-sm-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
-  }
-  .mx-sm-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
-  }
-  .mx-sm-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
-  }
-  .my-sm-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
-  }
-  .my-sm-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
-  }
-  .my-sm-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
-  }
-  .my-sm-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
-  }
-  .my-sm-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
-  }
-  .my-sm-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
-  }
-  .my-sm-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
-  }
-  .mt-sm-0 {
-    margin-top: 0 !important;
-  }
-  .mt-sm-1 {
-    margin-top: 0.25rem !important;
-  }
-  .mt-sm-2 {
-    margin-top: 0.5rem !important;
-  }
-  .mt-sm-3 {
-    margin-top: 1rem !important;
-  }
-  .mt-sm-4 {
-    margin-top: 1.5rem !important;
-  }
-  .mt-sm-5 {
-    margin-top: 3rem !important;
-  }
-  .mt-sm-auto {
-    margin-top: auto !important;
-  }
-  .me-sm-0 {
-    margin-right: 0 !important;
-  }
-  .me-sm-1 {
-    margin-right: 0.25rem !important;
-  }
-  .me-sm-2 {
-    margin-right: 0.5rem !important;
-  }
-  .me-sm-3 {
-    margin-right: 1rem !important;
-  }
-  .me-sm-4 {
-    margin-right: 1.5rem !important;
-  }
-  .me-sm-5 {
-    margin-right: 3rem !important;
-  }
-  .me-sm-auto {
-    margin-right: auto !important;
-  }
-  .mb-sm-0 {
-    margin-bottom: 0 !important;
-  }
-  .mb-sm-1 {
-    margin-bottom: 0.25rem !important;
-  }
-  .mb-sm-2 {
-    margin-bottom: 0.5rem !important;
-  }
-  .mb-sm-3 {
-    margin-bottom: 1rem !important;
-  }
-  .mb-sm-4 {
-    margin-bottom: 1.5rem !important;
-  }
-  .mb-sm-5 {
-    margin-bottom: 3rem !important;
-  }
-  .mb-sm-auto {
-    margin-bottom: auto !important;
-  }
-  .ms-sm-0 {
-    margin-left: 0 !important;
-  }
-  .ms-sm-1 {
-    margin-left: 0.25rem !important;
-  }
-  .ms-sm-2 {
-    margin-left: 0.5rem !important;
-  }
-  .ms-sm-3 {
-    margin-left: 1rem !important;
-  }
-  .ms-sm-4 {
-    margin-left: 1.5rem !important;
-  }
-  .ms-sm-5 {
-    margin-left: 3rem !important;
-  }
-  .ms-sm-auto {
-    margin-left: auto !important;
-  }
-  .p-sm-0 {
-    padding: 0 !important;
-  }
-  .p-sm-1 {
-    padding: 0.25rem !important;
-  }
-  .p-sm-2 {
-    padding: 0.5rem !important;
-  }
-  .p-sm-3 {
-    padding: 1rem !important;
-  }
-  .p-sm-4 {
-    padding: 1.5rem !important;
-  }
-  .p-sm-5 {
-    padding: 3rem !important;
-  }
-  .px-sm-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
-  }
-  .px-sm-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
-  }
-  .px-sm-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
-  }
-  .px-sm-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
-  }
-  .px-sm-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
-  }
-  .px-sm-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
-  }
-  .py-sm-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
-  .py-sm-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
-  }
-  .py-sm-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
-  }
-  .py-sm-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
-  }
-  .py-sm-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
-  }
-  .py-sm-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
-  }
-  .pt-sm-0 {
-    padding-top: 0 !important;
-  }
-  .pt-sm-1 {
-    padding-top: 0.25rem !important;
-  }
-  .pt-sm-2 {
-    padding-top: 0.5rem !important;
-  }
-  .pt-sm-3 {
-    padding-top: 1rem !important;
-  }
-  .pt-sm-4 {
-    padding-top: 1.5rem !important;
-  }
-  .pt-sm-5 {
-    padding-top: 3rem !important;
-  }
-  .pe-sm-0 {
-    padding-right: 0 !important;
-  }
-  .pe-sm-1 {
-    padding-right: 0.25rem !important;
-  }
-  .pe-sm-2 {
-    padding-right: 0.5rem !important;
-  }
-  .pe-sm-3 {
-    padding-right: 1rem !important;
-  }
-  .pe-sm-4 {
-    padding-right: 1.5rem !important;
-  }
-  .pe-sm-5 {
-    padding-right: 3rem !important;
-  }
-  .pb-sm-0 {
-    padding-bottom: 0 !important;
-  }
-  .pb-sm-1 {
-    padding-bottom: 0.25rem !important;
-  }
-  .pb-sm-2 {
-    padding-bottom: 0.5rem !important;
-  }
-  .pb-sm-3 {
-    padding-bottom: 1rem !important;
-  }
-  .pb-sm-4 {
-    padding-bottom: 1.5rem !important;
-  }
-  .pb-sm-5 {
-    padding-bottom: 3rem !important;
-  }
-  .ps-sm-0 {
-    padding-left: 0 !important;
-  }
-  .ps-sm-1 {
-    padding-left: 0.25rem !important;
-  }
-  .ps-sm-2 {
-    padding-left: 0.5rem !important;
-  }
-  .ps-sm-3 {
-    padding-left: 1rem !important;
-  }
-  .ps-sm-4 {
-    padding-left: 1.5rem !important;
-  }
-  .ps-sm-5 {
-    padding-left: 3rem !important;
-  }
-  .gap-sm-0 {
-    gap: 0 !important;
-  }
-  .gap-sm-1 {
-    gap: 0.25rem !important;
-  }
-  .gap-sm-2 {
-    gap: 0.5rem !important;
-  }
-  .gap-sm-3 {
-    gap: 1rem !important;
-  }
-  .gap-sm-4 {
-    gap: 1.5rem !important;
-  }
-  .gap-sm-5 {
-    gap: 3rem !important;
-  }
-  .row-gap-sm-0 {
-    row-gap: 0 !important;
-  }
-  .row-gap-sm-1 {
-    row-gap: 0.25rem !important;
-  }
-  .row-gap-sm-2 {
-    row-gap: 0.5rem !important;
-  }
-  .row-gap-sm-3 {
-    row-gap: 1rem !important;
-  }
-  .row-gap-sm-4 {
-    row-gap: 1.5rem !important;
-  }
-  .row-gap-sm-5 {
-    row-gap: 3rem !important;
-  }
-  .column-gap-sm-0 {
-    -moz-column-gap: 0 !important;
-    column-gap: 0 !important;
-  }
-  .column-gap-sm-1 {
-    -moz-column-gap: 0.25rem !important;
-    column-gap: 0.25rem !important;
-  }
-  .column-gap-sm-2 {
-    -moz-column-gap: 0.5rem !important;
-    column-gap: 0.5rem !important;
-  }
-  .column-gap-sm-3 {
-    -moz-column-gap: 1rem !important;
-    column-gap: 1rem !important;
-  }
-  .column-gap-sm-4 {
-    -moz-column-gap: 1.5rem !important;
-    column-gap: 1.5rem !important;
-  }
-  .column-gap-sm-5 {
-    -moz-column-gap: 3rem !important;
-    column-gap: 3rem !important;
-  }
-  .text-sm-start {
-    text-align: left !important;
-  }
-  .text-sm-end {
-    text-align: right !important;
-  }
-  .text-sm-center {
-    text-align: center !important;
-  }
-}
-@media (min-width: 768px) {
-  .float-md-start {
-    float: left !important;
-  }
-  .float-md-end {
-    float: right !important;
-  }
-  .float-md-none {
-    float: none !important;
-  }
-  .object-fit-md-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
-  }
-  .object-fit-md-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
-  }
-  .object-fit-md-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
-  }
-  .object-fit-md-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
-  }
-  .object-fit-md-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
-  }
-  .d-md-inline {
-    display: inline !important;
-  }
-  .d-md-inline-block {
-    display: inline-block !important;
-  }
-  .d-md-block {
-    display: block !important;
-  }
-  .d-md-grid {
-    display: grid !important;
-  }
-  .d-md-inline-grid {
-    display: inline-grid !important;
-  }
-  .d-md-table {
-    display: table !important;
-  }
-  .d-md-table-row {
-    display: table-row !important;
-  }
-  .d-md-table-cell {
-    display: table-cell !important;
-  }
-  .d-md-flex {
-    display: flex !important;
-  }
-  .d-md-inline-flex {
-    display: inline-flex !important;
-  }
-  .d-md-none {
-    display: none !important;
-  }
-  .flex-md-fill {
-    flex: 1 1 auto !important;
-  }
-  .flex-md-row {
-    flex-direction: row !important;
-  }
-  .flex-md-column {
-    flex-direction: column !important;
-  }
-  .flex-md-row-reverse {
-    flex-direction: row-reverse !important;
-  }
-  .flex-md-column-reverse {
-    flex-direction: column-reverse !important;
-  }
-  .flex-md-grow-0 {
-    flex-grow: 0 !important;
-  }
-  .flex-md-grow-1 {
-    flex-grow: 1 !important;
-  }
-  .flex-md-shrink-0 {
-    flex-shrink: 0 !important;
-  }
-  .flex-md-shrink-1 {
-    flex-shrink: 1 !important;
-  }
-  .flex-md-wrap {
-    flex-wrap: wrap !important;
-  }
-  .flex-md-nowrap {
-    flex-wrap: nowrap !important;
-  }
-  .flex-md-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
-  }
-  .justify-content-md-start {
-    justify-content: flex-start !important;
-  }
-  .justify-content-md-end {
-    justify-content: flex-end !important;
-  }
-  .justify-content-md-center {
-    justify-content: center !important;
-  }
-  .justify-content-md-between {
-    justify-content: space-between !important;
-  }
-  .justify-content-md-around {
-    justify-content: space-around !important;
-  }
-  .justify-content-md-evenly {
-    justify-content: space-evenly !important;
-  }
-  .align-items-md-start {
-    align-items: flex-start !important;
-  }
-  .align-items-md-end {
-    align-items: flex-end !important;
-  }
-  .align-items-md-center {
-    align-items: center !important;
-  }
-  .align-items-md-baseline {
-    align-items: baseline !important;
-  }
-  .align-items-md-stretch {
-    align-items: stretch !important;
-  }
-  .align-content-md-start {
-    align-content: flex-start !important;
-  }
-  .align-content-md-end {
-    align-content: flex-end !important;
-  }
-  .align-content-md-center {
-    align-content: center !important;
-  }
-  .align-content-md-between {
-    align-content: space-between !important;
-  }
-  .align-content-md-around {
-    align-content: space-around !important;
-  }
-  .align-content-md-stretch {
-    align-content: stretch !important;
-  }
-  .align-self-md-auto {
-    align-self: auto !important;
-  }
-  .align-self-md-start {
-    align-self: flex-start !important;
-  }
-  .align-self-md-end {
-    align-self: flex-end !important;
-  }
-  .align-self-md-center {
-    align-self: center !important;
-  }
-  .align-self-md-baseline {
-    align-self: baseline !important;
-  }
-  .align-self-md-stretch {
-    align-self: stretch !important;
-  }
-  .order-md-first {
-    order: -1 !important;
-  }
-  .order-md-0 {
-    order: 0 !important;
-  }
-  .order-md-1 {
-    order: 1 !important;
-  }
-  .order-md-2 {
-    order: 2 !important;
-  }
-  .order-md-3 {
-    order: 3 !important;
-  }
-  .order-md-4 {
-    order: 4 !important;
-  }
-  .order-md-5 {
-    order: 5 !important;
-  }
-  .order-md-last {
-    order: 6 !important;
-  }
-  .m-md-0 {
-    margin: 0 !important;
+  .dropdown-menu {
+    --bs-dropdown-zindex: 1000;
+    --bs-dropdown-min-width: 10rem;
+    --bs-dropdown-padding-x: 0;
+    --bs-dropdown-padding-y: 0.5rem;
+    --bs-dropdown-spacer: 0.125rem;
+    --bs-dropdown-font-size: 1rem;
+    --bs-dropdown-color: var(--bs-body-color);
+    --bs-dropdown-bg: var(--bs-body-bg);
+    --bs-dropdown-border-color: var(--bs-border-color-translucent);
+    --bs-dropdown-border-radius: var(--bs-border-radius);
+    --bs-dropdown-border-width: var(--bs-border-width);
+    --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));
+    --bs-dropdown-divider-bg: var(--bs-border-color-translucent);
+    --bs-dropdown-divider-margin-y: 0.5rem;
+    --bs-dropdown-box-shadow: var(--bs-box-shadow);
+    --bs-dropdown-link-color: var(--bs-body-color);
+    --bs-dropdown-link-hover-color: var(--bs-body-color);
+    --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);
+    --bs-dropdown-link-active-color: #fff;
+    --bs-dropdown-link-active-bg: #6f42c1;
+    --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);
+    --bs-dropdown-item-padding-x: 1rem;
+    --bs-dropdown-item-padding-y: 0.25rem;
+    --bs-dropdown-header-color: #6c757d;
+    --bs-dropdown-header-padding-x: 1rem;
+    --bs-dropdown-header-padding-y: 0.5rem;
+    position: absolute;
+    z-index: var(--bs-dropdown-zindex);
+    display: none;
+    min-width: var(--bs-dropdown-min-width);
+    padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);
+    margin: 0;
+    font-size: var(--bs-dropdown-font-size);
+    color: var(--bs-dropdown-color);
+    text-align: left;
+    list-style: none;
+    background-color: var(--bs-dropdown-bg);
+    background-clip: padding-box;
+    border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);
+    border-radius: var(--bs-dropdown-border-radius);
   }
-  .m-md-1 {
-    margin: 0.25rem !important;
+  .dropdown-menu[data-bs-popper] {
+    top: 100%;
+    left: 0;
+    margin-top: var(--bs-dropdown-spacer);
   }
-  .m-md-2 {
-    margin: 0.5rem !important;
+  .dropdown-menu-start {
+    --bs-position: start;
   }
-  .m-md-3 {
-    margin: 1rem !important;
+  .dropdown-menu-start[data-bs-popper] {
+    right: auto;
+    left: 0;
   }
-  .m-md-4 {
-    margin: 1.5rem !important;
+  .dropdown-menu-end {
+    --bs-position: end;
   }
-  .m-md-5 {
-    margin: 3rem !important;
+  .dropdown-menu-end[data-bs-popper] {
+    right: 0;
+    left: auto;
   }
-  .m-md-auto {
-    margin: auto !important;
+  @media (min-width: 576px) {
+    .dropdown-menu-sm-start {
+      --bs-position: start;
+    }
+    .dropdown-menu-sm-start[data-bs-popper] {
+      right: auto;
+      left: 0;
+    }
+    .dropdown-menu-sm-end {
+      --bs-position: end;
+    }
+    .dropdown-menu-sm-end[data-bs-popper] {
+      right: 0;
+      left: auto;
+    }
+  }
+  @media (min-width: 768px) {
+    .dropdown-menu-md-start {
+      --bs-position: start;
+    }
+    .dropdown-menu-md-start[data-bs-popper] {
+      right: auto;
+      left: 0;
+    }
+    .dropdown-menu-md-end {
+      --bs-position: end;
+    }
+    .dropdown-menu-md-end[data-bs-popper] {
+      right: 0;
+      left: auto;
+    }
+  }
+  @media (min-width: 992px) {
+    .dropdown-menu-lg-start {
+      --bs-position: start;
+    }
+    .dropdown-menu-lg-start[data-bs-popper] {
+      right: auto;
+      left: 0;
+    }
+    .dropdown-menu-lg-end {
+      --bs-position: end;
+    }
+    .dropdown-menu-lg-end[data-bs-popper] {
+      right: 0;
+      left: auto;
+    }
+  }
+  @media (min-width: 1200px) {
+    .dropdown-menu-xl-start {
+      --bs-position: start;
+    }
+    .dropdown-menu-xl-start[data-bs-popper] {
+      right: auto;
+      left: 0;
+    }
+    .dropdown-menu-xl-end {
+      --bs-position: end;
+    }
+    .dropdown-menu-xl-end[data-bs-popper] {
+      right: 0;
+      left: auto;
+    }
+  }
+  @media (min-width: 1400px) {
+    .dropdown-menu-xxl-start {
+      --bs-position: start;
+    }
+    .dropdown-menu-xxl-start[data-bs-popper] {
+      right: auto;
+      left: 0;
+    }
+    .dropdown-menu-xxl-end {
+      --bs-position: end;
+    }
+    .dropdown-menu-xxl-end[data-bs-popper] {
+      right: 0;
+      left: auto;
+    }
+  }
+  .dropup .dropdown-menu[data-bs-popper] {
+    top: auto;
+    bottom: 100%;
+    margin-top: 0;
+    margin-bottom: var(--bs-dropdown-spacer);
+  }
+  .dropup .dropdown-toggle::after {
+    display: inline-block;
+    margin-left: 0.255em;
+    vertical-align: 0.255em;
+    content: "";
+    border-top: 0;
+    border-right: 0.3em solid transparent;
+    border-bottom: 0.3em solid;
+    border-left: 0.3em solid transparent;
+  }
+  .dropup .dropdown-toggle:empty::after {
+    margin-left: 0;
   }
-  .mx-md-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
+  .dropend .dropdown-menu[data-bs-popper] {
+    top: 0;
+    right: auto;
+    left: 100%;
+    margin-top: 0;
+    margin-left: var(--bs-dropdown-spacer);
+  }
+  .dropend .dropdown-toggle::after {
+    display: inline-block;
+    margin-left: 0.255em;
+    vertical-align: 0.255em;
+    content: "";
+    border-top: 0.3em solid transparent;
+    border-right: 0;
+    border-bottom: 0.3em solid transparent;
+    border-left: 0.3em solid;
+  }
+  .dropend .dropdown-toggle:empty::after {
+    margin-left: 0;
   }
-  .mx-md-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
+  .dropend .dropdown-toggle::after {
+    vertical-align: 0;
   }
-  .mx-md-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
+  .dropstart .dropdown-menu[data-bs-popper] {
+    top: 0;
+    right: 100%;
+    left: auto;
+    margin-top: 0;
+    margin-right: var(--bs-dropdown-spacer);
   }
-  .mx-md-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
+  .dropstart .dropdown-toggle::after {
+    display: inline-block;
+    margin-left: 0.255em;
+    vertical-align: 0.255em;
+    content: "";
   }
-  .mx-md-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
+  .dropstart .dropdown-toggle::after {
+    display: none;
   }
-  .mx-md-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
+  .dropstart .dropdown-toggle::before {
+    display: inline-block;
+    margin-right: 0.255em;
+    vertical-align: 0.255em;
+    content: "";
+    border-top: 0.3em solid transparent;
+    border-right: 0.3em solid;
+    border-bottom: 0.3em solid transparent;
   }
-  .mx-md-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
+  .dropstart .dropdown-toggle:empty::after {
+    margin-left: 0;
   }
-  .my-md-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
+  .dropstart .dropdown-toggle::before {
+    vertical-align: 0;
   }
-  .my-md-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
+  .dropdown-divider {
+    height: 0;
+    margin: var(--bs-dropdown-divider-margin-y) 0;
+    overflow: hidden;
+    border-top: 1px solid var(--bs-dropdown-divider-bg);
+    opacity: 1;
   }
-  .my-md-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
+  .dropdown-item {
+    display: block;
+    width: 100%;
+    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+    clear: both;
+    font-weight: 400;
+    color: var(--bs-dropdown-link-color);
+    text-align: inherit;
+    text-decoration: none;
+    white-space: nowrap;
+    background-color: transparent;
+    border: 0;
+    border-radius: var(--bs-dropdown-item-border-radius, 0);
   }
-  .my-md-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
+  .dropdown-item:hover, .dropdown-item:focus {
+    color: var(--bs-dropdown-link-hover-color);
+    background-color: var(--bs-dropdown-link-hover-bg);
   }
-  .my-md-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
+  .dropdown-item.active, .dropdown-item:active {
+    color: var(--bs-dropdown-link-active-color);
+    text-decoration: none;
+    background-color: var(--bs-dropdown-link-active-bg);
   }
-  .my-md-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
+  .dropdown-item.disabled, .dropdown-item:disabled {
+    color: var(--bs-dropdown-link-disabled-color);
+    pointer-events: none;
+    background-color: transparent;
   }
-  .my-md-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
+  .dropdown-menu.show {
+    display: block;
   }
-  .mt-md-0 {
-    margin-top: 0 !important;
+  .dropdown-header {
+    display: block;
+    padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);
+    margin-bottom: 0;
+    font-size: 0.875rem;
+    color: var(--bs-dropdown-header-color);
+    white-space: nowrap;
+  }
+  .dropdown-item-text {
+    display: block;
+    padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);
+    color: var(--bs-dropdown-link-color);
+  }
+  .dropdown-menu-dark {
+    --bs-dropdown-color: #dee2e6;
+    --bs-dropdown-bg: #343a40;
+    --bs-dropdown-border-color: var(--bs-border-color-translucent);
+    --bs-dropdown-box-shadow: ;
+    --bs-dropdown-link-color: #dee2e6;
+    --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: #fff;
+    --bs-dropdown-link-active-bg: #6f42c1;
+    --bs-dropdown-link-disabled-color: #adb5bd;
+    --bs-dropdown-header-color: #adb5bd;
+  }
+}
+@layer components {
+  .list-group {
+    --bs-list-group-color: var(--bs-body-color);
+    --bs-list-group-bg: var(--bs-body-bg);
+    --bs-list-group-border-color: var(--bs-border-color);
+    --bs-list-group-border-width: var(--bs-border-width);
+    --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-emphasis-color);
+    --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);
+    --bs-list-group-action-active-color: var(--bs-body-color);
+    --bs-list-group-action-active-bg: var(--bs-secondary-bg);
+    --bs-list-group-disabled-color: var(--bs-secondary-color);
+    --bs-list-group-disabled-bg: var(--bs-body-bg);
+    --bs-list-group-active-color: #fff;
+    --bs-list-group-active-bg: #6f42c1;
+    --bs-list-group-active-border-color: #6f42c1;
+    display: flex;
+    flex-direction: column;
+    padding-left: 0;
+    margin-bottom: 0;
+    border-radius: var(--bs-list-group-border-radius);
+  }
+  .list-group-numbered {
+    list-style-type: none;
+    counter-reset: section;
+  }
+  .list-group-numbered > .list-group-item::before {
+    content: counters(section, ".") ". ";
+    counter-increment: section;
+  }
+  .list-group-item {
+    position: relative;
+    display: block;
+    padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);
+    color: var(--bs-list-group-color);
+    text-decoration: none;
+    background-color: var(--bs-list-group-bg);
+    border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);
+  }
+  .list-group-item:first-child {
+    border-top-left-radius: inherit;
+    border-top-right-radius: inherit;
+  }
+  .list-group-item:last-child {
+    border-bottom-right-radius: inherit;
+    border-bottom-left-radius: inherit;
+  }
+  .list-group-item.disabled, .list-group-item:disabled {
+    color: var(--bs-list-group-disabled-color);
+    pointer-events: none;
+    background-color: var(--bs-list-group-disabled-bg);
+  }
+  .list-group-item.active {
+    z-index: 2;
+    color: var(--bs-list-group-active-color);
+    background-color: var(--bs-list-group-active-bg);
+    border-color: var(--bs-list-group-active-border-color);
+  }
+  .list-group-item + .list-group-item {
+    border-top-width: 0;
+  }
+  .list-group-item + .list-group-item.active {
+    margin-top: calc(-1 * var(--bs-list-group-border-width));
+    border-top-width: var(--bs-list-group-border-width);
   }
-  .mt-md-1 {
-    margin-top: 0.25rem !important;
+  .list-group-item-action {
+    width: 100%;
+    color: var(--bs-list-group-action-color);
+    text-align: inherit;
   }
-  .mt-md-2 {
-    margin-top: 0.5rem !important;
+  .list-group-item-action:not(.active):hover, .list-group-item-action:not(.active):focus {
+    z-index: 1;
+    color: var(--bs-list-group-action-hover-color);
+    text-decoration: none;
+    background-color: var(--bs-list-group-action-hover-bg);
   }
-  .mt-md-3 {
-    margin-top: 1rem !important;
+  .list-group-item-action:not(.active):active {
+    color: var(--bs-list-group-action-active-color);
+    background-color: var(--bs-list-group-action-active-bg);
   }
-  .mt-md-4 {
-    margin-top: 1.5rem !important;
+  .list-group-horizontal {
+    flex-direction: row;
   }
-  .mt-md-5 {
-    margin-top: 3rem !important;
+  .list-group-horizontal > .list-group-item:first-child:not(:last-child) {
+    border-bottom-left-radius: var(--bs-list-group-border-radius);
+    border-top-right-radius: 0;
   }
-  .mt-md-auto {
-    margin-top: auto !important;
+  .list-group-horizontal > .list-group-item:last-child:not(:first-child) {
+    border-top-right-radius: var(--bs-list-group-border-radius);
+    border-bottom-left-radius: 0;
   }
-  .me-md-0 {
-    margin-right: 0 !important;
+  .list-group-horizontal > .list-group-item.active {
+    margin-top: 0;
   }
-  .me-md-1 {
-    margin-right: 0.25rem !important;
+  .list-group-horizontal > .list-group-item + .list-group-item {
+    border-top-width: var(--bs-list-group-border-width);
+    border-left-width: 0;
   }
-  .me-md-2 {
-    margin-right: 0.5rem !important;
+  .list-group-horizontal > .list-group-item + .list-group-item.active {
+    margin-left: calc(-1 * var(--bs-list-group-border-width));
+    border-left-width: var(--bs-list-group-border-width);
   }
-  .me-md-3 {
-    margin-right: 1rem !important;
+  @media (min-width: 576px) {
+    .list-group-horizontal-sm {
+      flex-direction: row;
+    }
+    .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {
+      border-bottom-left-radius: var(--bs-list-group-border-radius);
+      border-top-right-radius: 0;
+    }
+    .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {
+      border-top-right-radius: var(--bs-list-group-border-radius);
+      border-bottom-left-radius: 0;
+    }
+    .list-group-horizontal-sm > .list-group-item.active {
+      margin-top: 0;
+    }
+    .list-group-horizontal-sm > .list-group-item + .list-group-item {
+      border-top-width: var(--bs-list-group-border-width);
+      border-left-width: 0;
+    }
+    .list-group-horizontal-sm > .list-group-item + .list-group-item.active {
+      margin-left: calc(-1 * var(--bs-list-group-border-width));
+      border-left-width: var(--bs-list-group-border-width);
+    }
+  }
+  @media (min-width: 768px) {
+    .list-group-horizontal-md {
+      flex-direction: row;
+    }
+    .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {
+      border-bottom-left-radius: var(--bs-list-group-border-radius);
+      border-top-right-radius: 0;
+    }
+    .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {
+      border-top-right-radius: var(--bs-list-group-border-radius);
+      border-bottom-left-radius: 0;
+    }
+    .list-group-horizontal-md > .list-group-item.active {
+      margin-top: 0;
+    }
+    .list-group-horizontal-md > .list-group-item + .list-group-item {
+      border-top-width: var(--bs-list-group-border-width);
+      border-left-width: 0;
+    }
+    .list-group-horizontal-md > .list-group-item + .list-group-item.active {
+      margin-left: calc(-1 * var(--bs-list-group-border-width));
+      border-left-width: var(--bs-list-group-border-width);
+    }
+  }
+  @media (min-width: 992px) {
+    .list-group-horizontal-lg {
+      flex-direction: row;
+    }
+    .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {
+      border-bottom-left-radius: var(--bs-list-group-border-radius);
+      border-top-right-radius: 0;
+    }
+    .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {
+      border-top-right-radius: var(--bs-list-group-border-radius);
+      border-bottom-left-radius: 0;
+    }
+    .list-group-horizontal-lg > .list-group-item.active {
+      margin-top: 0;
+    }
+    .list-group-horizontal-lg > .list-group-item + .list-group-item {
+      border-top-width: var(--bs-list-group-border-width);
+      border-left-width: 0;
+    }
+    .list-group-horizontal-lg > .list-group-item + .list-group-item.active {
+      margin-left: calc(-1 * var(--bs-list-group-border-width));
+      border-left-width: var(--bs-list-group-border-width);
+    }
+  }
+  @media (min-width: 1200px) {
+    .list-group-horizontal-xl {
+      flex-direction: row;
+    }
+    .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {
+      border-bottom-left-radius: var(--bs-list-group-border-radius);
+      border-top-right-radius: 0;
+    }
+    .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {
+      border-top-right-radius: var(--bs-list-group-border-radius);
+      border-bottom-left-radius: 0;
+    }
+    .list-group-horizontal-xl > .list-group-item.active {
+      margin-top: 0;
+    }
+    .list-group-horizontal-xl > .list-group-item + .list-group-item {
+      border-top-width: var(--bs-list-group-border-width);
+      border-left-width: 0;
+    }
+    .list-group-horizontal-xl > .list-group-item + .list-group-item.active {
+      margin-left: calc(-1 * var(--bs-list-group-border-width));
+      border-left-width: var(--bs-list-group-border-width);
+    }
+  }
+  @media (min-width: 1400px) {
+    .list-group-horizontal-xxl {
+      flex-direction: row;
+    }
+    .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {
+      border-bottom-left-radius: var(--bs-list-group-border-radius);
+      border-top-right-radius: 0;
+    }
+    .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {
+      border-top-right-radius: var(--bs-list-group-border-radius);
+      border-bottom-left-radius: 0;
+    }
+    .list-group-horizontal-xxl > .list-group-item.active {
+      margin-top: 0;
+    }
+    .list-group-horizontal-xxl > .list-group-item + .list-group-item {
+      border-top-width: var(--bs-list-group-border-width);
+      border-left-width: 0;
+    }
+    .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {
+      margin-left: calc(-1 * var(--bs-list-group-border-width));
+      border-left-width: var(--bs-list-group-border-width);
+    }
+  }
+  .list-group-flush {
+    border-radius: 0;
   }
-  .me-md-4 {
-    margin-right: 1.5rem !important;
+  .list-group-flush > .list-group-item {
+    border-width: 0 0 var(--bs-list-group-border-width);
+  }
+  .list-group-flush > .list-group-item:last-child {
+    border-bottom-width: 0;
+  }
+  .list-group-item-primary {
+    --bs-list-group-color: var(--bs-primary-text-emphasis);
+    --bs-list-group-bg: var(--bs-primary-bg-subtle);
+    --bs-list-group-border-color: var(--bs-primary-border-subtle);
+    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+    --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);
+    --bs-list-group-action-active-color: var(--bs-emphasis-color);
+    --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);
+    --bs-list-group-active-color: var(--bs-primary-bg-subtle);
+    --bs-list-group-active-bg: var(--bs-primary-text-emphasis);
+    --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);
+  }
+  .list-group-item-secondary {
+    --bs-list-group-color: var(--bs-secondary-text-emphasis);
+    --bs-list-group-bg: var(--bs-secondary-bg-subtle);
+    --bs-list-group-border-color: var(--bs-secondary-border-subtle);
+    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+    --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);
+    --bs-list-group-action-active-color: var(--bs-emphasis-color);
+    --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);
+    --bs-list-group-active-color: var(--bs-secondary-bg-subtle);
+    --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);
+    --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);
+  }
+  .list-group-item-success {
+    --bs-list-group-color: var(--bs-success-text-emphasis);
+    --bs-list-group-bg: var(--bs-success-bg-subtle);
+    --bs-list-group-border-color: var(--bs-success-border-subtle);
+    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+    --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);
+    --bs-list-group-action-active-color: var(--bs-emphasis-color);
+    --bs-list-group-action-active-bg: var(--bs-success-border-subtle);
+    --bs-list-group-active-color: var(--bs-success-bg-subtle);
+    --bs-list-group-active-bg: var(--bs-success-text-emphasis);
+    --bs-list-group-active-border-color: var(--bs-success-text-emphasis);
+  }
+  .list-group-item-info {
+    --bs-list-group-color: var(--bs-info-text-emphasis);
+    --bs-list-group-bg: var(--bs-info-bg-subtle);
+    --bs-list-group-border-color: var(--bs-info-border-subtle);
+    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+    --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);
+    --bs-list-group-action-active-color: var(--bs-emphasis-color);
+    --bs-list-group-action-active-bg: var(--bs-info-border-subtle);
+    --bs-list-group-active-color: var(--bs-info-bg-subtle);
+    --bs-list-group-active-bg: var(--bs-info-text-emphasis);
+    --bs-list-group-active-border-color: var(--bs-info-text-emphasis);
+  }
+  .list-group-item-warning {
+    --bs-list-group-color: var(--bs-warning-text-emphasis);
+    --bs-list-group-bg: var(--bs-warning-bg-subtle);
+    --bs-list-group-border-color: var(--bs-warning-border-subtle);
+    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+    --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);
+    --bs-list-group-action-active-color: var(--bs-emphasis-color);
+    --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);
+    --bs-list-group-active-color: var(--bs-warning-bg-subtle);
+    --bs-list-group-active-bg: var(--bs-warning-text-emphasis);
+    --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);
+  }
+  .list-group-item-danger {
+    --bs-list-group-color: var(--bs-danger-text-emphasis);
+    --bs-list-group-bg: var(--bs-danger-bg-subtle);
+    --bs-list-group-border-color: var(--bs-danger-border-subtle);
+    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+    --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);
+    --bs-list-group-action-active-color: var(--bs-emphasis-color);
+    --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);
+    --bs-list-group-active-color: var(--bs-danger-bg-subtle);
+    --bs-list-group-active-bg: var(--bs-danger-text-emphasis);
+    --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);
+  }
+  .list-group-item-light {
+    --bs-list-group-color: var(--bs-light-text-emphasis);
+    --bs-list-group-bg: var(--bs-light-bg-subtle);
+    --bs-list-group-border-color: var(--bs-light-border-subtle);
+    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+    --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);
+    --bs-list-group-action-active-color: var(--bs-emphasis-color);
+    --bs-list-group-action-active-bg: var(--bs-light-border-subtle);
+    --bs-list-group-active-color: var(--bs-light-bg-subtle);
+    --bs-list-group-active-bg: var(--bs-light-text-emphasis);
+    --bs-list-group-active-border-color: var(--bs-light-text-emphasis);
+  }
+  .list-group-item-dark {
+    --bs-list-group-color: var(--bs-dark-text-emphasis);
+    --bs-list-group-bg: var(--bs-dark-bg-subtle);
+    --bs-list-group-border-color: var(--bs-dark-border-subtle);
+    --bs-list-group-action-hover-color: var(--bs-emphasis-color);
+    --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);
+    --bs-list-group-action-active-color: var(--bs-emphasis-color);
+    --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);
+    --bs-list-group-active-color: var(--bs-dark-bg-subtle);
+    --bs-list-group-active-bg: var(--bs-dark-text-emphasis);
+    --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);
+  }
+}
+@layer components {
+  .modal {
+    --bs-modal-zindex: 1055;
+    --bs-modal-width: 500px;
+    --bs-modal-padding: 1rem;
+    --bs-modal-margin: 0.5rem;
+    --bs-modal-color: var(--bs-body-color);
+    --bs-modal-bg: var(--bs-body-bg);
+    --bs-modal-border-color: var(--bs-border-color-translucent);
+    --bs-modal-border-width: var(--bs-border-width);
+    --bs-modal-border-radius: var(--bs-border-radius-lg);
+    --bs-modal-box-shadow: var(--bs-box-shadow-sm);
+    --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
+    --bs-modal-header-padding-x: 1rem;
+    --bs-modal-header-padding-y: 1rem;
+    --bs-modal-header-padding: 1rem 1rem;
+    --bs-modal-header-border-color: var(--bs-border-color);
+    --bs-modal-header-border-width: var(--bs-border-width);
+    --bs-modal-title-line-height: 1.5;
+    --bs-modal-footer-gap: 0.5rem;
+    --bs-modal-footer-bg: ;
+    --bs-modal-footer-border-color: var(--bs-border-color);
+    --bs-modal-footer-border-width: var(--bs-border-width);
+    position: fixed;
+    top: 0;
+    left: 0;
+    z-index: var(--bs-modal-zindex);
+    display: none;
+    width: 100%;
+    height: 100%;
+    overflow-x: hidden;
+    overflow-y: auto;
+    outline: 0;
   }
-  .me-md-5 {
-    margin-right: 3rem !important;
+  .modal-dialog {
+    position: relative;
+    width: auto;
+    margin: var(--bs-modal-margin);
+    pointer-events: none;
   }
-  .me-md-auto {
-    margin-right: auto !important;
+  .modal.fade .modal-dialog {
+    transform: translate(0, -50px);
+    transition: transform 0.3s ease-out;
   }
-  .mb-md-0 {
-    margin-bottom: 0 !important;
+  @media (prefers-reduced-motion: reduce) {
+    .modal.fade .modal-dialog {
+      transition: none;
+    }
   }
-  .mb-md-1 {
-    margin-bottom: 0.25rem !important;
+  .modal.show .modal-dialog {
+    transform: none;
   }
-  .mb-md-2 {
-    margin-bottom: 0.5rem !important;
+  .modal.modal-static .modal-dialog {
+    transform: scale(1.02);
   }
-  .mb-md-3 {
-    margin-bottom: 1rem !important;
+  .modal-dialog-scrollable {
+    height: calc(100% - var(--bs-modal-margin) * 2);
   }
-  .mb-md-4 {
-    margin-bottom: 1.5rem !important;
+  .modal-dialog-scrollable .modal-content {
+    max-height: 100%;
+    overflow: hidden;
   }
-  .mb-md-5 {
-    margin-bottom: 3rem !important;
+  .modal-dialog-scrollable .modal-body {
+    overflow-y: auto;
   }
-  .mb-md-auto {
-    margin-bottom: auto !important;
+  .modal-dialog-centered {
+    display: flex;
+    align-items: center;
+    min-height: calc(100% - var(--bs-modal-margin) * 2);
   }
-  .ms-md-0 {
-    margin-left: 0 !important;
+  .modal-content {
+    position: relative;
+    display: flex;
+    flex-direction: column;
+    width: 100%;
+    color: var(--bs-modal-color);
+    pointer-events: auto;
+    background-color: var(--bs-modal-bg);
+    background-clip: padding-box;
+    border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);
+    border-radius: var(--bs-modal-border-radius);
+    outline: 0;
   }
-  .ms-md-1 {
-    margin-left: 0.25rem !important;
+  .modal-backdrop {
+    --bs-backdrop-zindex: 1050;
+    --bs-backdrop-bg: #000;
+    --bs-backdrop-opacity: 0.5;
+    position: fixed;
+    top: 0;
+    left: 0;
+    z-index: var(--bs-backdrop-zindex);
+    width: 100vw;
+    height: 100vh;
+    background-color: var(--bs-backdrop-bg);
   }
-  .ms-md-2 {
-    margin-left: 0.5rem !important;
+  .modal-backdrop.fade {
+    opacity: 0;
   }
-  .ms-md-3 {
-    margin-left: 1rem !important;
+  .modal-backdrop.show {
+    opacity: var(--bs-backdrop-opacity);
   }
-  .ms-md-4 {
-    margin-left: 1.5rem !important;
+  .modal-header {
+    display: flex;
+    flex-shrink: 0;
+    align-items: center;
+    padding: var(--bs-modal-header-padding);
+    border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);
+    border-top-left-radius: var(--bs-modal-inner-border-radius);
+    border-top-right-radius: var(--bs-modal-inner-border-radius);
+  }
+  .modal-header .btn-close {
+    padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
+    margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));
+    margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));
+    margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));
+    margin-left: auto;
   }
-  .ms-md-5 {
-    margin-left: 3rem !important;
+  .modal-title {
+    margin-bottom: 0;
+    line-height: var(--bs-modal-title-line-height);
   }
-  .ms-md-auto {
-    margin-left: auto !important;
+  .modal-body {
+    position: relative;
+    flex: 1 1 auto;
+    padding: var(--bs-modal-padding);
   }
-  .p-md-0 {
-    padding: 0 !important;
+  .modal-footer {
+    display: flex;
+    flex-shrink: 0;
+    flex-wrap: wrap;
+    align-items: center;
+    justify-content: flex-end;
+    padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);
+    background-color: var(--bs-modal-footer-bg);
+    border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);
+    border-bottom-right-radius: var(--bs-modal-inner-border-radius);
+    border-bottom-left-radius: var(--bs-modal-inner-border-radius);
+  }
+  .modal-footer > * {
+    margin: calc(var(--bs-modal-footer-gap) * 0.5);
+  }
+  @media (min-width: 576px) {
+    .modal {
+      --bs-modal-margin: 1.75rem;
+      --bs-modal-box-shadow: var(--bs-box-shadow);
+    }
+    .modal-dialog {
+      max-width: var(--bs-modal-width);
+      margin-right: auto;
+      margin-left: auto;
+    }
+    .modal-sm {
+      --bs-modal-width: 300px;
+    }
+  }
+  @media (min-width: 992px) {
+    .modal-lg,
+    .modal-xl {
+      --bs-modal-width: 800px;
+    }
+  }
+  @media (min-width: 1200px) {
+    .modal-xl {
+      --bs-modal-width: 1140px;
+    }
+  }
+  .modal-fullscreen {
+    width: 100vw;
+    max-width: none;
+    height: 100%;
+    margin: 0;
   }
-  .p-md-1 {
-    padding: 0.25rem !important;
+  .modal-fullscreen .modal-content {
+    height: 100%;
+    border: 0;
+    border-radius: 0;
   }
-  .p-md-2 {
-    padding: 0.5rem !important;
+  .modal-fullscreen .modal-header,
+  .modal-fullscreen .modal-footer {
+    border-radius: 0;
   }
-  .p-md-3 {
-    padding: 1rem !important;
+  .modal-fullscreen .modal-body {
+    overflow-y: auto;
   }
-  .p-md-4 {
-    padding: 1.5rem !important;
+  @media (max-width: 575.98px) {
+    .modal-fullscreen-sm-down {
+      width: 100vw;
+      max-width: none;
+      height: 100%;
+      margin: 0;
+    }
+    .modal-fullscreen-sm-down .modal-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .modal-fullscreen-sm-down .modal-header,
+    .modal-fullscreen-sm-down .modal-footer {
+      border-radius: 0;
+    }
+    .modal-fullscreen-sm-down .modal-body {
+      overflow-y: auto;
+    }
+  }
+  @media (max-width: 767.98px) {
+    .modal-fullscreen-md-down {
+      width: 100vw;
+      max-width: none;
+      height: 100%;
+      margin: 0;
+    }
+    .modal-fullscreen-md-down .modal-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .modal-fullscreen-md-down .modal-header,
+    .modal-fullscreen-md-down .modal-footer {
+      border-radius: 0;
+    }
+    .modal-fullscreen-md-down .modal-body {
+      overflow-y: auto;
+    }
+  }
+  @media (max-width: 991.98px) {
+    .modal-fullscreen-lg-down {
+      width: 100vw;
+      max-width: none;
+      height: 100%;
+      margin: 0;
+    }
+    .modal-fullscreen-lg-down .modal-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .modal-fullscreen-lg-down .modal-header,
+    .modal-fullscreen-lg-down .modal-footer {
+      border-radius: 0;
+    }
+    .modal-fullscreen-lg-down .modal-body {
+      overflow-y: auto;
+    }
+  }
+  @media (max-width: 1199.98px) {
+    .modal-fullscreen-xl-down {
+      width: 100vw;
+      max-width: none;
+      height: 100%;
+      margin: 0;
+    }
+    .modal-fullscreen-xl-down .modal-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .modal-fullscreen-xl-down .modal-header,
+    .modal-fullscreen-xl-down .modal-footer {
+      border-radius: 0;
+    }
+    .modal-fullscreen-xl-down .modal-body {
+      overflow-y: auto;
+    }
+  }
+  @media (max-width: 1399.98px) {
+    .modal-fullscreen-xxl-down {
+      width: 100vw;
+      max-width: none;
+      height: 100%;
+      margin: 0;
+    }
+    .modal-fullscreen-xxl-down .modal-content {
+      height: 100%;
+      border: 0;
+      border-radius: 0;
+    }
+    .modal-fullscreen-xxl-down .modal-header,
+    .modal-fullscreen-xxl-down .modal-footer {
+      border-radius: 0;
+    }
+    .modal-fullscreen-xxl-down .modal-body {
+      overflow-y: auto;
+    }
+  }
+}
+@layer components {
+  .nav {
+    --bs-nav-link-padding-x: 1rem;
+    --bs-nav-link-padding-y: 0.5rem;
+    --bs-nav-link-font-weight: ;
+    --bs-nav-link-color: var(--bs-link-color);
+    --bs-nav-link-hover-color: var(--bs-link-hover-color);
+    --bs-nav-link-disabled-color: var(--bs-secondary-color);
+    display: flex;
+    flex-wrap: wrap;
+    padding-left: 0;
+    margin-bottom: 0;
+    list-style: none;
   }
-  .p-md-5 {
-    padding: 3rem !important;
+  .nav-link {
+    display: block;
+    padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);
+    font-size: var(--bs-nav-link-font-size);
+    font-weight: var(--bs-nav-link-font-weight);
+    color: var(--bs-nav-link-color);
+    text-decoration: none;
+    background: none;
+    border: 0;
+    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;
   }
-  .px-md-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
+  @media (prefers-reduced-motion: reduce) {
+    .nav-link {
+      transition: none;
+    }
   }
-  .px-md-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
+  .nav-link:hover, .nav-link:focus {
+    color: var(--bs-nav-link-hover-color);
   }
-  .px-md-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
+  .nav-link:focus-visible {
+    outline: 0;
+    box-shadow: 0 0 0 0.25rem rgba(111, 66, 193, 0.25);
+  }
+  .nav-link.disabled, .nav-link:disabled {
+    color: var(--bs-nav-link-disabled-color);
+    pointer-events: none;
+    cursor: default;
+  }
+  .nav-tabs {
+    --bs-nav-tabs-border-width: var(--bs-border-width);
+    --bs-nav-tabs-border-color: var(--bs-border-color);
+    --bs-nav-tabs-border-radius: var(--bs-border-radius);
+    --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);
+    --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);
+    --bs-nav-tabs-link-active-bg: var(--bs-body-bg);
+    --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);
+    border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);
+  }
+  .nav-tabs .nav-link {
+    margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));
+    border: var(--bs-nav-tabs-border-width) solid transparent;
+    border-top-left-radius: var(--bs-nav-tabs-border-radius);
+    border-top-right-radius: var(--bs-nav-tabs-border-radius);
+  }
+  .nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {
+    isolation: isolate;
+    border-color: var(--bs-nav-tabs-link-hover-border-color);
+  }
+  .nav-tabs .nav-link.active,
+  .nav-tabs .nav-item.show .nav-link {
+    color: var(--bs-nav-tabs-link-active-color);
+    background-color: var(--bs-nav-tabs-link-active-bg);
+    border-color: var(--bs-nav-tabs-link-active-border-color);
+  }
+  .nav-tabs .dropdown-menu {
+    margin-top: calc(-1 * var(--bs-nav-tabs-border-width));
+    border-top-left-radius: 0;
+    border-top-right-radius: 0;
   }
-  .px-md-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
+  .nav-pills {
+    --bs-nav-pills-border-radius: var(--bs-border-radius);
+    --bs-nav-pills-link-active-color: #fff;
+    --bs-nav-pills-link-active-bg: #6f42c1;
+  }
+  .nav-pills .nav-link {
+    border-radius: var(--bs-nav-pills-border-radius);
+  }
+  .nav-pills .nav-link.active,
+  .nav-pills .show > .nav-link {
+    color: var(--bs-nav-pills-link-active-color);
+    background-color: var(--bs-nav-pills-link-active-bg);
+  }
+  .nav-underline {
+    --bs-nav-underline-gap: 1rem;
+    --bs-nav-underline-border-width: 0.125rem;
+    --bs-nav-underline-link-active-color: var(--bs-emphasis-color);
+    gap: var(--bs-nav-underline-gap);
+  }
+  .nav-underline .nav-link {
+    padding-right: 0;
+    padding-left: 0;
+    border-bottom: var(--bs-nav-underline-border-width) solid transparent;
+  }
+  .nav-underline .nav-link:hover, .nav-underline .nav-link:focus {
+    border-bottom-color: currentcolor;
+  }
+  .nav-underline .nav-link.active,
+  .nav-underline .show > .nav-link {
+    font-weight: 700;
+    color: var(--bs-nav-underline-link-active-color);
+    border-bottom-color: currentcolor;
+  }
+  .nav-fill > .nav-link,
+  .nav-fill .nav-item {
+    flex: 1 1 auto;
+    text-align: center;
+  }
+  .nav-justified > .nav-link,
+  .nav-justified .nav-item {
+    flex-grow: 1;
+    flex-basis: 0;
+    text-align: center;
   }
-  .px-md-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
+  .nav-fill .nav-item .nav-link,
+  .nav-justified .nav-item .nav-link {
+    width: 100%;
   }
-  .px-md-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
+  .tab-content > .tab-pane {
+    display: none;
   }
-  .py-md-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
+  .tab-content > .active {
+    display: block;
+  }
+}
+@layer components {
+  .navbar {
+    --bs-navbar-padding-x: 0;
+    --bs-navbar-padding-y: 0.5rem;
+    --bs-navbar-color: color-mix(in srgb, var(--bs-fg-black) 65%, transparent);
+    --bs-navbar-hover-color: color-mix(in srgb, var(--bs-fg-black) 80%, transparent);
+    --bs-navbar-disabled-color: color-mix(in srgb, var(--bs-fg-black) 30%, transparent);
+    --bs-navbar-active-color: color-mix(in srgb, var(--bs-fg-black) 100%, transparent);
+    --bs-navbar-brand-padding-y: 0.75rem;
+    --bs-navbar-brand-margin-end: 1rem;
+    --bs-navbar-brand-font-size: 1.25rem;
+    --bs-navbar-brand-color: color-mix(in srgb, var(--bs-fg-black) 100%, transparent);
+    --bs-navbar-brand-hover-color: color-mix(in srgb, var(--bs-fg-black) 100%, transparent);
+    --bs-navbar-nav-link-padding-x: 0.5rem;
+    --bs-navbar-toggler-padding-y: 0.25rem;
+    --bs-navbar-toggler-padding-x: 0.75rem;
+    --bs-navbar-toggler-font-size: 1.25rem;
+    --bs-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(33, 37, 41, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>"));
+    --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);
+    --bs-navbar-toggler-border-radius: var(--bs-border-radius);
+    --bs-navbar-toggler-focus-width: 0.25rem;
+    --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;
+    position: relative;
+    display: flex;
+    flex-wrap: wrap;
+    align-items: center;
+    justify-content: space-between;
+    padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);
   }
-  .py-md-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
+  .navbar > .container-xxl, .navbar > .container-xl, .navbar > .container-lg, .navbar > .container-md, .navbar > .container-sm, .navbar > .container,
+  .navbar > .container-fluid {
+    display: flex;
+    flex-wrap: inherit;
+    align-items: center;
+    justify-content: space-between;
+  }
+  .navbar-brand {
+    padding-top: var(--bs-navbar-brand-padding-y);
+    padding-bottom: var(--bs-navbar-brand-padding-y);
+    margin-right: var(--bs-navbar-brand-margin-end);
+    font-size: var(--bs-navbar-brand-font-size);
+    color: var(--bs-navbar-brand-color);
+    text-decoration: none;
+    white-space: nowrap;
+  }
+  .navbar-brand:hover, .navbar-brand:focus {
+    color: var(--bs-navbar-brand-hover-color);
+  }
+  .navbar-nav {
+    --bs-nav-link-padding-x: 0;
+    --bs-nav-link-color: var(--bs-navbar-color);
+    --bs-nav-link-hover-color: var(--bs-navbar-hover-color);
+    --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);
+    display: flex;
+    flex-direction: column;
+    padding-left: 0;
+    margin-bottom: 0;
+    list-style: none;
   }
-  .py-md-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
+  .navbar-nav .nav-link.active, .navbar-nav .nav-link.show {
+    color: var(--bs-navbar-active-color);
   }
-  .py-md-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
+  .navbar-nav .dropdown-menu {
+    position: static;
   }
-  .py-md-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
+  .navbar-text {
+    color: var(--bs-navbar-color);
   }
-  .py-md-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
+  .navbar-text a,
+  .navbar-text a:hover,
+  .navbar-text a:focus {
+    color: var(--bs-navbar-active-color);
   }
-  .pt-md-0 {
-    padding-top: 0 !important;
+  .navbar-collapse {
+    flex-grow: 1;
+    flex-basis: 100%;
+    align-items: center;
   }
-  .pt-md-1 {
-    padding-top: 0.25rem !important;
+  .navbar-toggler {
+    padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);
+    font-size: var(--bs-navbar-toggler-font-size);
+    line-height: 1;
+    color: var(--bs-navbar-color);
+    background-color: transparent;
+    border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);
+    border-radius: var(--bs-navbar-toggler-border-radius);
+    transition: var(--bs-navbar-toggler-transition);
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .navbar-toggler {
+      transition: none;
+    }
+  }
+  .navbar-toggler:hover {
+    text-decoration: none;
+  }
+  .navbar-toggler:focus {
+    text-decoration: none;
+    outline: 0;
+    box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);
+  }
+  .navbar-toggler-icon {
+    display: inline-block;
+    width: 1.5em;
+    height: 1.5em;
+    vertical-align: middle;
+    background-image: var(--bs-navbar-toggler-icon-bg);
+    background-repeat: no-repeat;
+    background-position: center;
+    background-size: 100%;
+  }
+  .navbar-nav-scroll {
+    max-height: var(--bs-scroll-height, 75vh);
+    overflow-y: auto;
   }
-  .pt-md-2 {
-    padding-top: 0.5rem !important;
+  @media (min-width: 576px) {
+    .navbar-expand-sm {
+      flex-wrap: nowrap;
+      justify-content: flex-start;
+    }
+    .navbar-expand-sm .navbar-nav {
+      flex-direction: row;
+    }
+    .navbar-expand-sm .navbar-nav .dropdown-menu {
+      position: absolute;
+    }
+    .navbar-expand-sm .navbar-nav .nav-link {
+      padding-right: var(--bs-navbar-nav-link-padding-x);
+      padding-left: var(--bs-navbar-nav-link-padding-x);
+    }
+    .navbar-expand-sm .navbar-nav-scroll {
+      overflow: visible;
+    }
+    .navbar-expand-sm .navbar-collapse {
+      display: flex !important;
+      flex-basis: auto;
+    }
+    .navbar-expand-sm .navbar-toggler {
+      display: none;
+    }
+    .navbar-expand-sm .offcanvas {
+      position: static;
+      z-index: auto;
+      flex-grow: 1;
+      width: auto !important;
+      height: auto !important;
+      visibility: visible !important;
+      background-color: transparent !important;
+      border: 0 !important;
+      transform: none !important;
+      transition: none;
+    }
+    .navbar-expand-sm .offcanvas .offcanvas-header {
+      display: none;
+    }
+    .navbar-expand-sm .offcanvas .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+    }
+  }
+  @media (min-width: 768px) {
+    .navbar-expand-md {
+      flex-wrap: nowrap;
+      justify-content: flex-start;
+    }
+    .navbar-expand-md .navbar-nav {
+      flex-direction: row;
+    }
+    .navbar-expand-md .navbar-nav .dropdown-menu {
+      position: absolute;
+    }
+    .navbar-expand-md .navbar-nav .nav-link {
+      padding-right: var(--bs-navbar-nav-link-padding-x);
+      padding-left: var(--bs-navbar-nav-link-padding-x);
+    }
+    .navbar-expand-md .navbar-nav-scroll {
+      overflow: visible;
+    }
+    .navbar-expand-md .navbar-collapse {
+      display: flex !important;
+      flex-basis: auto;
+    }
+    .navbar-expand-md .navbar-toggler {
+      display: none;
+    }
+    .navbar-expand-md .offcanvas {
+      position: static;
+      z-index: auto;
+      flex-grow: 1;
+      width: auto !important;
+      height: auto !important;
+      visibility: visible !important;
+      background-color: transparent !important;
+      border: 0 !important;
+      transform: none !important;
+      transition: none;
+    }
+    .navbar-expand-md .offcanvas .offcanvas-header {
+      display: none;
+    }
+    .navbar-expand-md .offcanvas .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+    }
+  }
+  @media (min-width: 992px) {
+    .navbar-expand-lg {
+      flex-wrap: nowrap;
+      justify-content: flex-start;
+    }
+    .navbar-expand-lg .navbar-nav {
+      flex-direction: row;
+    }
+    .navbar-expand-lg .navbar-nav .dropdown-menu {
+      position: absolute;
+    }
+    .navbar-expand-lg .navbar-nav .nav-link {
+      padding-right: var(--bs-navbar-nav-link-padding-x);
+      padding-left: var(--bs-navbar-nav-link-padding-x);
+    }
+    .navbar-expand-lg .navbar-nav-scroll {
+      overflow: visible;
+    }
+    .navbar-expand-lg .navbar-collapse {
+      display: flex !important;
+      flex-basis: auto;
+    }
+    .navbar-expand-lg .navbar-toggler {
+      display: none;
+    }
+    .navbar-expand-lg .offcanvas {
+      position: static;
+      z-index: auto;
+      flex-grow: 1;
+      width: auto !important;
+      height: auto !important;
+      visibility: visible !important;
+      background-color: transparent !important;
+      border: 0 !important;
+      transform: none !important;
+      transition: none;
+    }
+    .navbar-expand-lg .offcanvas .offcanvas-header {
+      display: none;
+    }
+    .navbar-expand-lg .offcanvas .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+    }
+  }
+  @media (min-width: 1200px) {
+    .navbar-expand-xl {
+      flex-wrap: nowrap;
+      justify-content: flex-start;
+    }
+    .navbar-expand-xl .navbar-nav {
+      flex-direction: row;
+    }
+    .navbar-expand-xl .navbar-nav .dropdown-menu {
+      position: absolute;
+    }
+    .navbar-expand-xl .navbar-nav .nav-link {
+      padding-right: var(--bs-navbar-nav-link-padding-x);
+      padding-left: var(--bs-navbar-nav-link-padding-x);
+    }
+    .navbar-expand-xl .navbar-nav-scroll {
+      overflow: visible;
+    }
+    .navbar-expand-xl .navbar-collapse {
+      display: flex !important;
+      flex-basis: auto;
+    }
+    .navbar-expand-xl .navbar-toggler {
+      display: none;
+    }
+    .navbar-expand-xl .offcanvas {
+      position: static;
+      z-index: auto;
+      flex-grow: 1;
+      width: auto !important;
+      height: auto !important;
+      visibility: visible !important;
+      background-color: transparent !important;
+      border: 0 !important;
+      transform: none !important;
+      transition: none;
+    }
+    .navbar-expand-xl .offcanvas .offcanvas-header {
+      display: none;
+    }
+    .navbar-expand-xl .offcanvas .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+    }
+  }
+  @media (min-width: 1400px) {
+    .navbar-expand-xxl {
+      flex-wrap: nowrap;
+      justify-content: flex-start;
+    }
+    .navbar-expand-xxl .navbar-nav {
+      flex-direction: row;
+    }
+    .navbar-expand-xxl .navbar-nav .dropdown-menu {
+      position: absolute;
+    }
+    .navbar-expand-xxl .navbar-nav .nav-link {
+      padding-right: var(--bs-navbar-nav-link-padding-x);
+      padding-left: var(--bs-navbar-nav-link-padding-x);
+    }
+    .navbar-expand-xxl .navbar-nav-scroll {
+      overflow: visible;
+    }
+    .navbar-expand-xxl .navbar-collapse {
+      display: flex !important;
+      flex-basis: auto;
+    }
+    .navbar-expand-xxl .navbar-toggler {
+      display: none;
+    }
+    .navbar-expand-xxl .offcanvas {
+      position: static;
+      z-index: auto;
+      flex-grow: 1;
+      width: auto !important;
+      height: auto !important;
+      visibility: visible !important;
+      background-color: transparent !important;
+      border: 0 !important;
+      transform: none !important;
+      transition: none;
+    }
+    .navbar-expand-xxl .offcanvas .offcanvas-header {
+      display: none;
+    }
+    .navbar-expand-xxl .offcanvas .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+    }
+  }
+  .navbar-expand {
+    flex-wrap: nowrap;
+    justify-content: flex-start;
   }
-  .pt-md-3 {
-    padding-top: 1rem !important;
+  .navbar-expand .navbar-nav {
+    flex-direction: row;
   }
-  .pt-md-4 {
-    padding-top: 1.5rem !important;
+  .navbar-expand .navbar-nav .dropdown-menu {
+    position: absolute;
   }
-  .pt-md-5 {
-    padding-top: 3rem !important;
+  .navbar-expand .navbar-nav .nav-link {
+    padding-right: var(--bs-navbar-nav-link-padding-x);
+    padding-left: var(--bs-navbar-nav-link-padding-x);
   }
-  .pe-md-0 {
-    padding-right: 0 !important;
+  .navbar-expand .navbar-nav-scroll {
+    overflow: visible;
   }
-  .pe-md-1 {
-    padding-right: 0.25rem !important;
+  .navbar-expand .navbar-collapse {
+    display: flex !important;
+    flex-basis: auto;
   }
-  .pe-md-2 {
-    padding-right: 0.5rem !important;
+  .navbar-expand .navbar-toggler {
+    display: none;
   }
-  .pe-md-3 {
-    padding-right: 1rem !important;
+  .navbar-expand .offcanvas {
+    position: static;
+    z-index: auto;
+    flex-grow: 1;
+    width: auto !important;
+    height: auto !important;
+    visibility: visible !important;
+    background-color: transparent !important;
+    border: 0 !important;
+    transform: none !important;
+    transition: none;
   }
-  .pe-md-4 {
-    padding-right: 1.5rem !important;
+  .navbar-expand .offcanvas .offcanvas-header {
+    display: none;
   }
-  .pe-md-5 {
-    padding-right: 3rem !important;
+  .navbar-expand .offcanvas .offcanvas-body {
+    display: flex;
+    flex-grow: 0;
+    padding: 0;
+    overflow-y: visible;
   }
-  .pb-md-0 {
-    padding-bottom: 0 !important;
+  .navbar-dark,
+  .navbar[data-bs-theme=dark] {
+    --bs-navbar-color: rgba(255, 255, 255, 0.55);
+    --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);
+    --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);
+    --bs-navbar-active-color: #fff;
+    --bs-navbar-brand-color: #fff;
+    --bs-navbar-brand-hover-color: #fff;
+    --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);
+    --bs-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>"));
   }
-  .pb-md-1 {
-    padding-bottom: 0.25rem !important;
+  [data-bs-theme=dark] .navbar-toggler-icon {
+    --bs-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>"));
   }
-  .pb-md-2 {
-    padding-bottom: 0.5rem !important;
+}
+.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {
+  --bs-offcanvas-zindex: 1045;
+  --bs-offcanvas-width: 400px;
+  --bs-offcanvas-height: 30vh;
+  --bs-offcanvas-padding-x: 1rem;
+  --bs-offcanvas-padding-y: 1rem;
+  --bs-offcanvas-color: var(--bs-body-color);
+  --bs-offcanvas-bg: var(--bs-body-bg);
+  --bs-offcanvas-border-width: var(--bs-border-width);
+  --bs-offcanvas-border-color: var(--bs-border-color-translucent);
+  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);
+  --bs-offcanvas-transition: transform 0.3s ease-in-out;
+  --bs-offcanvas-title-line-height: 1.5;
+}
+
+@layer components {
+  @media (max-width: 575.98px) {
+    .offcanvas-sm {
+      position: fixed;
+      bottom: 0;
+      z-index: var(--bs-offcanvas-zindex);
+      display: flex;
+      flex-direction: column;
+      max-width: 100%;
+      color: var(--bs-offcanvas-color);
+      visibility: hidden;
+      background-color: var(--bs-offcanvas-bg);
+      background-clip: padding-box;
+      outline: 0;
+      transition: var(--bs-offcanvas-transition);
+    }
+  }
+  @media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {
+    .offcanvas-sm {
+      transition: none;
+    }
+  }
+  @media (max-width: 575.98px) {
+    .offcanvas-sm.offcanvas-start {
+      top: 0;
+      left: 0;
+      width: var(--bs-offcanvas-width);
+      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(-100%);
+    }
+    .offcanvas-sm.offcanvas-end {
+      top: 0;
+      right: 0;
+      width: var(--bs-offcanvas-width);
+      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(100%);
+    }
+    .offcanvas-sm.offcanvas-top {
+      top: 0;
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(-100%);
+    }
+    .offcanvas-sm.offcanvas-bottom {
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(100%);
+    }
+    .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {
+      transform: none;
+    }
+    .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {
+      visibility: visible;
+    }
+  }
+  @media (min-width: 576px) {
+    .offcanvas-sm {
+      --bs-offcanvas-height: auto;
+      --bs-offcanvas-border-width: 0;
+      background-color: transparent !important;
+    }
+    .offcanvas-sm .offcanvas-header {
+      display: none;
+    }
+    .offcanvas-sm .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+      background-color: transparent !important;
+    }
+  }
+  @media (max-width: 767.98px) {
+    .offcanvas-md {
+      position: fixed;
+      bottom: 0;
+      z-index: var(--bs-offcanvas-zindex);
+      display: flex;
+      flex-direction: column;
+      max-width: 100%;
+      color: var(--bs-offcanvas-color);
+      visibility: hidden;
+      background-color: var(--bs-offcanvas-bg);
+      background-clip: padding-box;
+      outline: 0;
+      transition: var(--bs-offcanvas-transition);
+    }
+  }
+  @media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {
+    .offcanvas-md {
+      transition: none;
+    }
+  }
+  @media (max-width: 767.98px) {
+    .offcanvas-md.offcanvas-start {
+      top: 0;
+      left: 0;
+      width: var(--bs-offcanvas-width);
+      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(-100%);
+    }
+    .offcanvas-md.offcanvas-end {
+      top: 0;
+      right: 0;
+      width: var(--bs-offcanvas-width);
+      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(100%);
+    }
+    .offcanvas-md.offcanvas-top {
+      top: 0;
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(-100%);
+    }
+    .offcanvas-md.offcanvas-bottom {
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(100%);
+    }
+    .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {
+      transform: none;
+    }
+    .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {
+      visibility: visible;
+    }
+  }
+  @media (min-width: 768px) {
+    .offcanvas-md {
+      --bs-offcanvas-height: auto;
+      --bs-offcanvas-border-width: 0;
+      background-color: transparent !important;
+    }
+    .offcanvas-md .offcanvas-header {
+      display: none;
+    }
+    .offcanvas-md .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+      background-color: transparent !important;
+    }
+  }
+  @media (max-width: 991.98px) {
+    .offcanvas-lg {
+      position: fixed;
+      bottom: 0;
+      z-index: var(--bs-offcanvas-zindex);
+      display: flex;
+      flex-direction: column;
+      max-width: 100%;
+      color: var(--bs-offcanvas-color);
+      visibility: hidden;
+      background-color: var(--bs-offcanvas-bg);
+      background-clip: padding-box;
+      outline: 0;
+      transition: var(--bs-offcanvas-transition);
+    }
+  }
+  @media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {
+    .offcanvas-lg {
+      transition: none;
+    }
+  }
+  @media (max-width: 991.98px) {
+    .offcanvas-lg.offcanvas-start {
+      top: 0;
+      left: 0;
+      width: var(--bs-offcanvas-width);
+      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(-100%);
+    }
+    .offcanvas-lg.offcanvas-end {
+      top: 0;
+      right: 0;
+      width: var(--bs-offcanvas-width);
+      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(100%);
+    }
+    .offcanvas-lg.offcanvas-top {
+      top: 0;
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(-100%);
+    }
+    .offcanvas-lg.offcanvas-bottom {
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(100%);
+    }
+    .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {
+      transform: none;
+    }
+    .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {
+      visibility: visible;
+    }
+  }
+  @media (min-width: 992px) {
+    .offcanvas-lg {
+      --bs-offcanvas-height: auto;
+      --bs-offcanvas-border-width: 0;
+      background-color: transparent !important;
+    }
+    .offcanvas-lg .offcanvas-header {
+      display: none;
+    }
+    .offcanvas-lg .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+      background-color: transparent !important;
+    }
+  }
+  @media (max-width: 1199.98px) {
+    .offcanvas-xl {
+      position: fixed;
+      bottom: 0;
+      z-index: var(--bs-offcanvas-zindex);
+      display: flex;
+      flex-direction: column;
+      max-width: 100%;
+      color: var(--bs-offcanvas-color);
+      visibility: hidden;
+      background-color: var(--bs-offcanvas-bg);
+      background-clip: padding-box;
+      outline: 0;
+      transition: var(--bs-offcanvas-transition);
+    }
+  }
+  @media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {
+    .offcanvas-xl {
+      transition: none;
+    }
+  }
+  @media (max-width: 1199.98px) {
+    .offcanvas-xl.offcanvas-start {
+      top: 0;
+      left: 0;
+      width: var(--bs-offcanvas-width);
+      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(-100%);
+    }
+    .offcanvas-xl.offcanvas-end {
+      top: 0;
+      right: 0;
+      width: var(--bs-offcanvas-width);
+      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(100%);
+    }
+    .offcanvas-xl.offcanvas-top {
+      top: 0;
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(-100%);
+    }
+    .offcanvas-xl.offcanvas-bottom {
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(100%);
+    }
+    .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {
+      transform: none;
+    }
+    .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {
+      visibility: visible;
+    }
+  }
+  @media (min-width: 1200px) {
+    .offcanvas-xl {
+      --bs-offcanvas-height: auto;
+      --bs-offcanvas-border-width: 0;
+      background-color: transparent !important;
+    }
+    .offcanvas-xl .offcanvas-header {
+      display: none;
+    }
+    .offcanvas-xl .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+      background-color: transparent !important;
+    }
+  }
+  @media (max-width: 1399.98px) {
+    .offcanvas-xxl {
+      position: fixed;
+      bottom: 0;
+      z-index: var(--bs-offcanvas-zindex);
+      display: flex;
+      flex-direction: column;
+      max-width: 100%;
+      color: var(--bs-offcanvas-color);
+      visibility: hidden;
+      background-color: var(--bs-offcanvas-bg);
+      background-clip: padding-box;
+      outline: 0;
+      transition: var(--bs-offcanvas-transition);
+    }
+  }
+  @media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {
+    .offcanvas-xxl {
+      transition: none;
+    }
+  }
+  @media (max-width: 1399.98px) {
+    .offcanvas-xxl.offcanvas-start {
+      top: 0;
+      left: 0;
+      width: var(--bs-offcanvas-width);
+      border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(-100%);
+    }
+    .offcanvas-xxl.offcanvas-end {
+      top: 0;
+      right: 0;
+      width: var(--bs-offcanvas-width);
+      border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateX(100%);
+    }
+    .offcanvas-xxl.offcanvas-top {
+      top: 0;
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(-100%);
+    }
+    .offcanvas-xxl.offcanvas-bottom {
+      right: 0;
+      left: 0;
+      height: var(--bs-offcanvas-height);
+      max-height: 100%;
+      border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+      transform: translateY(100%);
+    }
+    .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {
+      transform: none;
+    }
+    .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {
+      visibility: visible;
+    }
+  }
+  @media (min-width: 1400px) {
+    .offcanvas-xxl {
+      --bs-offcanvas-height: auto;
+      --bs-offcanvas-border-width: 0;
+      background-color: transparent !important;
+    }
+    .offcanvas-xxl .offcanvas-header {
+      display: none;
+    }
+    .offcanvas-xxl .offcanvas-body {
+      display: flex;
+      flex-grow: 0;
+      padding: 0;
+      overflow-y: visible;
+      background-color: transparent !important;
+    }
   }
-  .pb-md-3 {
-    padding-bottom: 1rem !important;
+  .offcanvas {
+    position: fixed;
+    bottom: 0;
+    z-index: var(--bs-offcanvas-zindex);
+    display: flex;
+    flex-direction: column;
+    max-width: 100%;
+    color: var(--bs-offcanvas-color);
+    visibility: hidden;
+    background-color: var(--bs-offcanvas-bg);
+    background-clip: padding-box;
+    outline: 0;
+    transition: var(--bs-offcanvas-transition);
   }
-  .pb-md-4 {
-    padding-bottom: 1.5rem !important;
+  @media (prefers-reduced-motion: reduce) {
+    .offcanvas {
+      transition: none;
+    }
   }
-  .pb-md-5 {
-    padding-bottom: 3rem !important;
+  .offcanvas.offcanvas-start {
+    top: 0;
+    left: 0;
+    width: var(--bs-offcanvas-width);
+    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(-100%);
   }
-  .ps-md-0 {
-    padding-left: 0 !important;
+  .offcanvas.offcanvas-end {
+    top: 0;
+    right: 0;
+    width: var(--bs-offcanvas-width);
+    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateX(100%);
   }
-  .ps-md-1 {
-    padding-left: 0.25rem !important;
+  .offcanvas.offcanvas-top {
+    top: 0;
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(-100%);
   }
-  .ps-md-2 {
-    padding-left: 0.5rem !important;
+  .offcanvas.offcanvas-bottom {
+    right: 0;
+    left: 0;
+    height: var(--bs-offcanvas-height);
+    max-height: 100%;
+    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);
+    transform: translateY(100%);
   }
-  .ps-md-3 {
-    padding-left: 1rem !important;
+  .offcanvas.showing, .offcanvas.show:not(.hiding) {
+    transform: none;
   }
-  .ps-md-4 {
-    padding-left: 1.5rem !important;
+  .offcanvas.showing, .offcanvas.hiding, .offcanvas.show {
+    visibility: visible;
   }
-  .ps-md-5 {
-    padding-left: 3rem !important;
+  .offcanvas-backdrop {
+    position: fixed;
+    top: 0;
+    left: 0;
+    z-index: 1040;
+    width: 100vw;
+    height: 100vh;
+    background-color: #000;
   }
-  .gap-md-0 {
-    gap: 0 !important;
+  .offcanvas-backdrop.fade {
+    opacity: 0;
   }
-  .gap-md-1 {
-    gap: 0.25rem !important;
+  .offcanvas-backdrop.show {
+    opacity: 0.5;
   }
-  .gap-md-2 {
-    gap: 0.5rem !important;
+  .offcanvas-header {
+    display: flex;
+    align-items: center;
+    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+  }
+  .offcanvas-header .btn-close {
+    padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);
+    margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));
+    margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));
+    margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));
+    margin-left: auto;
   }
-  .gap-md-3 {
-    gap: 1rem !important;
+  .offcanvas-title {
+    margin-bottom: 0;
+    line-height: var(--bs-offcanvas-title-line-height);
   }
-  .gap-md-4 {
-    gap: 1.5rem !important;
+  .offcanvas-body {
+    flex-grow: 1;
+    padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);
+    overflow-y: auto;
   }
-  .gap-md-5 {
-    gap: 3rem !important;
+}
+@layer components {
+  .pagination {
+    --bs-pagination-padding-x: 0.75rem;
+    --bs-pagination-padding-y: 0.375rem;
+    --bs-pagination-font-size: 1rem;
+    --bs-pagination-color: var(--bs-link-color);
+    --bs-pagination-bg: var(--bs-body-bg);
+    --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-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-box-shadow: 0 0 0 0.25rem rgba(111, 66, 193, 0.25);
+    --bs-pagination-active-color: #fff;
+    --bs-pagination-active-bg: #6f42c1;
+    --bs-pagination-active-border-color: #6f42c1;
+    --bs-pagination-disabled-color: var(--bs-secondary-color);
+    --bs-pagination-disabled-bg: var(--bs-secondary-bg);
+    --bs-pagination-disabled-border-color: var(--bs-border-color);
+    display: flex;
+    padding-left: 0;
+    list-style: none;
   }
-  .row-gap-md-0 {
-    row-gap: 0 !important;
+  .page-link {
+    position: relative;
+    display: block;
+    padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);
+    font-size: var(--bs-pagination-font-size);
+    color: var(--bs-pagination-color);
+    text-decoration: none;
+    background-color: var(--bs-pagination-bg);
+    border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);
+    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;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .page-link {
+      transition: none;
+    }
+  }
+  .page-link:hover {
+    z-index: 2;
+    color: var(--bs-pagination-hover-color);
+    background-color: var(--bs-pagination-hover-bg);
+    border-color: var(--bs-pagination-hover-border-color);
+  }
+  .page-link:focus {
+    z-index: 3;
+    color: var(--bs-pagination-focus-color);
+    background-color: var(--bs-pagination-focus-bg);
+    outline: 0;
+    box-shadow: var(--bs-pagination-focus-box-shadow);
+  }
+  .page-link.active, .active > .page-link {
+    z-index: 3;
+    color: var(--bs-pagination-active-color);
+    background-color: var(--bs-pagination-active-bg);
+    border-color: var(--bs-pagination-active-border-color);
+  }
+  .page-link.disabled, .disabled > .page-link {
+    color: var(--bs-pagination-disabled-color);
+    pointer-events: none;
+    background-color: var(--bs-pagination-disabled-bg);
+    border-color: var(--bs-pagination-disabled-border-color);
+  }
+  .page-item:not(:first-child) .page-link {
+    margin-left: calc(-1 * var(--bs-border-width));
+  }
+  .page-item:first-child .page-link {
+    border-top-left-radius: var(--bs-pagination-border-radius);
+    border-bottom-left-radius: var(--bs-pagination-border-radius);
+  }
+  .page-item:last-child .page-link {
+    border-top-right-radius: var(--bs-pagination-border-radius);
+    border-bottom-right-radius: var(--bs-pagination-border-radius);
+  }
+  .pagination-lg {
+    --bs-pagination-padding-x: 1.5rem;
+    --bs-pagination-padding-y: 0.75rem;
+    --bs-pagination-font-size: 1.25rem;
+    --bs-pagination-border-radius: var(--bs-border-radius-lg);
+  }
+  .pagination-sm {
+    --bs-pagination-padding-x: 0.5rem;
+    --bs-pagination-padding-y: 0.25rem;
+    --bs-pagination-font-size: 0.875rem;
+    --bs-pagination-border-radius: var(--bs-border-radius-sm);
+  }
+}
+@layer components {
+  .placeholder {
+    display: inline-block;
+    min-height: 1em;
+    vertical-align: middle;
+    cursor: wait;
+    background-color: currentcolor;
+    opacity: 0.5;
+  }
+  .placeholder.btn::before {
+    display: inline-block;
+    content: "";
+  }
+  .placeholder-xs {
+    min-height: 0.6em;
+  }
+  .placeholder-sm {
+    min-height: 0.8em;
+  }
+  .placeholder-lg {
+    min-height: 1.2em;
+  }
+  .placeholder-glow .placeholder {
+    animation: placeholder-glow 2s ease-in-out infinite;
+  }
+  @keyframes placeholder-glow {
+    50% {
+      opacity: 0.2;
+    }
+  }
+  .placeholder-wave {
+    mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);
+    mask-size: 200% 100%;
+    animation: placeholder-wave 2s linear infinite;
+  }
+  @keyframes placeholder-wave {
+    100% {
+      mask-position: -200% 0%;
+    }
+  }
+}
+@layer components {
+  .popover {
+    --bs-popover-zindex: 1070;
+    --bs-popover-max-width: 276px;
+    --bs-popover-font-size: 0.875rem;
+    --bs-popover-bg: var(--bs-body-bg);
+    --bs-popover-border-width: var(--bs-border-width);
+    --bs-popover-border-color: var(--bs-border-color-translucent);
+    --bs-popover-border-radius: var(--bs-border-radius-lg);
+    --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));
+    --bs-popover-box-shadow: var(--bs-box-shadow);
+    --bs-popover-header-padding-x: 1rem;
+    --bs-popover-header-padding-y: 0.5rem;
+    --bs-popover-header-font-size: 1rem;
+    --bs-popover-header-color: inherit;
+    --bs-popover-header-bg: var(--bs-secondary-bg);
+    --bs-popover-body-padding-x: 1rem;
+    --bs-popover-body-padding-y: 1rem;
+    --bs-popover-body-color: var(--bs-body-color);
+    --bs-popover-arrow-width: 1rem;
+    --bs-popover-arrow-height: 0.5rem;
+    --bs-popover-arrow-border: var(--bs-popover-border-color);
+    z-index: var(--bs-popover-zindex);
+    display: block;
+    max-width: var(--bs-popover-max-width);
+    font-family: var(--bs-font-sans-serif);
+    font-style: normal;
+    font-weight: 400;
+    line-height: 1.5;
+    text-align: left;
+    text-align: start;
+    text-decoration: none;
+    text-shadow: none;
+    text-transform: none;
+    letter-spacing: normal;
+    word-break: normal;
+    white-space: normal;
+    word-spacing: normal;
+    line-break: auto;
+    font-size: var(--bs-popover-font-size);
+    word-wrap: break-word;
+    background-color: var(--bs-popover-bg);
+    background-clip: padding-box;
+    border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+    border-radius: var(--bs-popover-border-radius);
   }
-  .row-gap-md-1 {
-    row-gap: 0.25rem !important;
+  .popover .popover-arrow {
+    display: block;
+    width: var(--bs-popover-arrow-width);
+    height: var(--bs-popover-arrow-height);
   }
-  .row-gap-md-2 {
-    row-gap: 0.5rem !important;
+  .popover .popover-arrow::before, .popover .popover-arrow::after {
+    position: absolute;
+    display: block;
+    content: "";
+    border-color: transparent;
+    border-style: solid;
+    border-width: 0;
   }
-  .row-gap-md-3 {
-    row-gap: 1rem !important;
+  .bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {
+    bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
   }
-  .row-gap-md-4 {
-    row-gap: 1.5rem !important;
+  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+    border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
   }
-  .row-gap-md-5 {
-    row-gap: 3rem !important;
+  .bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {
+    bottom: 0;
+    border-top-color: var(--bs-popover-arrow-border);
   }
-  .column-gap-md-0 {
-    -moz-column-gap: 0 !important;
-    column-gap: 0 !important;
+  .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {
+    bottom: var(--bs-popover-border-width);
+    border-top-color: var(--bs-popover-bg);
   }
-  .column-gap-md-1 {
-    -moz-column-gap: 0.25rem !important;
-    column-gap: 0.25rem !important;
+  /* rtl:begin:ignore */
+  .bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {
+    left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+    width: var(--bs-popover-arrow-height);
+    height: var(--bs-popover-arrow-width);
   }
-  .column-gap-md-2 {
-    -moz-column-gap: 0.5rem !important;
-    column-gap: 0.5rem !important;
+  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+    border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;
   }
-  .column-gap-md-3 {
-    -moz-column-gap: 1rem !important;
-    column-gap: 1rem !important;
+  .bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {
+    left: 0;
+    border-right-color: var(--bs-popover-arrow-border);
   }
-  .column-gap-md-4 {
-    -moz-column-gap: 1.5rem !important;
-    column-gap: 1.5rem !important;
+  .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {
+    left: var(--bs-popover-border-width);
+    border-right-color: var(--bs-popover-bg);
   }
-  .column-gap-md-5 {
-    -moz-column-gap: 3rem !important;
-    column-gap: 3rem !important;
+  /* rtl:end:ignore */
+  .bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {
+    top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
   }
-  .text-md-start {
-    text-align: left !important;
+  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+    border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
   }
-  .text-md-end {
-    text-align: right !important;
+  .bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {
+    top: 0;
+    border-bottom-color: var(--bs-popover-arrow-border);
   }
-  .text-md-center {
-    text-align: center !important;
+  .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {
+    top: var(--bs-popover-border-width);
+    border-bottom-color: var(--bs-popover-bg);
   }
-}
-@media (min-width: 992px) {
-  .float-lg-start {
-    float: left !important;
+  .bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {
+    position: absolute;
+    top: 0;
+    left: 50%;
+    display: block;
+    width: var(--bs-popover-arrow-width);
+    margin-left: calc(-0.5 * var(--bs-popover-arrow-width));
+    content: "";
+    border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);
+  }
+  /* rtl:begin:ignore */
+  .bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {
+    right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));
+    width: var(--bs-popover-arrow-height);
+    height: var(--bs-popover-arrow-width);
+  }
+  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+    border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);
+  }
+  .bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {
+    right: 0;
+    border-left-color: var(--bs-popover-arrow-border);
   }
-  .float-lg-end {
-    float: right !important;
+  .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {
+    right: var(--bs-popover-border-width);
+    border-left-color: var(--bs-popover-bg);
   }
-  .float-lg-none {
-    float: none !important;
+  /* rtl:end:ignore */
+  .popover-header {
+    padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);
+    margin-bottom: 0;
+    font-size: var(--bs-popover-header-font-size);
+    color: var(--bs-popover-header-color);
+    background-color: var(--bs-popover-header-bg);
+    border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);
+    border-top-left-radius: var(--bs-popover-inner-border-radius);
+    border-top-right-radius: var(--bs-popover-inner-border-radius);
+  }
+  .popover-header:empty {
+    display: none;
   }
-  .object-fit-lg-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
+  .popover-body {
+    padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);
+    color: var(--bs-popover-body-color);
+  }
+}
+@layer components {
+  @keyframes progress-bar-stripes {
+    0% {
+      background-position-x: var(--bs-progress-height);
+    }
+  }
+  .progress,
+  .progress-stacked {
+    --bs-progress-height: 1rem;
+    --bs-progress-font-size: 0.75rem;
+    --bs-progress-bg: var(--bs-secondary-bg);
+    --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-bg: #6f42c1;
+    --bs-progress-bar-transition: width 0.6s ease;
+    display: flex;
+    height: var(--bs-progress-height);
+    overflow: hidden;
+    font-size: var(--bs-progress-font-size);
+    background-color: var(--bs-progress-bg);
+    border-radius: var(--bs-progress-border-radius);
   }
-  .object-fit-lg-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
+  .progress-bar {
+    display: flex;
+    flex-direction: column;
+    justify-content: center;
+    overflow: hidden;
+    color: var(--bs-progress-bar-color);
+    text-align: center;
+    white-space: nowrap;
+    background-color: var(--bs-progress-bar-bg);
+    transition: var(--bs-progress-bar-transition);
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .progress-bar {
+      transition: none;
+    }
+  }
+  .progress-bar-striped {
+    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);
+    background-size: var(--bs-progress-height) var(--bs-progress-height);
+  }
+  .progress-stacked > .progress {
+    overflow: visible;
   }
-  .object-fit-lg-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
+  .progress-stacked > .progress > .progress-bar {
+    width: 100%;
   }
-  .object-fit-lg-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
+  .progress-bar-animated {
+    animation: 1s linear infinite progress-bar-stripes;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .progress-bar-animated {
+      animation: none;
+    }
+  }
+}
+@layer components {
+  .spinner-grow,
+  .spinner-border {
+    display: inline-block;
+    flex-shrink: 0;
+    width: var(--bs-spinner-width);
+    height: var(--bs-spinner-height);
+    vertical-align: var(--bs-spinner-vertical-align);
+    border-radius: 50%;
+    animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
+  }
+  @keyframes spinner-border {
+    to {
+      transform: rotate(360deg) /* rtl:ignore */;
+    }
+  }
+  .spinner-border {
+    --bs-spinner-width: 2rem;
+    --bs-spinner-height: 2rem;
+    --bs-spinner-vertical-align: -0.125em;
+    --bs-spinner-border-width: 0.25em;
+    --bs-spinner-animation-speed: 0.75s;
+    --bs-spinner-animation-name: spinner-border;
+    border: var(--bs-spinner-border-width) solid currentcolor;
+    border-right-color: transparent;
+  }
+  .spinner-border-sm {
+    --bs-spinner-width: 1rem;
+    --bs-spinner-height: 1rem;
+    --bs-spinner-border-width: 0.2em;
+  }
+  @keyframes spinner-grow {
+    0% {
+      transform: scale(0);
+    }
+    50% {
+      opacity: 1;
+      transform: none;
+    }
   }
-  .object-fit-lg-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
+  .spinner-grow {
+    --bs-spinner-width: 2rem;
+    --bs-spinner-height: 2rem;
+    --bs-spinner-vertical-align: -0.125em;
+    --bs-spinner-animation-speed: 0.75s;
+    --bs-spinner-animation-name: spinner-grow;
+    background-color: currentcolor;
+    opacity: 0;
+  }
+  .spinner-grow-sm {
+    --bs-spinner-width: 1rem;
+    --bs-spinner-height: 1rem;
+  }
+  @media (prefers-reduced-motion: reduce) {
+    .spinner-border,
+    .spinner-grow {
+      --bs-spinner-animation-speed: 1.5s;
+    }
+  }
+}
+@layer components {
+  .toast {
+    --bs-toast-zindex: 1090;
+    --bs-toast-padding-x: 0.75rem;
+    --bs-toast-padding-y: 0.5rem;
+    --bs-toast-spacing: 1.5rem;
+    --bs-toast-max-width: 350px;
+    --bs-toast-font-size: 0.875rem;
+    --bs-toast-color: ;
+    --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);
+    --bs-toast-border-width: var(--bs-border-width);
+    --bs-toast-border-color: var(--bs-border-color-translucent);
+    --bs-toast-border-radius: var(--bs-border-radius);
+    --bs-toast-box-shadow: var(--bs-box-shadow);
+    --bs-toast-header-color: var(--bs-secondary-color);
+    --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);
+    --bs-toast-header-border-color: var(--bs-border-color-translucent);
+    width: var(--bs-toast-max-width);
+    max-width: 100%;
+    font-size: var(--bs-toast-font-size);
+    color: var(--bs-toast-color);
+    pointer-events: auto;
+    background-color: var(--bs-toast-bg);
+    background-clip: padding-box;
+    border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
+    box-shadow: var(--bs-toast-box-shadow);
+    border-radius: var(--bs-toast-border-radius);
   }
-  .d-lg-inline {
-    display: inline !important;
+  .toast.showing {
+    opacity: 0;
   }
-  .d-lg-inline-block {
-    display: inline-block !important;
+  .toast:not(.show) {
+    display: none;
   }
-  .d-lg-block {
-    display: block !important;
+  .toast-container {
+    --bs-toast-zindex: 1090;
+    position: absolute;
+    z-index: var(--bs-toast-zindex);
+    width: max-content;
+    max-width: 100%;
+    pointer-events: none;
   }
-  .d-lg-grid {
-    display: grid !important;
+  .toast-container > :not(:last-child) {
+    margin-bottom: var(--bs-toast-spacing);
   }
-  .d-lg-inline-grid {
-    display: inline-grid !important;
+  .toast-header {
+    display: flex;
+    align-items: center;
+    padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);
+    color: var(--bs-toast-header-color);
+    background-color: var(--bs-toast-header-bg);
+    background-clip: padding-box;
+    border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);
+    border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
+    border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));
   }
-  .d-lg-table {
-    display: table !important;
+  .toast-header .btn-close {
+    margin-right: calc(-0.5 * var(--bs-toast-padding-x));
+    margin-left: var(--bs-toast-padding-x);
   }
-  .d-lg-table-row {
-    display: table-row !important;
+  .toast-body {
+    padding: var(--bs-toast-padding-x);
+    word-wrap: break-word;
   }
-  .d-lg-table-cell {
-    display: table-cell !important;
+}
+.fade {
+  transition: opacity 0.15s linear;
+}
+@media (prefers-reduced-motion: reduce) {
+  .fade {
+    transition: none;
   }
-  .d-lg-flex {
-    display: flex !important;
+}
+.fade:not(.show) {
+  opacity: 0;
+}
+
+.collapse:not(.show) {
+  display: none;
+}
+
+.collapsing {
+  height: 0;
+  overflow: hidden;
+  transition: height 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+  .collapsing {
+    transition: none;
   }
-  .d-lg-inline-flex {
-    display: inline-flex !important;
+}
+.collapsing.collapse-horizontal {
+  width: 0;
+  height: auto;
+  transition: width 0.35s ease;
+}
+@media (prefers-reduced-motion: reduce) {
+  .collapsing.collapse-horizontal {
+    transition: none;
   }
-  .d-lg-none {
-    display: none !important;
+}
+
+@layer helpers {
+  .text-bg-primary {
+    color: color-contrast(#6f42c1) !important;
+    background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-fill {
-    flex: 1 1 auto !important;
+  .text-bg-secondary {
+    color: color-contrast(#6c757d) !important;
+    background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-row {
-    flex-direction: row !important;
+  .text-bg-success {
+    color: color-contrast(#198754) !important;
+    background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-column {
-    flex-direction: column !important;
+  .text-bg-info {
+    color: color-contrast(#0dcaf0) !important;
+    background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-row-reverse {
-    flex-direction: row-reverse !important;
+  .text-bg-warning {
+    color: color-contrast(#ffc107) !important;
+    background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-column-reverse {
-    flex-direction: column-reverse !important;
+  .text-bg-danger {
+    color: color-contrast(#dc3545) !important;
+    background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-grow-0 {
-    flex-grow: 0 !important;
+  .text-bg-light {
+    color: color-contrast(#f8f9fa) !important;
+    background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-grow-1 {
-    flex-grow: 1 !important;
+  .text-bg-dark {
+    color: color-contrast(#212529) !important;
+    background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;
   }
-  .flex-lg-shrink-0 {
-    flex-shrink: 0 !important;
+}
+@layer helpers {
+  .link-primary {
+    color: color-mix(in srgb, var(--bs-primary), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-primary), transparent var(--bs-link-underline-opacity));
   }
-  .flex-lg-shrink-1 {
-    flex-shrink: 1 !important;
+  .link-primary:hover, .link-primary:focus {
+    color: color-mix(in srgb, tint-color(#6f42c1, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#6f42c1, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .flex-lg-wrap {
-    flex-wrap: wrap !important;
+  .link-secondary {
+    color: color-mix(in srgb, var(--bs-secondary), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-secondary), transparent var(--bs-link-underline-opacity));
   }
-  .flex-lg-nowrap {
-    flex-wrap: nowrap !important;
+  .link-secondary:hover, .link-secondary:focus {
+    color: color-mix(in srgb, tint-color(#6c757d, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#6c757d, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .flex-lg-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
+  .link-success {
+    color: color-mix(in srgb, var(--bs-success), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-success), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-start {
-    justify-content: flex-start !important;
+  .link-success:hover, .link-success:focus {
+    color: color-mix(in srgb, tint-color(#198754, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#198754, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-end {
-    justify-content: flex-end !important;
+  .link-info {
+    color: color-mix(in srgb, var(--bs-info), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-info), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-center {
-    justify-content: center !important;
+  .link-info:hover, .link-info:focus {
+    color: color-mix(in srgb, tint-color(#0dcaf0, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#0dcaf0, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-between {
-    justify-content: space-between !important;
+  .link-warning {
+    color: color-mix(in srgb, var(--bs-warning), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-warning), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-around {
-    justify-content: space-around !important;
+  .link-warning:hover, .link-warning:focus {
+    color: color-mix(in srgb, tint-color(#ffc107, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#ffc107, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .justify-content-lg-evenly {
-    justify-content: space-evenly !important;
+  .link-danger {
+    color: color-mix(in srgb, var(--bs-danger), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-danger), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-start {
-    align-items: flex-start !important;
+  .link-danger:hover, .link-danger:focus {
+    color: color-mix(in srgb, tint-color(#dc3545, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#dc3545, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-end {
-    align-items: flex-end !important;
+  .link-light {
+    color: color-mix(in srgb, var(--bs-light), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-light), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-center {
-    align-items: center !important;
+  .link-light:hover, .link-light:focus {
+    color: color-mix(in srgb, tint-color(#f8f9fa, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#f8f9fa, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-baseline {
-    align-items: baseline !important;
+  .link-dark {
+    color: color-mix(in srgb, var(--bs-dark), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-dark), transparent var(--bs-link-underline-opacity));
   }
-  .align-items-lg-stretch {
-    align-items: stretch !important;
+  .link-dark:hover, .link-dark:focus {
+    color: color-mix(in srgb, tint-color(#212529, 20%), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, tint-color(#212529, 20%), transparent var(--bs-link-underline-opacity));
   }
-  .align-content-lg-start {
-    align-content: flex-start !important;
+  .link-body-emphasis {
+    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity));
+    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity));
   }
-  .align-content-lg-end {
-    align-content: flex-end !important;
+  .link-body-emphasis:hover, .link-body-emphasis:focus {
+    color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-opacity, 0.75));
+    text-decoration-color: color-mix(in srgb, var(--bs-emphasis-color), transparent var(--bs-link-underline-opacity, 0.75));
   }
-  .align-content-lg-center {
-    align-content: center !important;
+}
+@layer helpers {
+  .focus-ring:focus-visible {
+    outline: var(--bs-focus-ring);
   }
-  .align-content-lg-between {
-    align-content: space-between !important;
+}
+@layer helpers {
+  .icon-link {
+    display: inline-flex;
+    gap: 0.375rem;
+    align-items: center;
+    text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));
+    text-underline-offset: 0.25em;
+    backface-visibility: hidden;
   }
-  .align-content-lg-around {
-    align-content: space-around !important;
+  .icon-link > .bi {
+    flex-shrink: 0;
+    width: 1em;
+    height: 1em;
+    fill: currentcolor;
+    transition: 0.2s ease-in-out transform;
   }
-  .align-content-lg-stretch {
-    align-content: stretch !important;
+  @media (prefers-reduced-motion: reduce) {
+    .icon-link > .bi {
+      transition: none;
+    }
   }
-  .align-self-lg-auto {
-    align-self: auto !important;
+  .icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {
+    transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));
   }
-  .align-self-lg-start {
-    align-self: flex-start !important;
+}
+@layer helpers {
+  .fixed-top {
+    position: fixed;
+    top: 0;
+    right: 0;
+    left: 0;
+    z-index: 1030;
   }
-  .align-self-lg-end {
-    align-self: flex-end !important;
+  .fixed-bottom {
+    position: fixed;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    z-index: 1030;
   }
-  .align-self-lg-center {
-    align-self: center !important;
+  .sticky-top {
+    position: sticky;
+    top: 0;
+    z-index: 1020;
   }
-  .align-self-lg-baseline {
-    align-self: baseline !important;
+  .sticky-bottom {
+    position: sticky;
+    bottom: 0;
+    z-index: 1020;
   }
-  .align-self-lg-stretch {
-    align-self: stretch !important;
+  @media (min-width: 576px) {
+    .sticky-sm-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-sm-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+  @media (min-width: 768px) {
+    .sticky-md-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-md-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+  @media (min-width: 992px) {
+    .sticky-lg-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-lg-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+  @media (min-width: 1200px) {
+    .sticky-xl-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-xl-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+  @media (min-width: 1400px) {
+    .sticky-xxl-top {
+      position: sticky;
+      top: 0;
+      z-index: 1020;
+    }
+    .sticky-xxl-bottom {
+      position: sticky;
+      bottom: 0;
+      z-index: 1020;
+    }
+  }
+}
+@layer helpers {
+  .hstack {
+    display: flex;
+    flex-direction: row;
+    align-items: center;
+    align-self: stretch;
   }
-  .order-lg-first {
-    order: -1 !important;
+  .vstack {
+    display: flex;
+    flex: 1 1 auto;
+    flex-direction: column;
+    align-self: stretch;
   }
-  .order-lg-0 {
-    order: 0 !important;
+}
+@layer helpers {
+  .visually-hidden,
+  .visually-hidden-focusable:not(:focus):not(:focus-within) {
+    width: 1px !important;
+    height: 1px !important;
+    padding: 0 !important;
+    margin: -1px !important;
+    overflow: hidden !important;
+    clip: rect(0, 0, 0, 0) !important;
+    white-space: nowrap !important;
+    border: 0 !important;
   }
-  .order-lg-1 {
-    order: 1 !important;
+  .visually-hidden:not(caption),
+  .visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {
+    position: absolute !important;
   }
-  .order-lg-2 {
-    order: 2 !important;
+  .visually-hidden *,
+  .visually-hidden-focusable:not(:focus):not(:focus-within) * {
+    overflow: hidden !important;
   }
-  .order-lg-3 {
-    order: 3 !important;
+}
+@layer helpers {
+  .stretched-link::after {
+    position: absolute;
+    top: 0;
+    right: 0;
+    bottom: 0;
+    left: 0;
+    z-index: 1;
+    content: "";
   }
-  .order-lg-4 {
-    order: 4 !important;
+}
+@layer helpers {
+  .text-truncate {
+    overflow: hidden;
+    text-overflow: ellipsis;
+    white-space: nowrap;
   }
-  .order-lg-5 {
-    order: 5 !important;
+}
+@layer helpers {
+  .vr {
+    display: inline-block;
+    align-self: stretch;
+    width: var(--bs-border-width);
+    min-height: 1em;
+    background-color: currentcolor;
+    opacity: 0.25;
   }
-  .order-lg-last {
-    order: 6 !important;
+}
+@layer utilities {
+  .align-baseline {
+    vertical-align: baseline !important;
   }
-  .m-lg-0 {
-    margin: 0 !important;
+  .align-top {
+    vertical-align: top !important;
   }
-  .m-lg-1 {
-    margin: 0.25rem !important;
+  .align-middle {
+    vertical-align: middle !important;
   }
-  .m-lg-2 {
-    margin: 0.5rem !important;
+  .align-bottom {
+    vertical-align: bottom !important;
   }
-  .m-lg-3 {
-    margin: 1rem !important;
+  .align-text-bottom {
+    vertical-align: text-bottom !important;
   }
-  .m-lg-4 {
-    margin: 1.5rem !important;
+  .align-text-top {
+    vertical-align: text-top !important;
   }
-  .m-lg-5 {
-    margin: 3rem !important;
+  .ratio- {
+    aspect-ratio: var(--bs-ratio) !important;
   }
-  .m-lg-auto {
-    margin: auto !important;
+  .ratio-auto {
+    --bs-ratio: auto !important;
   }
-  .mx-lg-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
+  .ratio-1x1 {
+    --bs-ratio: 1 / 1 !important;
   }
-  .mx-lg-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
+  .ratio-4x3 {
+    --bs-ratio: 4 / 3 !important;
   }
-  .mx-lg-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
+  .ratio-16x9 {
+    --bs-ratio: 16 / 9 !important;
   }
-  .mx-lg-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
+  .ratio-21x9 {
+    --bs-ratio: 21 / 9 !important;
   }
-  .mx-lg-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
+  .float-start {
+    float: left !important;
   }
-  .mx-lg-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
+  .float-end {
+    float: right !important;
   }
-  .mx-lg-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
+  .float-none {
+    float: none !important;
   }
-  .my-lg-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
+  .object-fit-contain {
+    object-fit: contain !important;
   }
-  .my-lg-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
+  .object-fit-cover {
+    object-fit: cover !important;
   }
-  .my-lg-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
+  .object-fit-fill {
+    object-fit: fill !important;
   }
-  .my-lg-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
+  .object-fit-scale {
+    object-fit: scale-down !important;
   }
-  .my-lg-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
+  .object-fit-none {
+    object-fit: none !important;
   }
-  .my-lg-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
+  .opacity-0 {
+    opacity: 0 !important;
   }
-  .my-lg-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
+  .opacity-25 {
+    opacity: 0.25 !important;
   }
-  .mt-lg-0 {
-    margin-top: 0 !important;
+  .opacity-50 {
+    opacity: 0.5 !important;
   }
-  .mt-lg-1 {
-    margin-top: 0.25rem !important;
+  .opacity-75 {
+    opacity: 0.75 !important;
   }
-  .mt-lg-2 {
-    margin-top: 0.5rem !important;
+  .opacity-100 {
+    opacity: 1 !important;
   }
-  .mt-lg-3 {
-    margin-top: 1rem !important;
+  .overflow-auto {
+    overflow: auto !important;
   }
-  .mt-lg-4 {
-    margin-top: 1.5rem !important;
+  .overflow-hidden {
+    overflow: hidden !important;
   }
-  .mt-lg-5 {
-    margin-top: 3rem !important;
+  .overflow-visible {
+    overflow: visible !important;
   }
-  .mt-lg-auto {
-    margin-top: auto !important;
+  .overflow-scroll {
+    overflow: scroll !important;
   }
-  .me-lg-0 {
-    margin-right: 0 !important;
+  .overflow-x-auto {
+    overflow-x: auto !important;
   }
-  .me-lg-1 {
-    margin-right: 0.25rem !important;
+  .overflow-x-hidden {
+    overflow-x: hidden !important;
   }
-  .me-lg-2 {
-    margin-right: 0.5rem !important;
+  .overflow-x-visible {
+    overflow-x: visible !important;
   }
-  .me-lg-3 {
-    margin-right: 1rem !important;
+  .overflow-x-scroll {
+    overflow-x: scroll !important;
   }
-  .me-lg-4 {
-    margin-right: 1.5rem !important;
+  .overflow-y-auto {
+    overflow-y: auto !important;
   }
-  .me-lg-5 {
-    margin-right: 3rem !important;
+  .overflow-y-hidden {
+    overflow-y: hidden !important;
   }
-  .me-lg-auto {
-    margin-right: auto !important;
+  .overflow-y-visible {
+    overflow-y: visible !important;
   }
-  .mb-lg-0 {
-    margin-bottom: 0 !important;
+  .overflow-y-scroll {
+    overflow-y: scroll !important;
   }
-  .mb-lg-1 {
-    margin-bottom: 0.25rem !important;
+  .d-inline {
+    display: inline !important;
   }
-  .mb-lg-2 {
-    margin-bottom: 0.5rem !important;
+  .d-inline-block {
+    display: inline-block !important;
   }
-  .mb-lg-3 {
-    margin-bottom: 1rem !important;
+  .d-block {
+    display: block !important;
   }
-  .mb-lg-4 {
-    margin-bottom: 1.5rem !important;
+  .d-grid {
+    display: grid !important;
   }
-  .mb-lg-5 {
-    margin-bottom: 3rem !important;
+  .d-inline-grid {
+    display: inline-grid !important;
   }
-  .mb-lg-auto {
-    margin-bottom: auto !important;
+  .d-table {
+    display: table !important;
   }
-  .ms-lg-0 {
-    margin-left: 0 !important;
+  .d-table-row {
+    display: table-row !important;
   }
-  .ms-lg-1 {
-    margin-left: 0.25rem !important;
+  .d-table-cell {
+    display: table-cell !important;
   }
-  .ms-lg-2 {
-    margin-left: 0.5rem !important;
+  .d-flex {
+    display: flex !important;
   }
-  .ms-lg-3 {
-    margin-left: 1rem !important;
+  .d-inline-flex {
+    display: inline-flex !important;
   }
-  .ms-lg-4 {
-    margin-left: 1.5rem !important;
+  .d-flow-root {
+    display: flow-root !important;
   }
-  .ms-lg-5 {
-    margin-left: 3rem !important;
+  .d-none {
+    display: none !important;
   }
-  .ms-lg-auto {
-    margin-left: auto !important;
+  .shadow {
+    box-shadow: var(--bs-box-shadow) !important;
   }
-  .p-lg-0 {
-    padding: 0 !important;
+  .shadow-sm {
+    box-shadow: var(--bs-box-shadow-sm) !important;
   }
-  .p-lg-1 {
-    padding: 0.25rem !important;
+  .shadow-lg {
+    box-shadow: var(--bs-box-shadow-lg) !important;
   }
-  .p-lg-2 {
-    padding: 0.5rem !important;
+  .shadow-none {
+    box-shadow: none !important;
   }
-  .p-lg-3 {
-    padding: 1rem !important;
+  .focus-ring-primary {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-blue-500) 50%, var(--bs-bg)) !important;
   }
-  .p-lg-4 {
-    padding: 1.5rem !important;
+  .focus-ring-accent {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-indigo-500) 50%, var(--bs-bg)) !important;
   }
-  .p-lg-5 {
-    padding: 3rem !important;
+  .focus-ring-danger {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-red-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
+  .focus-ring-warning {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-yellow-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
+  .focus-ring-success {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-green-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
+  .focus-ring-info {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-cyan-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
+  .focus-ring-secondary {
+    --bs-focus-ring-color: color-mix(in oklch, var(--bs-gray-500) 50%, var(--bs-bg)) !important;
   }
-  .px-lg-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
+  .position-static {
+    position: static !important;
   }
-  .px-lg-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
+  .position-relative {
+    position: relative !important;
   }
-  .py-lg-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
+  .position-absolute {
+    position: absolute !important;
   }
-  .py-lg-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
+  .position-fixed {
+    position: fixed !important;
   }
-  .py-lg-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
+  .position-sticky {
+    position: sticky !important;
   }
-  .py-lg-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
+  .top-0 {
+    top: 0 !important;
   }
-  .py-lg-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
+  .top-50 {
+    top: 50% !important;
   }
-  .py-lg-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
+  .top-100 {
+    top: 100% !important;
   }
-  .pt-lg-0 {
-    padding-top: 0 !important;
+  .bottom-0 {
+    bottom: 0 !important;
   }
-  .pt-lg-1 {
-    padding-top: 0.25rem !important;
+  .bottom-50 {
+    bottom: 50% !important;
   }
-  .pt-lg-2 {
-    padding-top: 0.5rem !important;
+  .bottom-100 {
+    bottom: 100% !important;
   }
-  .pt-lg-3 {
-    padding-top: 1rem !important;
+  .start-0 {
+    left: 0 !important;
   }
-  .pt-lg-4 {
-    padding-top: 1.5rem !important;
+  .start-50 {
+    left: 50% !important;
   }
-  .pt-lg-5 {
-    padding-top: 3rem !important;
+  .start-100 {
+    left: 100% !important;
   }
-  .pe-lg-0 {
-    padding-right: 0 !important;
+  .end-0 {
+    right: 0 !important;
   }
-  .pe-lg-1 {
-    padding-right: 0.25rem !important;
+  .end-50 {
+    right: 50% !important;
   }
-  .pe-lg-2 {
-    padding-right: 0.5rem !important;
+  .end-100 {
+    right: 100% !important;
   }
-  .pe-lg-3 {
-    padding-right: 1rem !important;
+  .translate-middle {
+    transform: translate(-50%, -50%) !important;
   }
-  .pe-lg-4 {
-    padding-right: 1.5rem !important;
+  .translate-middle-x {
+    transform: translateX(-50%) !important;
   }
-  .pe-lg-5 {
-    padding-right: 3rem !important;
+  .translate-middle-y {
+    transform: translateY(-50%) !important;
   }
-  .pb-lg-0 {
-    padding-bottom: 0 !important;
+  .border {
+    border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .pb-lg-1 {
-    padding-bottom: 0.25rem !important;
+  .border-0 {
+    border: 0 !important;
   }
-  .pb-lg-2 {
-    padding-bottom: 0.5rem !important;
+  .border-top {
+    border-block-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .pb-lg-3 {
-    padding-bottom: 1rem !important;
+  .border-top-0 {
+    border-block-start: 0 !important;
   }
-  .pb-lg-4 {
-    padding-bottom: 1.5rem !important;
+  .border-end {
+    border-inline-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .pb-lg-5 {
-    padding-bottom: 3rem !important;
+  .border-end-0 {
+    border-inline-end: 0 !important;
   }
-  .ps-lg-0 {
-    padding-left: 0 !important;
+  .border-bottom {
+    border-block-end: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .ps-lg-1 {
-    padding-left: 0.25rem !important;
+  .border-bottom-0 {
+    border-block-end: 0 !important;
   }
-  .ps-lg-2 {
-    padding-left: 0.5rem !important;
+  .border-start {
+    border-inline-start: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .ps-lg-3 {
-    padding-left: 1rem !important;
+  .border-start-0 {
+    border-inline-start: 0 !important;
   }
-  .ps-lg-4 {
-    padding-left: 1.5rem !important;
+  .border-block {
+    border-block: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .ps-lg-5 {
-    padding-left: 3rem !important;
+  .border-block-0 {
+    border-block: 0 !important;
   }
-  .gap-lg-0 {
-    gap: 0 !important;
+  .border-inline {
+    border-inline: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;
   }
-  .gap-lg-1 {
-    gap: 0.25rem !important;
+  .border-inline-0 {
+    border-inline: 0 !important;
   }
-  .gap-lg-2 {
-    gap: 0.5rem !important;
+  .border-primary {
+    border-color: light-dark(var(--bs-blue-300), var(--bs-blue-600)) !important;
   }
-  .gap-lg-3 {
-    gap: 1rem !important;
+  .border-accent {
+    border-color: light-dark(var(--bs-indigo-300), var(--bs-indigo-600)) !important;
   }
-  .gap-lg-4 {
-    gap: 1.5rem !important;
+  .border-danger {
+    border-color: light-dark(var(--bs-red-300), var(--bs-red-600)) !important;
   }
-  .gap-lg-5 {
-    gap: 3rem !important;
+  .border-warning {
+    border-color: light-dark(var(--bs-yellow-300), var(--bs-yellow-600)) !important;
   }
-  .row-gap-lg-0 {
-    row-gap: 0 !important;
+  .border-success {
+    border-color: light-dark(var(--bs-green-300), var(--bs-green-600)) !important;
   }
-  .row-gap-lg-1 {
-    row-gap: 0.25rem !important;
+  .border-info {
+    border-color: light-dark(var(--bs-cyan-300), var(--bs-cyan-600)) !important;
   }
-  .row-gap-lg-2 {
-    row-gap: 0.5rem !important;
+  .border-secondary {
+    border-color: light-dark(var(--bs-gray-300), var(--bs-gray-600)) !important;
   }
-  .row-gap-lg-3 {
-    row-gap: 1rem !important;
+  .border-1 {
+    border-width: 1px !important;
   }
-  .row-gap-lg-4 {
-    row-gap: 1.5rem !important;
+  .border-2 {
+    border-width: 2px !important;
   }
-  .row-gap-lg-5 {
-    row-gap: 3rem !important;
+  .border-3 {
+    border-width: 3px !important;
   }
-  .column-gap-lg-0 {
-    -moz-column-gap: 0 !important;
-    column-gap: 0 !important;
+  .border-4 {
+    border-width: 4px !important;
   }
-  .column-gap-lg-1 {
-    -moz-column-gap: 0.25rem !important;
-    column-gap: 0.25rem !important;
+  .border-5 {
+    border-width: 5px !important;
   }
-  .column-gap-lg-2 {
-    -moz-column-gap: 0.5rem !important;
-    column-gap: 0.5rem !important;
+  .w-25 {
+    width: 25% !important;
   }
-  .column-gap-lg-3 {
-    -moz-column-gap: 1rem !important;
-    column-gap: 1rem !important;
+  .w-50 {
+    width: 50% !important;
   }
-  .column-gap-lg-4 {
-    -moz-column-gap: 1.5rem !important;
-    column-gap: 1.5rem !important;
+  .w-75 {
+    width: 75% !important;
   }
-  .column-gap-lg-5 {
-    -moz-column-gap: 3rem !important;
-    column-gap: 3rem !important;
+  .w-100 {
+    width: 100% !important;
   }
-  .text-lg-start {
-    text-align: left !important;
+  .w-auto {
+    width: auto !important;
   }
-  .text-lg-end {
-    text-align: right !important;
+  .w-min {
+    width: min-content !important;
   }
-  .text-lg-center {
-    text-align: center !important;
+  .w-max {
+    width: max-content !important;
   }
-}
-@media (min-width: 1200px) {
-  .float-xl-start {
-    float: left !important;
+  .w-fit {
+    width: fit-content !important;
   }
-  .float-xl-end {
-    float: right !important;
+  .max-w-100 {
+    max-width: 100% !important;
   }
-  .float-xl-none {
-    float: none !important;
+  .min-w-0 {
+    min-width: 0 !important;
   }
-  .object-fit-xl-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
+  .min-w-100 {
+    min-width: 100% !important;
   }
-  .object-fit-xl-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
+  .vw-100 {
+    width: 100vw !important;
   }
-  .object-fit-xl-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
+  .min-vw-100 {
+    min-width: 100vw !important;
   }
-  .object-fit-xl-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
+  .h-25 {
+    height: 25% !important;
   }
-  .object-fit-xl-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
+  .h-50 {
+    height: 50% !important;
   }
-  .d-xl-inline {
-    display: inline !important;
+  .h-75 {
+    height: 75% !important;
   }
-  .d-xl-inline-block {
-    display: inline-block !important;
+  .h-100 {
+    height: 100% !important;
   }
-  .d-xl-block {
-    display: block !important;
+  .h-auto {
+    height: auto !important;
   }
-  .d-xl-grid {
-    display: grid !important;
+  .h-min {
+    height: min-content !important;
   }
-  .d-xl-inline-grid {
-    display: inline-grid !important;
+  .h-max {
+    height: max-content !important;
   }
-  .d-xl-table {
-    display: table !important;
+  .h-fit {
+    height: fit-content !important;
   }
-  .d-xl-table-row {
-    display: table-row !important;
+  .max-h-100 {
+    max-height: 100% !important;
   }
-  .d-xl-table-cell {
-    display: table-cell !important;
+  .min-h-0 {
+    min-height: 0 !important;
   }
-  .d-xl-flex {
-    display: flex !important;
+  .min-h-100 {
+    min-height: 100% !important;
   }
-  .d-xl-inline-flex {
-    display: inline-flex !important;
+  .vh-100 {
+    height: 100vh !important;
   }
-  .d-xl-none {
-    display: none !important;
+  .min-vh-100 {
+    min-height: 100vh !important;
   }
-  .flex-xl-fill {
+  .flex-fill {
     flex: 1 1 auto !important;
   }
-  .flex-xl-row {
+  .flex-row {
     flex-direction: row !important;
   }
-  .flex-xl-column {
+  .flex-column {
     flex-direction: column !important;
   }
-  .flex-xl-row-reverse {
+  .flex-row-reverse {
     flex-direction: row-reverse !important;
   }
-  .flex-xl-column-reverse {
+  .flex-column-reverse {
     flex-direction: column-reverse !important;
   }
-  .flex-xl-grow-0 {
+  .flex-grow-0 {
     flex-grow: 0 !important;
   }
-  .flex-xl-grow-1 {
+  .flex-grow-1 {
     flex-grow: 1 !important;
   }
-  .flex-xl-shrink-0 {
+  .flex-shrink-0 {
     flex-shrink: 0 !important;
   }
-  .flex-xl-shrink-1 {
+  .flex-shrink-1 {
     flex-shrink: 1 !important;
   }
-  .flex-xl-wrap {
+  .flex-wrap {
     flex-wrap: wrap !important;
   }
-  .flex-xl-nowrap {
+  .flex-nowrap {
     flex-wrap: nowrap !important;
   }
-  .flex-xl-wrap-reverse {
+  .flex-wrap-reverse {
     flex-wrap: wrap-reverse !important;
   }
-  .justify-content-xl-start {
+  .justify-content-start {
     justify-content: flex-start !important;
   }
-  .justify-content-xl-end {
+  .justify-content-end {
     justify-content: flex-end !important;
   }
-  .justify-content-xl-center {
+  .justify-content-center {
     justify-content: center !important;
   }
-  .justify-content-xl-between {
+  .justify-content-between {
     justify-content: space-between !important;
   }
-  .justify-content-xl-around {
+  .justify-content-around {
     justify-content: space-around !important;
   }
-  .justify-content-xl-evenly {
+  .justify-content-evenly {
     justify-content: space-evenly !important;
   }
-  .align-items-xl-start {
+  .justify-self-start {
+    justify-self: flex-start !important;
+  }
+  .justify-self-end {
+    justify-self: flex-end !important;
+  }
+  .justify-self-center {
+    justify-self: center !important;
+  }
+  .align-items-start {
     align-items: flex-start !important;
   }
-  .align-items-xl-end {
+  .align-items-end {
     align-items: flex-end !important;
   }
-  .align-items-xl-center {
+  .align-items-center {
     align-items: center !important;
   }
-  .align-items-xl-baseline {
+  .align-items-baseline {
     align-items: baseline !important;
   }
-  .align-items-xl-stretch {
+  .align-items-stretch {
     align-items: stretch !important;
   }
-  .align-content-xl-start {
+  .align-content-start {
     align-content: flex-start !important;
   }
-  .align-content-xl-end {
+  .align-content-end {
     align-content: flex-end !important;
   }
-  .align-content-xl-center {
+  .align-content-center {
     align-content: center !important;
   }
-  .align-content-xl-between {
+  .align-content-between {
     align-content: space-between !important;
   }
-  .align-content-xl-around {
+  .align-content-around {
     align-content: space-around !important;
   }
-  .align-content-xl-stretch {
+  .align-content-stretch {
     align-content: stretch !important;
   }
-  .align-self-xl-auto {
+  .align-self-auto {
     align-self: auto !important;
   }
-  .align-self-xl-start {
+  .align-self-start {
     align-self: flex-start !important;
   }
-  .align-self-xl-end {
+  .align-self-end {
     align-self: flex-end !important;
   }
-  .align-self-xl-center {
+  .align-self-center {
     align-self: center !important;
   }
-  .align-self-xl-baseline {
+  .align-self-baseline {
     align-self: baseline !important;
   }
-  .align-self-xl-stretch {
+  .align-self-stretch {
     align-self: stretch !important;
   }
-  .order-xl-first {
+  .order-first {
     order: -1 !important;
   }
-  .order-xl-0 {
+  .order-0 {
     order: 0 !important;
   }
-  .order-xl-1 {
+  .order-1 {
     order: 1 !important;
   }
-  .order-xl-2 {
+  .order-2 {
     order: 2 !important;
   }
-  .order-xl-3 {
+  .order-3 {
     order: 3 !important;
   }
-  .order-xl-4 {
+  .order-4 {
     order: 4 !important;
   }
-  .order-xl-5 {
+  .order-5 {
     order: 5 !important;
   }
-  .order-xl-last {
+  .order-last {
     order: 6 !important;
   }
-  .m-xl-0 {
+  .m-0 {
     margin: 0 !important;
   }
-  .m-xl-1 {
+  .m-1 {
     margin: 0.25rem !important;
   }
-  .m-xl-2 {
+  .m-2 {
     margin: 0.5rem !important;
   }
-  .m-xl-3 {
+  .m-3 {
     margin: 1rem !important;
   }
-  .m-xl-4 {
+  .m-4 {
     margin: 1.5rem !important;
   }
-  .m-xl-5 {
+  .m-5 {
     margin: 3rem !important;
   }
-  .m-xl-auto {
+  .m-auto {
     margin: auto !important;
   }
-  .mx-xl-0 {
+  .mx-0 {
     margin-right: 0 !important;
     margin-left: 0 !important;
   }
-  .mx-xl-1 {
+  .mx-1 {
     margin-right: 0.25rem !important;
     margin-left: 0.25rem !important;
   }
-  .mx-xl-2 {
+  .mx-2 {
     margin-right: 0.5rem !important;
     margin-left: 0.5rem !important;
   }
-  .mx-xl-3 {
+  .mx-3 {
     margin-right: 1rem !important;
     margin-left: 1rem !important;
   }
-  .mx-xl-4 {
+  .mx-4 {
     margin-right: 1.5rem !important;
     margin-left: 1.5rem !important;
   }
-  .mx-xl-5 {
+  .mx-5 {
     margin-right: 3rem !important;
     margin-left: 3rem !important;
   }
-  .mx-xl-auto {
+  .mx-auto {
     margin-right: auto !important;
     margin-left: auto !important;
   }
-  .my-xl-0 {
+  .my-0 {
     margin-top: 0 !important;
     margin-bottom: 0 !important;
   }
-  .my-xl-1 {
+  .my-1 {
     margin-top: 0.25rem !important;
     margin-bottom: 0.25rem !important;
   }
-  .my-xl-2 {
+  .my-2 {
     margin-top: 0.5rem !important;
     margin-bottom: 0.5rem !important;
   }
-  .my-xl-3 {
+  .my-3 {
     margin-top: 1rem !important;
     margin-bottom: 1rem !important;
   }
-  .my-xl-4 {
+  .my-4 {
     margin-top: 1.5rem !important;
     margin-bottom: 1.5rem !important;
   }
-  .my-xl-5 {
+  .my-5 {
     margin-top: 3rem !important;
     margin-bottom: 3rem !important;
   }
-  .my-xl-auto {
+  .my-auto {
     margin-top: auto !important;
     margin-bottom: auto !important;
   }
-  .mt-xl-0 {
+  .mt-0 {
     margin-top: 0 !important;
   }
-  .mt-xl-1 {
+  .mt-1 {
     margin-top: 0.25rem !important;
   }
-  .mt-xl-2 {
+  .mt-2 {
     margin-top: 0.5rem !important;
   }
-  .mt-xl-3 {
+  .mt-3 {
     margin-top: 1rem !important;
   }
-  .mt-xl-4 {
+  .mt-4 {
     margin-top: 1.5rem !important;
   }
-  .mt-xl-5 {
+  .mt-5 {
     margin-top: 3rem !important;
   }
-  .mt-xl-auto {
+  .mt-auto {
     margin-top: auto !important;
   }
-  .me-xl-0 {
+  .me-0 {
     margin-right: 0 !important;
   }
-  .me-xl-1 {
+  .me-1 {
     margin-right: 0.25rem !important;
   }
-  .me-xl-2 {
+  .me-2 {
     margin-right: 0.5rem !important;
   }
-  .me-xl-3 {
+  .me-3 {
     margin-right: 1rem !important;
   }
-  .me-xl-4 {
+  .me-4 {
     margin-right: 1.5rem !important;
   }
-  .me-xl-5 {
+  .me-5 {
     margin-right: 3rem !important;
   }
-  .me-xl-auto {
+  .me-auto {
     margin-right: auto !important;
   }
-  .mb-xl-0 {
+  .mb-0 {
     margin-bottom: 0 !important;
   }
-  .mb-xl-1 {
+  .mb-1 {
     margin-bottom: 0.25rem !important;
   }
-  .mb-xl-2 {
+  .mb-2 {
     margin-bottom: 0.5rem !important;
   }
-  .mb-xl-3 {
+  .mb-3 {
     margin-bottom: 1rem !important;
   }
-  .mb-xl-4 {
+  .mb-4 {
     margin-bottom: 1.5rem !important;
   }
-  .mb-xl-5 {
+  .mb-5 {
     margin-bottom: 3rem !important;
   }
-  .mb-xl-auto {
+  .mb-auto {
     margin-bottom: auto !important;
   }
-  .ms-xl-0 {
+  .ms-0 {
     margin-left: 0 !important;
   }
-  .ms-xl-1 {
+  .ms-1 {
     margin-left: 0.25rem !important;
   }
-  .ms-xl-2 {
+  .ms-2 {
     margin-left: 0.5rem !important;
   }
-  .ms-xl-3 {
+  .ms-3 {
     margin-left: 1rem !important;
   }
-  .ms-xl-4 {
+  .ms-4 {
     margin-left: 1.5rem !important;
   }
-  .ms-xl-5 {
+  .ms-5 {
     margin-left: 3rem !important;
   }
-  .ms-xl-auto {
+  .ms-auto {
     margin-left: auto !important;
   }
-  .p-xl-0 {
+  .p-0 {
     padding: 0 !important;
   }
-  .p-xl-1 {
+  .p-1 {
     padding: 0.25rem !important;
   }
-  .p-xl-2 {
+  .p-2 {
     padding: 0.5rem !important;
   }
-  .p-xl-3 {
+  .p-3 {
     padding: 1rem !important;
   }
-  .p-xl-4 {
+  .p-4 {
     padding: 1.5rem !important;
   }
-  .p-xl-5 {
+  .p-5 {
     padding: 3rem !important;
   }
-  .px-xl-0 {
+  .px-0 {
     padding-right: 0 !important;
     padding-left: 0 !important;
   }
-  .px-xl-1 {
+  .px-1 {
     padding-right: 0.25rem !important;
     padding-left: 0.25rem !important;
   }
-  .px-xl-2 {
+  .px-2 {
     padding-right: 0.5rem !important;
     padding-left: 0.5rem !important;
   }
-  .px-xl-3 {
+  .px-3 {
     padding-right: 1rem !important;
     padding-left: 1rem !important;
   }
-  .px-xl-4 {
+  .px-4 {
     padding-right: 1.5rem !important;
     padding-left: 1.5rem !important;
   }
-  .px-xl-5 {
+  .px-5 {
     padding-right: 3rem !important;
     padding-left: 3rem !important;
   }
-  .py-xl-0 {
+  .py-0 {
     padding-top: 0 !important;
     padding-bottom: 0 !important;
   }
-  .py-xl-1 {
+  .py-1 {
     padding-top: 0.25rem !important;
     padding-bottom: 0.25rem !important;
   }
-  .py-xl-2 {
+  .py-2 {
     padding-top: 0.5rem !important;
     padding-bottom: 0.5rem !important;
   }
-  .py-xl-3 {
+  .py-3 {
     padding-top: 1rem !important;
     padding-bottom: 1rem !important;
   }
-  .py-xl-4 {
+  .py-4 {
     padding-top: 1.5rem !important;
     padding-bottom: 1.5rem !important;
   }
-  .py-xl-5 {
+  .py-5 {
     padding-top: 3rem !important;
     padding-bottom: 3rem !important;
   }
-  .pt-xl-0 {
+  .pt-0 {
     padding-top: 0 !important;
   }
-  .pt-xl-1 {
+  .pt-1 {
     padding-top: 0.25rem !important;
   }
-  .pt-xl-2 {
+  .pt-2 {
     padding-top: 0.5rem !important;
   }
-  .pt-xl-3 {
+  .pt-3 {
     padding-top: 1rem !important;
   }
-  .pt-xl-4 {
+  .pt-4 {
     padding-top: 1.5rem !important;
   }
-  .pt-xl-5 {
+  .pt-5 {
     padding-top: 3rem !important;
   }
-  .pe-xl-0 {
+  .pe-0 {
     padding-right: 0 !important;
   }
-  .pe-xl-1 {
+  .pe-1 {
     padding-right: 0.25rem !important;
   }
-  .pe-xl-2 {
+  .pe-2 {
     padding-right: 0.5rem !important;
   }
-  .pe-xl-3 {
+  .pe-3 {
     padding-right: 1rem !important;
   }
-  .pe-xl-4 {
+  .pe-4 {
     padding-right: 1.5rem !important;
   }
-  .pe-xl-5 {
+  .pe-5 {
     padding-right: 3rem !important;
   }
-  .pb-xl-0 {
+  .pb-0 {
     padding-bottom: 0 !important;
   }
-  .pb-xl-1 {
+  .pb-1 {
     padding-bottom: 0.25rem !important;
   }
-  .pb-xl-2 {
+  .pb-2 {
     padding-bottom: 0.5rem !important;
   }
-  .pb-xl-3 {
+  .pb-3 {
     padding-bottom: 1rem !important;
   }
-  .pb-xl-4 {
+  .pb-4 {
     padding-bottom: 1.5rem !important;
   }
-  .pb-xl-5 {
+  .pb-5 {
     padding-bottom: 3rem !important;
   }
-  .ps-xl-0 {
+  .ps-0 {
     padding-left: 0 !important;
   }
-  .ps-xl-1 {
+  .ps-1 {
     padding-left: 0.25rem !important;
   }
-  .ps-xl-2 {
+  .ps-2 {
     padding-left: 0.5rem !important;
   }
-  .ps-xl-3 {
+  .ps-3 {
     padding-left: 1rem !important;
   }
-  .ps-xl-4 {
+  .ps-4 {
     padding-left: 1.5rem !important;
   }
-  .ps-xl-5 {
+  .ps-5 {
     padding-left: 3rem !important;
   }
-  .gap-xl-0 {
+  .gap-0 {
     gap: 0 !important;
   }
-  .gap-xl-1 {
+  .gap-1 {
     gap: 0.25rem !important;
   }
-  .gap-xl-2 {
+  .gap-2 {
     gap: 0.5rem !important;
   }
-  .gap-xl-3 {
+  .gap-3 {
     gap: 1rem !important;
   }
-  .gap-xl-4 {
+  .gap-4 {
     gap: 1.5rem !important;
   }
-  .gap-xl-5 {
+  .gap-5 {
     gap: 3rem !important;
   }
-  .row-gap-xl-0 {
+  .row-gap-0 {
     row-gap: 0 !important;
   }
-  .row-gap-xl-1 {
+  .row-gap-1 {
     row-gap: 0.25rem !important;
   }
-  .row-gap-xl-2 {
+  .row-gap-2 {
     row-gap: 0.5rem !important;
   }
-  .row-gap-xl-3 {
+  .row-gap-3 {
     row-gap: 1rem !important;
   }
-  .row-gap-xl-4 {
+  .row-gap-4 {
     row-gap: 1.5rem !important;
   }
-  .row-gap-xl-5 {
+  .row-gap-5 {
     row-gap: 3rem !important;
   }
-  .column-gap-xl-0 {
-    -moz-column-gap: 0 !important;
+  .column-gap-0 {
     column-gap: 0 !important;
   }
-  .column-gap-xl-1 {
-    -moz-column-gap: 0.25rem !important;
+  .column-gap-1 {
     column-gap: 0.25rem !important;
   }
-  .column-gap-xl-2 {
-    -moz-column-gap: 0.5rem !important;
+  .column-gap-2 {
     column-gap: 0.5rem !important;
   }
-  .column-gap-xl-3 {
-    -moz-column-gap: 1rem !important;
+  .column-gap-3 {
     column-gap: 1rem !important;
   }
-  .column-gap-xl-4 {
-    -moz-column-gap: 1.5rem !important;
+  .column-gap-4 {
     column-gap: 1.5rem !important;
   }
-  .column-gap-xl-5 {
-    -moz-column-gap: 3rem !important;
+  .column-gap-5 {
     column-gap: 3rem !important;
   }
-  .text-xl-start {
-    text-align: left !important;
-  }
-  .text-xl-end {
-    text-align: right !important;
-  }
-  .text-xl-center {
-    text-align: center !important;
-  }
-}
-@media (min-width: 1400px) {
-  .float-xxl-start {
-    float: left !important;
-  }
-  .float-xxl-end {
-    float: right !important;
-  }
-  .float-xxl-none {
-    float: none !important;
-  }
-  .object-fit-xxl-contain {
-    -o-object-fit: contain !important;
-    object-fit: contain !important;
-  }
-  .object-fit-xxl-cover {
-    -o-object-fit: cover !important;
-    object-fit: cover !important;
-  }
-  .object-fit-xxl-fill {
-    -o-object-fit: fill !important;
-    object-fit: fill !important;
+  .font-monospace {
+    font-family: var(--bs-font-monospace) !important;
   }
-  .object-fit-xxl-scale {
-    -o-object-fit: scale-down !important;
-    object-fit: scale-down !important;
+  .fs-1 {
+    font-size: rfs-fluid-value(2.5rem) !important;
   }
-  .object-fit-xxl-none {
-    -o-object-fit: none !important;
-    object-fit: none !important;
+  .fs-2 {
+    font-size: rfs-fluid-value(2rem) !important;
   }
-  .d-xxl-inline {
-    display: inline !important;
+  .fs-3 {
+    font-size: rfs-fluid-value(1.75rem) !important;
   }
-  .d-xxl-inline-block {
-    display: inline-block !important;
+  .fs-4 {
+    font-size: rfs-fluid-value(1.5rem) !important;
   }
-  .d-xxl-block {
-    display: block !important;
+  .fs-5 {
+    font-size: rfs-fluid-value(1.25rem) !important;
   }
-  .d-xxl-grid {
-    display: grid !important;
+  .fs-6 {
+    font-size: rfs-fluid-value(1rem) !important;
   }
-  .d-xxl-inline-grid {
-    display: inline-grid !important;
+  .fst-italic {
+    font-style: italic !important;
   }
-  .d-xxl-table {
-    display: table !important;
+  .fst-normal {
+    font-style: normal !important;
   }
-  .d-xxl-table-row {
-    display: table-row !important;
+  .fw-lighter {
+    font-weight: lighter !important;
   }
-  .d-xxl-table-cell {
-    display: table-cell !important;
+  .fw-light {
+    font-weight: 300 !important;
   }
-  .d-xxl-flex {
-    display: flex !important;
+  .fw-normal {
+    font-weight: 400 !important;
   }
-  .d-xxl-inline-flex {
-    display: inline-flex !important;
+  .fw-medium {
+    font-weight: 500 !important;
   }
-  .d-xxl-none {
-    display: none !important;
+  .fw-semibold {
+    font-weight: 600 !important;
   }
-  .flex-xxl-fill {
-    flex: 1 1 auto !important;
+  .fw-bold {
+    font-weight: 700 !important;
   }
-  .flex-xxl-row {
-    flex-direction: row !important;
+  .fw-bolder {
+    font-weight: bolder !important;
   }
-  .flex-xxl-column {
-    flex-direction: column !important;
+  .lh-1 {
+    line-height: 1 !important;
   }
-  .flex-xxl-row-reverse {
-    flex-direction: row-reverse !important;
+  .lh-sm {
+    line-height: 1.25 !important;
   }
-  .flex-xxl-column-reverse {
-    flex-direction: column-reverse !important;
+  .lh-base {
+    line-height: 1.5 !important;
   }
-  .flex-xxl-grow-0 {
-    flex-grow: 0 !important;
+  .lh-lg {
+    line-height: 2 !important;
   }
-  .flex-xxl-grow-1 {
-    flex-grow: 1 !important;
+  .text-start {
+    text-align: left !important;
   }
-  .flex-xxl-shrink-0 {
-    flex-shrink: 0 !important;
+  .text-end {
+    text-align: right !important;
   }
-  .flex-xxl-shrink-1 {
-    flex-shrink: 1 !important;
+  .text-center {
+    text-align: center !important;
   }
-  .flex-xxl-wrap {
-    flex-wrap: wrap !important;
+  .text-decoration-none {
+    text-decoration: none !important;
   }
-  .flex-xxl-nowrap {
-    flex-wrap: nowrap !important;
+  .text-decoration-underline {
+    text-decoration: underline !important;
   }
-  .flex-xxl-wrap-reverse {
-    flex-wrap: wrap-reverse !important;
+  .text-decoration-line-through {
+    text-decoration: line-through !important;
   }
-  .justify-content-xxl-start {
-    justify-content: flex-start !important;
+  .text-lowercase {
+    text-transform: lowercase !important;
   }
-  .justify-content-xxl-end {
-    justify-content: flex-end !important;
+  .text-uppercase {
+    text-transform: uppercase !important;
   }
-  .justify-content-xxl-center {
-    justify-content: center !important;
+  .text-capitalize {
+    text-transform: capitalize !important;
   }
-  .justify-content-xxl-between {
-    justify-content: space-between !important;
+  .text-wrap {
+    white-space: normal !important;
   }
-  .justify-content-xxl-around {
-    justify-content: space-around !important;
+  .text-nowrap {
+    white-space: nowrap !important;
   }
-  .justify-content-xxl-evenly {
-    justify-content: space-evenly !important;
+  /* rtl:begin:remove */
+  .text-break {
+    word-wrap: break-word !important;
+    word-break: break-word !important;
   }
-  .align-items-xxl-start {
-    align-items: flex-start !important;
+  /* rtl:end:remove */
+  .color- {
+    color: var(--bs-color) !important;
   }
-  .align-items-xxl-end {
-    align-items: flex-end !important;
+  .color-primary {
+    --bs-color: light-dark(var(--bs-blue-600), var(--bs-blue-300)) !important;
   }
-  .align-items-xxl-center {
-    align-items: center !important;
+  .color-accent {
+    --bs-color: light-dark(var(--bs-indigo-600), var(--bs-indigo-300)) !important;
   }
-  .align-items-xxl-baseline {
-    align-items: baseline !important;
+  .color-danger {
+    --bs-color: light-dark(var(--bs-red-600), var(--bs-red-300)) !important;
   }
-  .align-items-xxl-stretch {
-    align-items: stretch !important;
+  .color-warning {
+    --bs-color: light-dark(var(--bs-yellow-700), var(--bs-yellow-300)) !important;
   }
-  .align-content-xxl-start {
-    align-content: flex-start !important;
+  .color-success {
+    --bs-color: light-dark(var(--bs-green-600), var(--bs-green-300)) !important;
   }
-  .align-content-xxl-end {
-    align-content: flex-end !important;
+  .color-info {
+    --bs-color: light-dark(var(--bs-cyan-600), var(--bs-cyan-300)) !important;
   }
-  .align-content-xxl-center {
-    align-content: center !important;
+  .color-secondary {
+    --bs-color: light-dark(var(--bs-gray-600), var(--bs-gray-400)) !important;
   }
-  .align-content-xxl-between {
-    align-content: space-between !important;
+  .color {
+    --bs-color: light-dark(var(--bs-gray-900), var(--bs-gray-100)) !important;
   }
-  .align-content-xxl-around {
-    align-content: space-around !important;
+  .color-1 {
+    --bs-color: light-dark(var(--bs-gray-800), var(--bs-gray-200)) !important;
   }
-  .align-content-xxl-stretch {
-    align-content: stretch !important;
+  .color-2 {
+    --bs-color: light-dark(var(--bs-gray-700), var(--bs-gray-300)) !important;
   }
-  .align-self-xxl-auto {
-    align-self: auto !important;
+  .color-3 {
+    --bs-color: light-dark(var(--bs-gray-600), var(--bs-gray-400)) !important;
   }
-  .align-self-xxl-start {
-    align-self: flex-start !important;
+  .color-white {
+    --bs-color: var(--bs-white) !important;
   }
-  .align-self-xxl-end {
-    align-self: flex-end !important;
+  .color-black {
+    --bs-color: var(--bs-black) !important;
   }
-  .align-self-xxl-center {
-    align-self: center !important;
+  .color-inherit {
+    --bs-color: inherit !important;
   }
-  .align-self-xxl-baseline {
-    align-self: baseline !important;
+  .color-10 {
+    color: color-mix(in oklch, var(--bs-color) 10%, transparent) !important;
   }
-  .align-self-xxl-stretch {
-    align-self: stretch !important;
+  .color-20 {
+    color: color-mix(in oklch, var(--bs-color) 20%, transparent) !important;
   }
-  .order-xxl-first {
-    order: -1 !important;
+  .color-30 {
+    color: color-mix(in oklch, var(--bs-color) 30%, transparent) !important;
   }
-  .order-xxl-0 {
-    order: 0 !important;
+  .color-40 {
+    color: color-mix(in oklch, var(--bs-color) 40%, transparent) !important;
   }
-  .order-xxl-1 {
-    order: 1 !important;
+  .color-50 {
+    color: color-mix(in oklch, var(--bs-color) 50%, transparent) !important;
   }
-  .order-xxl-2 {
-    order: 2 !important;
+  .color-60 {
+    color: color-mix(in oklch, var(--bs-color) 60%, transparent) !important;
   }
-  .order-xxl-3 {
-    order: 3 !important;
+  .color-70 {
+    color: color-mix(in oklch, var(--bs-color) 70%, transparent) !important;
   }
-  .order-xxl-4 {
-    order: 4 !important;
+  .color-80 {
+    color: color-mix(in oklch, var(--bs-color) 80%, transparent) !important;
   }
-  .order-xxl-5 {
-    order: 5 !important;
+  .color-90 {
+    color: color-mix(in oklch, var(--bs-color) 90%, transparent) !important;
   }
-  .order-xxl-last {
-    order: 6 !important;
+  .color-100 {
+    color: var(--bs-color) !important;
   }
-  .m-xxl-0 {
-    margin: 0 !important;
+  .color-on-primary {
+    --bs-color: var(--bs-white) !important;
   }
-  .m-xxl-1 {
-    margin: 0.25rem !important;
+  .color-on-accent {
+    --bs-color: var(--bs-white) !important;
   }
-  .m-xxl-2 {
-    margin: 0.5rem !important;
+  .color-on-danger {
+    --bs-color: var(--bs-white) !important;
   }
-  .m-xxl-3 {
-    margin: 1rem !important;
+  .color-on-warning {
+    --bs-color: var(--bs-gray-900) !important;
   }
-  .m-xxl-4 {
-    margin: 1.5rem !important;
+  .color-on-success {
+    --bs-color: var(--bs-white) !important;
   }
-  .m-xxl-5 {
-    margin: 3rem !important;
+  .color-on-info {
+    --bs-color: var(--bs-gray-900) !important;
   }
-  .m-xxl-auto {
-    margin: auto !important;
+  .color-on-secondary {
+    --bs-color: light-dark(var(--bs-gray-900), var(--bs-white)) !important;
   }
-  .mx-xxl-0 {
-    margin-right: 0 !important;
-    margin-left: 0 !important;
+  .link-opacity-10 {
+    --bs-link-opacity: 0.1 !important;
   }
-  .mx-xxl-1 {
-    margin-right: 0.25rem !important;
-    margin-left: 0.25rem !important;
+  .link-opacity-10-hover:hover {
+    --bs-link-opacity: 0.1 !important;
   }
-  .mx-xxl-2 {
-    margin-right: 0.5rem !important;
-    margin-left: 0.5rem !important;
+  .link-opacity-25 {
+    --bs-link-opacity: 0.25 !important;
   }
-  .mx-xxl-3 {
-    margin-right: 1rem !important;
-    margin-left: 1rem !important;
+  .link-opacity-25-hover:hover {
+    --bs-link-opacity: 0.25 !important;
   }
-  .mx-xxl-4 {
-    margin-right: 1.5rem !important;
-    margin-left: 1.5rem !important;
+  .link-opacity-50 {
+    --bs-link-opacity: 0.5 !important;
   }
-  .mx-xxl-5 {
-    margin-right: 3rem !important;
-    margin-left: 3rem !important;
+  .link-opacity-50-hover:hover {
+    --bs-link-opacity: 0.5 !important;
   }
-  .mx-xxl-auto {
-    margin-right: auto !important;
-    margin-left: auto !important;
+  .link-opacity-75 {
+    --bs-link-opacity: 0.75 !important;
   }
-  .my-xxl-0 {
-    margin-top: 0 !important;
-    margin-bottom: 0 !important;
+  .link-opacity-75-hover:hover {
+    --bs-link-opacity: 0.75 !important;
   }
-  .my-xxl-1 {
-    margin-top: 0.25rem !important;
-    margin-bottom: 0.25rem !important;
+  .link-opacity-100 {
+    --bs-link-opacity: 1 !important;
   }
-  .my-xxl-2 {
-    margin-top: 0.5rem !important;
-    margin-bottom: 0.5rem !important;
+  .link-opacity-100-hover:hover {
+    --bs-link-opacity: 1 !important;
   }
-  .my-xxl-3 {
-    margin-top: 1rem !important;
-    margin-bottom: 1rem !important;
+  .link-offset-1 {
+    text-underline-offset: 0.125em !important;
   }
-  .my-xxl-4 {
-    margin-top: 1.5rem !important;
-    margin-bottom: 1.5rem !important;
+  .link-offset-1-hover:hover {
+    text-underline-offset: 0.125em !important;
   }
-  .my-xxl-5 {
-    margin-top: 3rem !important;
-    margin-bottom: 3rem !important;
+  .link-offset-2 {
+    text-underline-offset: 0.25em !important;
   }
-  .my-xxl-auto {
-    margin-top: auto !important;
-    margin-bottom: auto !important;
+  .link-offset-2-hover:hover {
+    text-underline-offset: 0.25em !important;
   }
-  .mt-xxl-0 {
-    margin-top: 0 !important;
+  .link-offset-3 {
+    text-underline-offset: 0.375em !important;
   }
-  .mt-xxl-1 {
-    margin-top: 0.25rem !important;
+  .link-offset-3-hover:hover {
+    text-underline-offset: 0.375em !important;
   }
-  .mt-xxl-2 {
-    margin-top: 0.5rem !important;
+  .link-underline-opacity-0 {
+    --bs-link-underline-opacity: 0 !important;
   }
-  .mt-xxl-3 {
-    margin-top: 1rem !important;
+  .link-underline-opacity-0-hover:hover {
+    --bs-link-underline-opacity: 0 !important;
   }
-  .mt-xxl-4 {
-    margin-top: 1.5rem !important;
+  .link-underline-opacity-10 {
+    --bs-link-underline-opacity: 0.1 !important;
   }
-  .mt-xxl-5 {
-    margin-top: 3rem !important;
+  .link-underline-opacity-10-hover:hover {
+    --bs-link-underline-opacity: 0.1 !important;
   }
-  .mt-xxl-auto {
-    margin-top: auto !important;
+  .link-underline-opacity-25 {
+    --bs-link-underline-opacity: 0.25 !important;
   }
-  .me-xxl-0 {
-    margin-right: 0 !important;
+  .link-underline-opacity-25-hover:hover {
+    --bs-link-underline-opacity: 0.25 !important;
   }
-  .me-xxl-1 {
-    margin-right: 0.25rem !important;
+  .link-underline-opacity-50 {
+    --bs-link-underline-opacity: 0.5 !important;
   }
-  .me-xxl-2 {
-    margin-right: 0.5rem !important;
+  .link-underline-opacity-50-hover:hover {
+    --bs-link-underline-opacity: 0.5 !important;
   }
-  .me-xxl-3 {
-    margin-right: 1rem !important;
+  .link-underline-opacity-75 {
+    --bs-link-underline-opacity: 0.75 !important;
   }
-  .me-xxl-4 {
-    margin-right: 1.5rem !important;
+  .link-underline-opacity-75-hover:hover {
+    --bs-link-underline-opacity: 0.75 !important;
   }
-  .me-xxl-5 {
-    margin-right: 3rem !important;
+  .link-underline-opacity-100 {
+    --bs-link-underline-opacity: 1 !important;
   }
-  .me-xxl-auto {
-    margin-right: auto !important;
+  .link-underline-opacity-100-hover:hover {
+    --bs-link-underline-opacity: 1 !important;
   }
-  .mb-xxl-0 {
-    margin-bottom: 0 !important;
+  .bg- {
+    background-color: var(--bs-bg) !important;
   }
-  .mb-xxl-1 {
-    margin-bottom: 0.25rem !important;
+  .bg-primary {
+    --bs-bg: light-dark(var(--bs-blue-500), var(--bs-blue-500)) !important;
   }
-  .mb-xxl-2 {
-    margin-bottom: 0.5rem !important;
+  .bg-accent {
+    --bs-bg: light-dark(var(--bs-indigo-500), var(--bs-indigo-500)) !important;
   }
-  .mb-xxl-3 {
-    margin-bottom: 1rem !important;
+  .bg-danger {
+    --bs-bg: light-dark(var(--bs-red-500), var(--bs-red-500)) !important;
   }
-  .mb-xxl-4 {
-    margin-bottom: 1.5rem !important;
+  .bg-warning {
+    --bs-bg: light-dark(var(--bs-yellow-500), var(--bs-yellow-500)) !important;
   }
-  .mb-xxl-5 {
-    margin-bottom: 3rem !important;
+  .bg-success {
+    --bs-bg: light-dark(var(--bs-green-500), var(--bs-green-500)) !important;
   }
-  .mb-xxl-auto {
-    margin-bottom: auto !important;
+  .bg-info {
+    --bs-bg: light-dark(var(--bs-cyan-500), var(--bs-cyan-500)) !important;
   }
-  .ms-xxl-0 {
-    margin-left: 0 !important;
+  .bg-secondary {
+    --bs-bg: light-dark(var(--bs-gray-300), var(--bs-gray-600)) !important;
   }
-  .ms-xxl-1 {
-    margin-left: 0.25rem !important;
+  .bg {
+    --bs-bg: light-dark(var(--bs-white), var(--bs-gray-900)) !important;
   }
-  .ms-xxl-2 {
-    margin-left: 0.5rem !important;
+  .bg-1 {
+    --bs-bg: light-dark(var(--bs-gray-100), color-mix(in srgb, var(--bs-gray-900), var(--bs-gray-800))) !important;
   }
-  .ms-xxl-3 {
-    margin-left: 1rem !important;
+  .bg-2 {
+    --bs-bg: light-dark(color-mix(in srgb, var(--bs-gray-100), var(--bs-gray-200)), color-mix(in srgb, var(--bs-gray-800), var(--bs-gray-700))) !important;
   }
-  .ms-xxl-4 {
-    margin-left: 1.5rem !important;
+  .bg-3 {
+    --bs-bg: light-dark(color-mix(in srgb, var(--bs-gray-200), var(--bs-gray-300)), color-mix(in srgb, var(--bs-gray-700), var(--bs-gray-600))) !important;
   }
-  .ms-xxl-5 {
-    margin-left: 3rem !important;
+  .bg-white {
+    --bs-bg: var(--bs-white) !important;
   }
-  .ms-xxl-auto {
-    margin-left: auto !important;
+  .bg-black {
+    --bs-bg: var(--bs-black) !important;
   }
-  .p-xxl-0 {
-    padding: 0 !important;
+  .bg-transparent {
+    --bs-bg: transparent !important;
   }
-  .p-xxl-1 {
-    padding: 0.25rem !important;
+  .bg-inherit {
+    --bs-bg: inherit !important;
   }
-  .p-xxl-2 {
-    padding: 0.5rem !important;
+  .bg-subtle-primary {
+    --bs-bg: light-dark(var(--bs-blue-100), var(--bs-blue-900)) !important;
   }
-  .p-xxl-3 {
-    padding: 1rem !important;
+  .bg-subtle-accent {
+    --bs-bg: light-dark(var(--bs-indigo-100), var(--bs-indigo-900)) !important;
   }
-  .p-xxl-4 {
-    padding: 1.5rem !important;
+  .bg-subtle-danger {
+    --bs-bg: light-dark(var(--bs-red-100), var(--bs-red-900)) !important;
   }
-  .p-xxl-5 {
-    padding: 3rem !important;
+  .bg-subtle-warning {
+    --bs-bg: light-dark(var(--bs-yellow-100), var(--bs-yellow-900)) !important;
   }
-  .px-xxl-0 {
-    padding-right: 0 !important;
-    padding-left: 0 !important;
+  .bg-subtle-success {
+    --bs-bg: light-dark(var(--bs-green-100), var(--bs-green-900)) !important;
   }
-  .px-xxl-1 {
-    padding-right: 0.25rem !important;
-    padding-left: 0.25rem !important;
+  .bg-subtle-info {
+    --bs-bg: light-dark(var(--bs-cyan-100), var(--bs-cyan-900)) !important;
   }
-  .px-xxl-2 {
-    padding-right: 0.5rem !important;
-    padding-left: 0.5rem !important;
+  .bg-subtle-secondary {
+    --bs-bg: light-dark(var(--bs-gray-100), var(--bs-gray-800)) !important;
   }
-  .px-xxl-3 {
-    padding-right: 1rem !important;
-    padding-left: 1rem !important;
+  .bg-muted-primary {
+    --bs-bg: light-dark(var(--bs-blue-200), var(--bs-blue-800)) !important;
   }
-  .px-xxl-4 {
-    padding-right: 1.5rem !important;
-    padding-left: 1.5rem !important;
+  .bg-muted-accent {
+    --bs-bg: light-dark(var(--bs-indigo-200), var(--bs-indigo-800)) !important;
   }
-  .px-xxl-5 {
-    padding-right: 3rem !important;
-    padding-left: 3rem !important;
+  .bg-muted-danger {
+    --bs-bg: light-dark(var(--bs-red-200), var(--bs-red-800)) !important;
   }
-  .py-xxl-0 {
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
+  .bg-muted-warning {
+    --bs-bg: light-dark(var(--bs-yellow-200), var(--bs-yellow-800)) !important;
   }
-  .py-xxl-1 {
-    padding-top: 0.25rem !important;
-    padding-bottom: 0.25rem !important;
+  .bg-muted-success {
+    --bs-bg: light-dark(var(--bs-green-200), var(--bs-green-800)) !important;
   }
-  .py-xxl-2 {
-    padding-top: 0.5rem !important;
-    padding-bottom: 0.5rem !important;
+  .bg-muted-info {
+    --bs-bg: light-dark(var(--bs-cyan-200), var(--bs-cyan-800)) !important;
   }
-  .py-xxl-3 {
-    padding-top: 1rem !important;
-    padding-bottom: 1rem !important;
+  .bg-muted-secondary {
+    --bs-bg: light-dark(var(--bs-gray-200), var(--bs-gray-700)) !important;
   }
-  .py-xxl-4 {
-    padding-top: 1.5rem !important;
-    padding-bottom: 1.5rem !important;
+  .bg-10 {
+    background-color: color-mix(in oklch, var(--bs-bg) 10%, transparent) !important;
   }
-  .py-xxl-5 {
-    padding-top: 3rem !important;
-    padding-bottom: 3rem !important;
+  .bg-20 {
+    background-color: color-mix(in oklch, var(--bs-bg) 20%, transparent) !important;
   }
-  .pt-xxl-0 {
-    padding-top: 0 !important;
+  .bg-30 {
+    background-color: color-mix(in oklch, var(--bs-bg) 30%, transparent) !important;
   }
-  .pt-xxl-1 {
-    padding-top: 0.25rem !important;
+  .bg-40 {
+    background-color: color-mix(in oklch, var(--bs-bg) 40%, transparent) !important;
   }
-  .pt-xxl-2 {
-    padding-top: 0.5rem !important;
+  .bg-50 {
+    background-color: color-mix(in oklch, var(--bs-bg) 50%, transparent) !important;
   }
-  .pt-xxl-3 {
-    padding-top: 1rem !important;
+  .bg-60 {
+    background-color: color-mix(in oklch, var(--bs-bg) 60%, transparent) !important;
   }
-  .pt-xxl-4 {
-    padding-top: 1.5rem !important;
+  .bg-70 {
+    background-color: color-mix(in oklch, var(--bs-bg) 70%, transparent) !important;
   }
-  .pt-xxl-5 {
-    padding-top: 3rem !important;
+  .bg-80 {
+    background-color: color-mix(in oklch, var(--bs-bg) 80%, transparent) !important;
   }
-  .pe-xxl-0 {
-    padding-right: 0 !important;
+  .bg-90 {
+    background-color: color-mix(in oklch, var(--bs-bg) 90%, transparent) !important;
   }
-  .pe-xxl-1 {
-    padding-right: 0.25rem !important;
+  .bg-100 {
+    background-color: var(--bs-bg) !important;
   }
-  .pe-xxl-2 {
-    padding-right: 0.5rem !important;
+  .bg-gradient {
+    background-image: var(--bs-gradient) !important;
   }
-  .pe-xxl-3 {
-    padding-right: 1rem !important;
+  .user-select-all {
+    user-select: all !important;
   }
-  .pe-xxl-4 {
-    padding-right: 1.5rem !important;
+  .user-select-auto {
+    user-select: auto !important;
   }
-  .pe-xxl-5 {
-    padding-right: 3rem !important;
+  .user-select-none {
+    user-select: none !important;
   }
-  .pb-xxl-0 {
-    padding-bottom: 0 !important;
+  .pe-none {
+    pointer-events: none !important;
   }
-  .pb-xxl-1 {
-    padding-bottom: 0.25rem !important;
+  .pe-auto {
+    pointer-events: auto !important;
   }
-  .pb-xxl-2 {
-    padding-bottom: 0.5rem !important;
+  .rounded {
+    border-radius: var(--bs-border-radius) !important;
   }
-  .pb-xxl-3 {
-    padding-bottom: 1rem !important;
+  .rounded-0 {
+    border-radius: 0 !important;
   }
-  .pb-xxl-4 {
-    padding-bottom: 1.5rem !important;
+  .rounded-1 {
+    border-radius: var(--bs-border-radius-sm) !important;
   }
-  .pb-xxl-5 {
-    padding-bottom: 3rem !important;
+  .rounded-2 {
+    border-radius: var(--bs-border-radius) !important;
   }
-  .ps-xxl-0 {
-    padding-left: 0 !important;
+  .rounded-3 {
+    border-radius: var(--bs-border-radius-lg) !important;
   }
-  .ps-xxl-1 {
-    padding-left: 0.25rem !important;
+  .rounded-4 {
+    border-radius: var(--bs-border-radius-xl) !important;
   }
-  .ps-xxl-2 {
-    padding-left: 0.5rem !important;
+  .rounded-5 {
+    border-radius: var(--bs-border-radius-2xl) !important;
   }
-  .ps-xxl-3 {
-    padding-left: 1rem !important;
+  .rounded-circle {
+    border-radius: 50% !important;
   }
-  .ps-xxl-4 {
-    padding-left: 1.5rem !important;
+  .rounded-pill {
+    border-radius: var(--bs-border-radius-pill) !important;
   }
-  .ps-xxl-5 {
-    padding-left: 3rem !important;
+  .rounded-top {
+    border-top-left-radius: var(--bs-border-radius) !important;
+    border-top-right-radius: var(--bs-border-radius) !important;
   }
-  .gap-xxl-0 {
-    gap: 0 !important;
+  .rounded-top-0 {
+    border-top-left-radius: 0 !important;
+    border-top-right-radius: 0 !important;
   }
-  .gap-xxl-1 {
-    gap: 0.25rem !important;
+  .rounded-top-1 {
+    border-top-left-radius: var(--bs-border-radius-sm) !important;
+    border-top-right-radius: var(--bs-border-radius-sm) !important;
   }
-  .gap-xxl-2 {
-    gap: 0.5rem !important;
+  .rounded-top-2 {
+    border-top-left-radius: var(--bs-border-radius) !important;
+    border-top-right-radius: var(--bs-border-radius) !important;
   }
-  .gap-xxl-3 {
-    gap: 1rem !important;
+  .rounded-top-3 {
+    border-top-left-radius: var(--bs-border-radius-lg) !important;
+    border-top-right-radius: var(--bs-border-radius-lg) !important;
   }
-  .gap-xxl-4 {
-    gap: 1.5rem !important;
+  .rounded-top-4 {
+    border-top-left-radius: var(--bs-border-radius-xl) !important;
+    border-top-right-radius: var(--bs-border-radius-xl) !important;
   }
-  .gap-xxl-5 {
-    gap: 3rem !important;
+  .rounded-top-5 {
+    border-top-left-radius: var(--bs-border-radius-2xl) !important;
+    border-top-right-radius: var(--bs-border-radius-2xl) !important;
   }
-  .row-gap-xxl-0 {
-    row-gap: 0 !important;
+  .rounded-top-circle {
+    border-top-left-radius: 50% !important;
+    border-top-right-radius: 50% !important;
   }
-  .row-gap-xxl-1 {
-    row-gap: 0.25rem !important;
+  .rounded-top-pill {
+    border-top-left-radius: var(--bs-border-radius-pill) !important;
+    border-top-right-radius: var(--bs-border-radius-pill) !important;
   }
-  .row-gap-xxl-2 {
-    row-gap: 0.5rem !important;
+  .rounded-end {
+    border-top-right-radius: var(--bs-border-radius) !important;
+    border-bottom-right-radius: var(--bs-border-radius) !important;
   }
-  .row-gap-xxl-3 {
-    row-gap: 1rem !important;
+  .rounded-end-0 {
+    border-top-right-radius: 0 !important;
+    border-bottom-right-radius: 0 !important;
   }
-  .row-gap-xxl-4 {
-    row-gap: 1.5rem !important;
+  .rounded-end-1 {
+    border-top-right-radius: var(--bs-border-radius-sm) !important;
+    border-bottom-right-radius: var(--bs-border-radius-sm) !important;
   }
-  .row-gap-xxl-5 {
-    row-gap: 3rem !important;
+  .rounded-end-2 {
+    border-top-right-radius: var(--bs-border-radius) !important;
+    border-bottom-right-radius: var(--bs-border-radius) !important;
   }
-  .column-gap-xxl-0 {
-    -moz-column-gap: 0 !important;
-    column-gap: 0 !important;
+  .rounded-end-3 {
+    border-top-right-radius: var(--bs-border-radius-lg) !important;
+    border-bottom-right-radius: var(--bs-border-radius-lg) !important;
   }
-  .column-gap-xxl-1 {
-    -moz-column-gap: 0.25rem !important;
-    column-gap: 0.25rem !important;
+  .rounded-end-4 {
+    border-top-right-radius: var(--bs-border-radius-xl) !important;
+    border-bottom-right-radius: var(--bs-border-radius-xl) !important;
   }
-  .column-gap-xxl-2 {
-    -moz-column-gap: 0.5rem !important;
-    column-gap: 0.5rem !important;
+  .rounded-end-5 {
+    border-top-right-radius: var(--bs-border-radius-2xl) !important;
+    border-bottom-right-radius: var(--bs-border-radius-2xl) !important;
   }
-  .column-gap-xxl-3 {
-    -moz-column-gap: 1rem !important;
-    column-gap: 1rem !important;
+  .rounded-end-circle {
+    border-top-right-radius: 50% !important;
+    border-bottom-right-radius: 50% !important;
   }
-  .column-gap-xxl-4 {
-    -moz-column-gap: 1.5rem !important;
-    column-gap: 1.5rem !important;
+  .rounded-end-pill {
+    border-top-right-radius: var(--bs-border-radius-pill) !important;
+    border-bottom-right-radius: var(--bs-border-radius-pill) !important;
   }
-  .column-gap-xxl-5 {
-    -moz-column-gap: 3rem !important;
-    column-gap: 3rem !important;
+  .rounded-bottom {
+    border-bottom-right-radius: var(--bs-border-radius) !important;
+    border-bottom-left-radius: var(--bs-border-radius) !important;
   }
-  .text-xxl-start {
-    text-align: left !important;
+  .rounded-bottom-0 {
+    border-bottom-right-radius: 0 !important;
+    border-bottom-left-radius: 0 !important;
   }
-  .text-xxl-end {
-    text-align: right !important;
+  .rounded-bottom-1 {
+    border-bottom-right-radius: var(--bs-border-radius-sm) !important;
+    border-bottom-left-radius: var(--bs-border-radius-sm) !important;
   }
-  .text-xxl-center {
-    text-align: center !important;
+  .rounded-bottom-2 {
+    border-bottom-right-radius: var(--bs-border-radius) !important;
+    border-bottom-left-radius: var(--bs-border-radius) !important;
   }
-}
-@media (min-width: 1200px) {
-  .fs-1 {
-    font-size: 2.5rem !important;
+  .rounded-bottom-3 {
+    border-bottom-right-radius: var(--bs-border-radius-lg) !important;
+    border-bottom-left-radius: var(--bs-border-radius-lg) !important;
   }
-  .fs-2 {
-    font-size: 2rem !important;
+  .rounded-bottom-4 {
+    border-bottom-right-radius: var(--bs-border-radius-xl) !important;
+    border-bottom-left-radius: var(--bs-border-radius-xl) !important;
   }
-  .fs-3 {
-    font-size: 1.75rem !important;
+  .rounded-bottom-5 {
+    border-bottom-right-radius: var(--bs-border-radius-2xl) !important;
+    border-bottom-left-radius: var(--bs-border-radius-2xl) !important;
   }
-  .fs-4 {
-    font-size: 1.5rem !important;
+  .rounded-bottom-circle {
+    border-bottom-right-radius: 50% !important;
+    border-bottom-left-radius: 50% !important;
   }
-}
-@media print {
-  .d-print-inline {
-    display: inline !important;
+  .rounded-bottom-pill {
+    border-bottom-right-radius: var(--bs-border-radius-pill) !important;
+    border-bottom-left-radius: var(--bs-border-radius-pill) !important;
   }
-  .d-print-inline-block {
-    display: inline-block !important;
+  .rounded-start {
+    border-bottom-left-radius: var(--bs-border-radius) !important;
+    border-top-left-radius: var(--bs-border-radius) !important;
   }
-  .d-print-block {
-    display: block !important;
+  .rounded-start-0 {
+    border-bottom-left-radius: 0 !important;
+    border-top-left-radius: 0 !important;
   }
-  .d-print-grid {
-    display: grid !important;
+  .rounded-start-1 {
+    border-bottom-left-radius: var(--bs-border-radius-sm) !important;
+    border-top-left-radius: var(--bs-border-radius-sm) !important;
   }
-  .d-print-inline-grid {
-    display: inline-grid !important;
+  .rounded-start-2 {
+    border-bottom-left-radius: var(--bs-border-radius) !important;
+    border-top-left-radius: var(--bs-border-radius) !important;
   }
-  .d-print-table {
-    display: table !important;
+  .rounded-start-3 {
+    border-bottom-left-radius: var(--bs-border-radius-lg) !important;
+    border-top-left-radius: var(--bs-border-radius-lg) !important;
   }
-  .d-print-table-row {
-    display: table-row !important;
+  .rounded-start-4 {
+    border-bottom-left-radius: var(--bs-border-radius-xl) !important;
+    border-top-left-radius: var(--bs-border-radius-xl) !important;
   }
-  .d-print-table-cell {
-    display: table-cell !important;
+  .rounded-start-5 {
+    border-bottom-left-radius: var(--bs-border-radius-2xl) !important;
+    border-top-left-radius: var(--bs-border-radius-2xl) !important;
   }
-  .d-print-flex {
-    display: flex !important;
+  .rounded-start-circle {
+    border-bottom-left-radius: 50% !important;
+    border-top-left-radius: 50% !important;
   }
-  .d-print-inline-flex {
-    display: inline-flex !important;
+  .rounded-start-pill {
+    border-bottom-left-radius: var(--bs-border-radius-pill) !important;
+    border-top-left-radius: var(--bs-border-radius-pill) !important;
   }
-  .d-print-none {
-    display: none !important;
+  .visible {
+    visibility: visible !important;
   }
-}
-
-/*# sourceMappingURL=bootstrap.css.map */
\ No newline at end of file
+  .invisible {
+    visibility: hidden !important;
+  }
+  .z-n1 {
+    z-index: -1 !important;
+  }
+  .z-0 {
+    z-index: 0 !important;
+  }
+  .z-1 {
+    z-index: 1 !important;
+  }
+  .z-2 {
+    z-index: 2 !important;
+  }
+  .z-3 {
+    z-index: 3 !important;
+  }
+  @media (min-width: 576px) {
+    .float-sm-start {
+      float: left !important;
+    }
+    .float-sm-end {
+      float: right !important;
+    }
+    .float-sm-none {
+      float: none !important;
+    }
+    .object-fit-sm-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-sm-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-sm-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-sm-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-sm-none {
+      object-fit: none !important;
+    }
+    .d-sm-inline {
+      display: inline !important;
+    }
+    .d-sm-inline-block {
+      display: inline-block !important;
+    }
+    .d-sm-block {
+      display: block !important;
+    }
+    .d-sm-grid {
+      display: grid !important;
+    }
+    .d-sm-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-sm-table {
+      display: table !important;
+    }
+    .d-sm-table-row {
+      display: table-row !important;
+    }
+    .d-sm-table-cell {
+      display: table-cell !important;
+    }
+    .d-sm-flex {
+      display: flex !important;
+    }
+    .d-sm-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-sm-flow-root {
+      display: flow-root !important;
+    }
+    .d-sm-none {
+      display: none !important;
+    }
+    .flex-sm-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-sm-row {
+      flex-direction: row !important;
+    }
+    .flex-sm-column {
+      flex-direction: column !important;
+    }
+    .flex-sm-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-sm-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-sm-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-sm-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-sm-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-sm-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-sm-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-sm-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-sm-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-sm-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-sm-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-sm-center {
+      justify-content: center !important;
+    }
+    .justify-content-sm-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-sm-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-sm-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-sm-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-sm-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-sm-center {
+      justify-self: center !important;
+    }
+    .align-items-sm-start {
+      align-items: flex-start !important;
+    }
+    .align-items-sm-end {
+      align-items: flex-end !important;
+    }
+    .align-items-sm-center {
+      align-items: center !important;
+    }
+    .align-items-sm-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-sm-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-sm-start {
+      align-content: flex-start !important;
+    }
+    .align-content-sm-end {
+      align-content: flex-end !important;
+    }
+    .align-content-sm-center {
+      align-content: center !important;
+    }
+    .align-content-sm-between {
+      align-content: space-between !important;
+    }
+    .align-content-sm-around {
+      align-content: space-around !important;
+    }
+    .align-content-sm-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-sm-auto {
+      align-self: auto !important;
+    }
+    .align-self-sm-start {
+      align-self: flex-start !important;
+    }
+    .align-self-sm-end {
+      align-self: flex-end !important;
+    }
+    .align-self-sm-center {
+      align-self: center !important;
+    }
+    .align-self-sm-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-sm-stretch {
+      align-self: stretch !important;
+    }
+    .order-sm-first {
+      order: -1 !important;
+    }
+    .order-sm-0 {
+      order: 0 !important;
+    }
+    .order-sm-1 {
+      order: 1 !important;
+    }
+    .order-sm-2 {
+      order: 2 !important;
+    }
+    .order-sm-3 {
+      order: 3 !important;
+    }
+    .order-sm-4 {
+      order: 4 !important;
+    }
+    .order-sm-5 {
+      order: 5 !important;
+    }
+    .order-sm-last {
+      order: 6 !important;
+    }
+    .m-sm-0 {
+      margin: 0 !important;
+    }
+    .m-sm-1 {
+      margin: 0.25rem !important;
+    }
+    .m-sm-2 {
+      margin: 0.5rem !important;
+    }
+    .m-sm-3 {
+      margin: 1rem !important;
+    }
+    .m-sm-4 {
+      margin: 1.5rem !important;
+    }
+    .m-sm-5 {
+      margin: 3rem !important;
+    }
+    .m-sm-auto {
+      margin: auto !important;
+    }
+    .mx-sm-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-sm-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-sm-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-sm-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-sm-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-sm-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-sm-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-sm-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-sm-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-sm-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-sm-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-sm-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-sm-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-sm-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-sm-0 {
+      margin-top: 0 !important;
+    }
+    .mt-sm-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-sm-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-sm-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-sm-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-sm-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-sm-auto {
+      margin-top: auto !important;
+    }
+    .me-sm-0 {
+      margin-right: 0 !important;
+    }
+    .me-sm-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-sm-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-sm-3 {
+      margin-right: 1rem !important;
+    }
+    .me-sm-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-sm-5 {
+      margin-right: 3rem !important;
+    }
+    .me-sm-auto {
+      margin-right: auto !important;
+    }
+    .mb-sm-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-sm-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-sm-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-sm-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-sm-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-sm-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-sm-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-sm-0 {
+      margin-left: 0 !important;
+    }
+    .ms-sm-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-sm-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-sm-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-sm-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-sm-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-sm-auto {
+      margin-left: auto !important;
+    }
+    .p-sm-0 {
+      padding: 0 !important;
+    }
+    .p-sm-1 {
+      padding: 0.25rem !important;
+    }
+    .p-sm-2 {
+      padding: 0.5rem !important;
+    }
+    .p-sm-3 {
+      padding: 1rem !important;
+    }
+    .p-sm-4 {
+      padding: 1.5rem !important;
+    }
+    .p-sm-5 {
+      padding: 3rem !important;
+    }
+    .px-sm-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-sm-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-sm-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-sm-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-sm-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-sm-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-sm-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-sm-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-sm-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-sm-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-sm-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-sm-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-sm-0 {
+      padding-top: 0 !important;
+    }
+    .pt-sm-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-sm-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-sm-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-sm-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-sm-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-sm-0 {
+      padding-right: 0 !important;
+    }
+    .pe-sm-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-sm-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-sm-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-sm-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-sm-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-sm-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-sm-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-sm-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-sm-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-sm-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-sm-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-sm-0 {
+      padding-left: 0 !important;
+    }
+    .ps-sm-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-sm-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-sm-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-sm-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-sm-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-sm-0 {
+      gap: 0 !important;
+    }
+    .gap-sm-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-sm-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-sm-3 {
+      gap: 1rem !important;
+    }
+    .gap-sm-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-sm-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-sm-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-sm-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-sm-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-sm-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-sm-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-sm-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-sm-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-sm-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-sm-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-sm-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-sm-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-sm-5 {
+      column-gap: 3rem !important;
+    }
+    .text-sm-start {
+      text-align: left !important;
+    }
+    .text-sm-end {
+      text-align: right !important;
+    }
+    .text-sm-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 768px) {
+    .float-md-start {
+      float: left !important;
+    }
+    .float-md-end {
+      float: right !important;
+    }
+    .float-md-none {
+      float: none !important;
+    }
+    .object-fit-md-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-md-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-md-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-md-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-md-none {
+      object-fit: none !important;
+    }
+    .d-md-inline {
+      display: inline !important;
+    }
+    .d-md-inline-block {
+      display: inline-block !important;
+    }
+    .d-md-block {
+      display: block !important;
+    }
+    .d-md-grid {
+      display: grid !important;
+    }
+    .d-md-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-md-table {
+      display: table !important;
+    }
+    .d-md-table-row {
+      display: table-row !important;
+    }
+    .d-md-table-cell {
+      display: table-cell !important;
+    }
+    .d-md-flex {
+      display: flex !important;
+    }
+    .d-md-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-md-flow-root {
+      display: flow-root !important;
+    }
+    .d-md-none {
+      display: none !important;
+    }
+    .flex-md-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-md-row {
+      flex-direction: row !important;
+    }
+    .flex-md-column {
+      flex-direction: column !important;
+    }
+    .flex-md-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-md-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-md-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-md-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-md-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-md-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-md-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-md-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-md-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-md-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-md-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-md-center {
+      justify-content: center !important;
+    }
+    .justify-content-md-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-md-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-md-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-md-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-md-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-md-center {
+      justify-self: center !important;
+    }
+    .align-items-md-start {
+      align-items: flex-start !important;
+    }
+    .align-items-md-end {
+      align-items: flex-end !important;
+    }
+    .align-items-md-center {
+      align-items: center !important;
+    }
+    .align-items-md-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-md-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-md-start {
+      align-content: flex-start !important;
+    }
+    .align-content-md-end {
+      align-content: flex-end !important;
+    }
+    .align-content-md-center {
+      align-content: center !important;
+    }
+    .align-content-md-between {
+      align-content: space-between !important;
+    }
+    .align-content-md-around {
+      align-content: space-around !important;
+    }
+    .align-content-md-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-md-auto {
+      align-self: auto !important;
+    }
+    .align-self-md-start {
+      align-self: flex-start !important;
+    }
+    .align-self-md-end {
+      align-self: flex-end !important;
+    }
+    .align-self-md-center {
+      align-self: center !important;
+    }
+    .align-self-md-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-md-stretch {
+      align-self: stretch !important;
+    }
+    .order-md-first {
+      order: -1 !important;
+    }
+    .order-md-0 {
+      order: 0 !important;
+    }
+    .order-md-1 {
+      order: 1 !important;
+    }
+    .order-md-2 {
+      order: 2 !important;
+    }
+    .order-md-3 {
+      order: 3 !important;
+    }
+    .order-md-4 {
+      order: 4 !important;
+    }
+    .order-md-5 {
+      order: 5 !important;
+    }
+    .order-md-last {
+      order: 6 !important;
+    }
+    .m-md-0 {
+      margin: 0 !important;
+    }
+    .m-md-1 {
+      margin: 0.25rem !important;
+    }
+    .m-md-2 {
+      margin: 0.5rem !important;
+    }
+    .m-md-3 {
+      margin: 1rem !important;
+    }
+    .m-md-4 {
+      margin: 1.5rem !important;
+    }
+    .m-md-5 {
+      margin: 3rem !important;
+    }
+    .m-md-auto {
+      margin: auto !important;
+    }
+    .mx-md-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-md-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-md-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-md-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-md-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-md-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-md-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-md-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-md-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-md-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-md-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-md-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-md-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-md-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-md-0 {
+      margin-top: 0 !important;
+    }
+    .mt-md-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-md-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-md-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-md-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-md-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-md-auto {
+      margin-top: auto !important;
+    }
+    .me-md-0 {
+      margin-right: 0 !important;
+    }
+    .me-md-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-md-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-md-3 {
+      margin-right: 1rem !important;
+    }
+    .me-md-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-md-5 {
+      margin-right: 3rem !important;
+    }
+    .me-md-auto {
+      margin-right: auto !important;
+    }
+    .mb-md-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-md-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-md-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-md-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-md-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-md-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-md-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-md-0 {
+      margin-left: 0 !important;
+    }
+    .ms-md-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-md-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-md-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-md-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-md-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-md-auto {
+      margin-left: auto !important;
+    }
+    .p-md-0 {
+      padding: 0 !important;
+    }
+    .p-md-1 {
+      padding: 0.25rem !important;
+    }
+    .p-md-2 {
+      padding: 0.5rem !important;
+    }
+    .p-md-3 {
+      padding: 1rem !important;
+    }
+    .p-md-4 {
+      padding: 1.5rem !important;
+    }
+    .p-md-5 {
+      padding: 3rem !important;
+    }
+    .px-md-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-md-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-md-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-md-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-md-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-md-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-md-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-md-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-md-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-md-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-md-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-md-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-md-0 {
+      padding-top: 0 !important;
+    }
+    .pt-md-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-md-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-md-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-md-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-md-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-md-0 {
+      padding-right: 0 !important;
+    }
+    .pe-md-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-md-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-md-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-md-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-md-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-md-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-md-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-md-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-md-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-md-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-md-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-md-0 {
+      padding-left: 0 !important;
+    }
+    .ps-md-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-md-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-md-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-md-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-md-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-md-0 {
+      gap: 0 !important;
+    }
+    .gap-md-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-md-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-md-3 {
+      gap: 1rem !important;
+    }
+    .gap-md-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-md-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-md-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-md-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-md-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-md-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-md-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-md-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-md-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-md-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-md-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-md-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-md-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-md-5 {
+      column-gap: 3rem !important;
+    }
+    .text-md-start {
+      text-align: left !important;
+    }
+    .text-md-end {
+      text-align: right !important;
+    }
+    .text-md-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 992px) {
+    .float-lg-start {
+      float: left !important;
+    }
+    .float-lg-end {
+      float: right !important;
+    }
+    .float-lg-none {
+      float: none !important;
+    }
+    .object-fit-lg-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-lg-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-lg-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-lg-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-lg-none {
+      object-fit: none !important;
+    }
+    .d-lg-inline {
+      display: inline !important;
+    }
+    .d-lg-inline-block {
+      display: inline-block !important;
+    }
+    .d-lg-block {
+      display: block !important;
+    }
+    .d-lg-grid {
+      display: grid !important;
+    }
+    .d-lg-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-lg-table {
+      display: table !important;
+    }
+    .d-lg-table-row {
+      display: table-row !important;
+    }
+    .d-lg-table-cell {
+      display: table-cell !important;
+    }
+    .d-lg-flex {
+      display: flex !important;
+    }
+    .d-lg-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-lg-flow-root {
+      display: flow-root !important;
+    }
+    .d-lg-none {
+      display: none !important;
+    }
+    .flex-lg-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-lg-row {
+      flex-direction: row !important;
+    }
+    .flex-lg-column {
+      flex-direction: column !important;
+    }
+    .flex-lg-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-lg-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-lg-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-lg-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-lg-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-lg-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-lg-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-lg-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-lg-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-lg-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-lg-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-lg-center {
+      justify-content: center !important;
+    }
+    .justify-content-lg-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-lg-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-lg-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-lg-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-lg-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-lg-center {
+      justify-self: center !important;
+    }
+    .align-items-lg-start {
+      align-items: flex-start !important;
+    }
+    .align-items-lg-end {
+      align-items: flex-end !important;
+    }
+    .align-items-lg-center {
+      align-items: center !important;
+    }
+    .align-items-lg-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-lg-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-lg-start {
+      align-content: flex-start !important;
+    }
+    .align-content-lg-end {
+      align-content: flex-end !important;
+    }
+    .align-content-lg-center {
+      align-content: center !important;
+    }
+    .align-content-lg-between {
+      align-content: space-between !important;
+    }
+    .align-content-lg-around {
+      align-content: space-around !important;
+    }
+    .align-content-lg-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-lg-auto {
+      align-self: auto !important;
+    }
+    .align-self-lg-start {
+      align-self: flex-start !important;
+    }
+    .align-self-lg-end {
+      align-self: flex-end !important;
+    }
+    .align-self-lg-center {
+      align-self: center !important;
+    }
+    .align-self-lg-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-lg-stretch {
+      align-self: stretch !important;
+    }
+    .order-lg-first {
+      order: -1 !important;
+    }
+    .order-lg-0 {
+      order: 0 !important;
+    }
+    .order-lg-1 {
+      order: 1 !important;
+    }
+    .order-lg-2 {
+      order: 2 !important;
+    }
+    .order-lg-3 {
+      order: 3 !important;
+    }
+    .order-lg-4 {
+      order: 4 !important;
+    }
+    .order-lg-5 {
+      order: 5 !important;
+    }
+    .order-lg-last {
+      order: 6 !important;
+    }
+    .m-lg-0 {
+      margin: 0 !important;
+    }
+    .m-lg-1 {
+      margin: 0.25rem !important;
+    }
+    .m-lg-2 {
+      margin: 0.5rem !important;
+    }
+    .m-lg-3 {
+      margin: 1rem !important;
+    }
+    .m-lg-4 {
+      margin: 1.5rem !important;
+    }
+    .m-lg-5 {
+      margin: 3rem !important;
+    }
+    .m-lg-auto {
+      margin: auto !important;
+    }
+    .mx-lg-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-lg-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-lg-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-lg-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-lg-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-lg-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-lg-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-lg-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-lg-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-lg-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-lg-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-lg-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-lg-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-lg-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-lg-0 {
+      margin-top: 0 !important;
+    }
+    .mt-lg-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-lg-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-lg-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-lg-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-lg-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-lg-auto {
+      margin-top: auto !important;
+    }
+    .me-lg-0 {
+      margin-right: 0 !important;
+    }
+    .me-lg-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-lg-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-lg-3 {
+      margin-right: 1rem !important;
+    }
+    .me-lg-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-lg-5 {
+      margin-right: 3rem !important;
+    }
+    .me-lg-auto {
+      margin-right: auto !important;
+    }
+    .mb-lg-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-lg-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-lg-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-lg-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-lg-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-lg-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-lg-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-lg-0 {
+      margin-left: 0 !important;
+    }
+    .ms-lg-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-lg-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-lg-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-lg-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-lg-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-lg-auto {
+      margin-left: auto !important;
+    }
+    .p-lg-0 {
+      padding: 0 !important;
+    }
+    .p-lg-1 {
+      padding: 0.25rem !important;
+    }
+    .p-lg-2 {
+      padding: 0.5rem !important;
+    }
+    .p-lg-3 {
+      padding: 1rem !important;
+    }
+    .p-lg-4 {
+      padding: 1.5rem !important;
+    }
+    .p-lg-5 {
+      padding: 3rem !important;
+    }
+    .px-lg-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-lg-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-lg-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-lg-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-lg-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-lg-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-lg-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-lg-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-lg-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-lg-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-lg-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-lg-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-lg-0 {
+      padding-top: 0 !important;
+    }
+    .pt-lg-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-lg-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-lg-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-lg-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-lg-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-lg-0 {
+      padding-right: 0 !important;
+    }
+    .pe-lg-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-lg-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-lg-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-lg-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-lg-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-lg-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-lg-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-lg-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-lg-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-lg-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-lg-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-lg-0 {
+      padding-left: 0 !important;
+    }
+    .ps-lg-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-lg-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-lg-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-lg-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-lg-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-lg-0 {
+      gap: 0 !important;
+    }
+    .gap-lg-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-lg-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-lg-3 {
+      gap: 1rem !important;
+    }
+    .gap-lg-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-lg-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-lg-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-lg-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-lg-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-lg-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-lg-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-lg-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-lg-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-lg-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-lg-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-lg-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-lg-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-lg-5 {
+      column-gap: 3rem !important;
+    }
+    .text-lg-start {
+      text-align: left !important;
+    }
+    .text-lg-end {
+      text-align: right !important;
+    }
+    .text-lg-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 1200px) {
+    .float-xl-start {
+      float: left !important;
+    }
+    .float-xl-end {
+      float: right !important;
+    }
+    .float-xl-none {
+      float: none !important;
+    }
+    .object-fit-xl-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-xl-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-xl-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-xl-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-xl-none {
+      object-fit: none !important;
+    }
+    .d-xl-inline {
+      display: inline !important;
+    }
+    .d-xl-inline-block {
+      display: inline-block !important;
+    }
+    .d-xl-block {
+      display: block !important;
+    }
+    .d-xl-grid {
+      display: grid !important;
+    }
+    .d-xl-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-xl-table {
+      display: table !important;
+    }
+    .d-xl-table-row {
+      display: table-row !important;
+    }
+    .d-xl-table-cell {
+      display: table-cell !important;
+    }
+    .d-xl-flex {
+      display: flex !important;
+    }
+    .d-xl-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-xl-flow-root {
+      display: flow-root !important;
+    }
+    .d-xl-none {
+      display: none !important;
+    }
+    .flex-xl-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-xl-row {
+      flex-direction: row !important;
+    }
+    .flex-xl-column {
+      flex-direction: column !important;
+    }
+    .flex-xl-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-xl-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-xl-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-xl-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-xl-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-xl-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-xl-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-xl-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-xl-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-xl-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-xl-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-xl-center {
+      justify-content: center !important;
+    }
+    .justify-content-xl-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-xl-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-xl-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-xl-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-xl-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-xl-center {
+      justify-self: center !important;
+    }
+    .align-items-xl-start {
+      align-items: flex-start !important;
+    }
+    .align-items-xl-end {
+      align-items: flex-end !important;
+    }
+    .align-items-xl-center {
+      align-items: center !important;
+    }
+    .align-items-xl-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-xl-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-xl-start {
+      align-content: flex-start !important;
+    }
+    .align-content-xl-end {
+      align-content: flex-end !important;
+    }
+    .align-content-xl-center {
+      align-content: center !important;
+    }
+    .align-content-xl-between {
+      align-content: space-between !important;
+    }
+    .align-content-xl-around {
+      align-content: space-around !important;
+    }
+    .align-content-xl-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-xl-auto {
+      align-self: auto !important;
+    }
+    .align-self-xl-start {
+      align-self: flex-start !important;
+    }
+    .align-self-xl-end {
+      align-self: flex-end !important;
+    }
+    .align-self-xl-center {
+      align-self: center !important;
+    }
+    .align-self-xl-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-xl-stretch {
+      align-self: stretch !important;
+    }
+    .order-xl-first {
+      order: -1 !important;
+    }
+    .order-xl-0 {
+      order: 0 !important;
+    }
+    .order-xl-1 {
+      order: 1 !important;
+    }
+    .order-xl-2 {
+      order: 2 !important;
+    }
+    .order-xl-3 {
+      order: 3 !important;
+    }
+    .order-xl-4 {
+      order: 4 !important;
+    }
+    .order-xl-5 {
+      order: 5 !important;
+    }
+    .order-xl-last {
+      order: 6 !important;
+    }
+    .m-xl-0 {
+      margin: 0 !important;
+    }
+    .m-xl-1 {
+      margin: 0.25rem !important;
+    }
+    .m-xl-2 {
+      margin: 0.5rem !important;
+    }
+    .m-xl-3 {
+      margin: 1rem !important;
+    }
+    .m-xl-4 {
+      margin: 1.5rem !important;
+    }
+    .m-xl-5 {
+      margin: 3rem !important;
+    }
+    .m-xl-auto {
+      margin: auto !important;
+    }
+    .mx-xl-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-xl-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-xl-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-xl-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-xl-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-xl-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-xl-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-xl-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-xl-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-xl-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-xl-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-xl-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-xl-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-xl-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-xl-0 {
+      margin-top: 0 !important;
+    }
+    .mt-xl-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-xl-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-xl-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-xl-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-xl-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-xl-auto {
+      margin-top: auto !important;
+    }
+    .me-xl-0 {
+      margin-right: 0 !important;
+    }
+    .me-xl-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-xl-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-xl-3 {
+      margin-right: 1rem !important;
+    }
+    .me-xl-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-xl-5 {
+      margin-right: 3rem !important;
+    }
+    .me-xl-auto {
+      margin-right: auto !important;
+    }
+    .mb-xl-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-xl-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-xl-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-xl-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-xl-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-xl-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-xl-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-xl-0 {
+      margin-left: 0 !important;
+    }
+    .ms-xl-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-xl-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-xl-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-xl-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-xl-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-xl-auto {
+      margin-left: auto !important;
+    }
+    .p-xl-0 {
+      padding: 0 !important;
+    }
+    .p-xl-1 {
+      padding: 0.25rem !important;
+    }
+    .p-xl-2 {
+      padding: 0.5rem !important;
+    }
+    .p-xl-3 {
+      padding: 1rem !important;
+    }
+    .p-xl-4 {
+      padding: 1.5rem !important;
+    }
+    .p-xl-5 {
+      padding: 3rem !important;
+    }
+    .px-xl-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-xl-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-xl-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-xl-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-xl-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-xl-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-xl-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-xl-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-xl-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-xl-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-xl-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-xl-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-xl-0 {
+      padding-top: 0 !important;
+    }
+    .pt-xl-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-xl-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-xl-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-xl-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-xl-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-xl-0 {
+      padding-right: 0 !important;
+    }
+    .pe-xl-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-xl-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-xl-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-xl-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-xl-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-xl-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-xl-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-xl-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-xl-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-xl-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-xl-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-xl-0 {
+      padding-left: 0 !important;
+    }
+    .ps-xl-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-xl-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-xl-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-xl-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-xl-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-xl-0 {
+      gap: 0 !important;
+    }
+    .gap-xl-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-xl-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-xl-3 {
+      gap: 1rem !important;
+    }
+    .gap-xl-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-xl-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-xl-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-xl-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-xl-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-xl-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-xl-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-xl-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-xl-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-xl-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-xl-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-xl-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-xl-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-xl-5 {
+      column-gap: 3rem !important;
+    }
+    .text-xl-start {
+      text-align: left !important;
+    }
+    .text-xl-end {
+      text-align: right !important;
+    }
+    .text-xl-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 1400px) {
+    .float-xxl-start {
+      float: left !important;
+    }
+    .float-xxl-end {
+      float: right !important;
+    }
+    .float-xxl-none {
+      float: none !important;
+    }
+    .object-fit-xxl-contain {
+      object-fit: contain !important;
+    }
+    .object-fit-xxl-cover {
+      object-fit: cover !important;
+    }
+    .object-fit-xxl-fill {
+      object-fit: fill !important;
+    }
+    .object-fit-xxl-scale {
+      object-fit: scale-down !important;
+    }
+    .object-fit-xxl-none {
+      object-fit: none !important;
+    }
+    .d-xxl-inline {
+      display: inline !important;
+    }
+    .d-xxl-inline-block {
+      display: inline-block !important;
+    }
+    .d-xxl-block {
+      display: block !important;
+    }
+    .d-xxl-grid {
+      display: grid !important;
+    }
+    .d-xxl-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-xxl-table {
+      display: table !important;
+    }
+    .d-xxl-table-row {
+      display: table-row !important;
+    }
+    .d-xxl-table-cell {
+      display: table-cell !important;
+    }
+    .d-xxl-flex {
+      display: flex !important;
+    }
+    .d-xxl-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-xxl-flow-root {
+      display: flow-root !important;
+    }
+    .d-xxl-none {
+      display: none !important;
+    }
+    .flex-xxl-fill {
+      flex: 1 1 auto !important;
+    }
+    .flex-xxl-row {
+      flex-direction: row !important;
+    }
+    .flex-xxl-column {
+      flex-direction: column !important;
+    }
+    .flex-xxl-row-reverse {
+      flex-direction: row-reverse !important;
+    }
+    .flex-xxl-column-reverse {
+      flex-direction: column-reverse !important;
+    }
+    .flex-xxl-grow-0 {
+      flex-grow: 0 !important;
+    }
+    .flex-xxl-grow-1 {
+      flex-grow: 1 !important;
+    }
+    .flex-xxl-shrink-0 {
+      flex-shrink: 0 !important;
+    }
+    .flex-xxl-shrink-1 {
+      flex-shrink: 1 !important;
+    }
+    .flex-xxl-wrap {
+      flex-wrap: wrap !important;
+    }
+    .flex-xxl-nowrap {
+      flex-wrap: nowrap !important;
+    }
+    .flex-xxl-wrap-reverse {
+      flex-wrap: wrap-reverse !important;
+    }
+    .justify-content-xxl-start {
+      justify-content: flex-start !important;
+    }
+    .justify-content-xxl-end {
+      justify-content: flex-end !important;
+    }
+    .justify-content-xxl-center {
+      justify-content: center !important;
+    }
+    .justify-content-xxl-between {
+      justify-content: space-between !important;
+    }
+    .justify-content-xxl-around {
+      justify-content: space-around !important;
+    }
+    .justify-content-xxl-evenly {
+      justify-content: space-evenly !important;
+    }
+    .justify-self-xxl-start {
+      justify-self: flex-start !important;
+    }
+    .justify-self-xxl-end {
+      justify-self: flex-end !important;
+    }
+    .justify-self-xxl-center {
+      justify-self: center !important;
+    }
+    .align-items-xxl-start {
+      align-items: flex-start !important;
+    }
+    .align-items-xxl-end {
+      align-items: flex-end !important;
+    }
+    .align-items-xxl-center {
+      align-items: center !important;
+    }
+    .align-items-xxl-baseline {
+      align-items: baseline !important;
+    }
+    .align-items-xxl-stretch {
+      align-items: stretch !important;
+    }
+    .align-content-xxl-start {
+      align-content: flex-start !important;
+    }
+    .align-content-xxl-end {
+      align-content: flex-end !important;
+    }
+    .align-content-xxl-center {
+      align-content: center !important;
+    }
+    .align-content-xxl-between {
+      align-content: space-between !important;
+    }
+    .align-content-xxl-around {
+      align-content: space-around !important;
+    }
+    .align-content-xxl-stretch {
+      align-content: stretch !important;
+    }
+    .align-self-xxl-auto {
+      align-self: auto !important;
+    }
+    .align-self-xxl-start {
+      align-self: flex-start !important;
+    }
+    .align-self-xxl-end {
+      align-self: flex-end !important;
+    }
+    .align-self-xxl-center {
+      align-self: center !important;
+    }
+    .align-self-xxl-baseline {
+      align-self: baseline !important;
+    }
+    .align-self-xxl-stretch {
+      align-self: stretch !important;
+    }
+    .order-xxl-first {
+      order: -1 !important;
+    }
+    .order-xxl-0 {
+      order: 0 !important;
+    }
+    .order-xxl-1 {
+      order: 1 !important;
+    }
+    .order-xxl-2 {
+      order: 2 !important;
+    }
+    .order-xxl-3 {
+      order: 3 !important;
+    }
+    .order-xxl-4 {
+      order: 4 !important;
+    }
+    .order-xxl-5 {
+      order: 5 !important;
+    }
+    .order-xxl-last {
+      order: 6 !important;
+    }
+    .m-xxl-0 {
+      margin: 0 !important;
+    }
+    .m-xxl-1 {
+      margin: 0.25rem !important;
+    }
+    .m-xxl-2 {
+      margin: 0.5rem !important;
+    }
+    .m-xxl-3 {
+      margin: 1rem !important;
+    }
+    .m-xxl-4 {
+      margin: 1.5rem !important;
+    }
+    .m-xxl-5 {
+      margin: 3rem !important;
+    }
+    .m-xxl-auto {
+      margin: auto !important;
+    }
+    .mx-xxl-0 {
+      margin-right: 0 !important;
+      margin-left: 0 !important;
+    }
+    .mx-xxl-1 {
+      margin-right: 0.25rem !important;
+      margin-left: 0.25rem !important;
+    }
+    .mx-xxl-2 {
+      margin-right: 0.5rem !important;
+      margin-left: 0.5rem !important;
+    }
+    .mx-xxl-3 {
+      margin-right: 1rem !important;
+      margin-left: 1rem !important;
+    }
+    .mx-xxl-4 {
+      margin-right: 1.5rem !important;
+      margin-left: 1.5rem !important;
+    }
+    .mx-xxl-5 {
+      margin-right: 3rem !important;
+      margin-left: 3rem !important;
+    }
+    .mx-xxl-auto {
+      margin-right: auto !important;
+      margin-left: auto !important;
+    }
+    .my-xxl-0 {
+      margin-top: 0 !important;
+      margin-bottom: 0 !important;
+    }
+    .my-xxl-1 {
+      margin-top: 0.25rem !important;
+      margin-bottom: 0.25rem !important;
+    }
+    .my-xxl-2 {
+      margin-top: 0.5rem !important;
+      margin-bottom: 0.5rem !important;
+    }
+    .my-xxl-3 {
+      margin-top: 1rem !important;
+      margin-bottom: 1rem !important;
+    }
+    .my-xxl-4 {
+      margin-top: 1.5rem !important;
+      margin-bottom: 1.5rem !important;
+    }
+    .my-xxl-5 {
+      margin-top: 3rem !important;
+      margin-bottom: 3rem !important;
+    }
+    .my-xxl-auto {
+      margin-top: auto !important;
+      margin-bottom: auto !important;
+    }
+    .mt-xxl-0 {
+      margin-top: 0 !important;
+    }
+    .mt-xxl-1 {
+      margin-top: 0.25rem !important;
+    }
+    .mt-xxl-2 {
+      margin-top: 0.5rem !important;
+    }
+    .mt-xxl-3 {
+      margin-top: 1rem !important;
+    }
+    .mt-xxl-4 {
+      margin-top: 1.5rem !important;
+    }
+    .mt-xxl-5 {
+      margin-top: 3rem !important;
+    }
+    .mt-xxl-auto {
+      margin-top: auto !important;
+    }
+    .me-xxl-0 {
+      margin-right: 0 !important;
+    }
+    .me-xxl-1 {
+      margin-right: 0.25rem !important;
+    }
+    .me-xxl-2 {
+      margin-right: 0.5rem !important;
+    }
+    .me-xxl-3 {
+      margin-right: 1rem !important;
+    }
+    .me-xxl-4 {
+      margin-right: 1.5rem !important;
+    }
+    .me-xxl-5 {
+      margin-right: 3rem !important;
+    }
+    .me-xxl-auto {
+      margin-right: auto !important;
+    }
+    .mb-xxl-0 {
+      margin-bottom: 0 !important;
+    }
+    .mb-xxl-1 {
+      margin-bottom: 0.25rem !important;
+    }
+    .mb-xxl-2 {
+      margin-bottom: 0.5rem !important;
+    }
+    .mb-xxl-3 {
+      margin-bottom: 1rem !important;
+    }
+    .mb-xxl-4 {
+      margin-bottom: 1.5rem !important;
+    }
+    .mb-xxl-5 {
+      margin-bottom: 3rem !important;
+    }
+    .mb-xxl-auto {
+      margin-bottom: auto !important;
+    }
+    .ms-xxl-0 {
+      margin-left: 0 !important;
+    }
+    .ms-xxl-1 {
+      margin-left: 0.25rem !important;
+    }
+    .ms-xxl-2 {
+      margin-left: 0.5rem !important;
+    }
+    .ms-xxl-3 {
+      margin-left: 1rem !important;
+    }
+    .ms-xxl-4 {
+      margin-left: 1.5rem !important;
+    }
+    .ms-xxl-5 {
+      margin-left: 3rem !important;
+    }
+    .ms-xxl-auto {
+      margin-left: auto !important;
+    }
+    .p-xxl-0 {
+      padding: 0 !important;
+    }
+    .p-xxl-1 {
+      padding: 0.25rem !important;
+    }
+    .p-xxl-2 {
+      padding: 0.5rem !important;
+    }
+    .p-xxl-3 {
+      padding: 1rem !important;
+    }
+    .p-xxl-4 {
+      padding: 1.5rem !important;
+    }
+    .p-xxl-5 {
+      padding: 3rem !important;
+    }
+    .px-xxl-0 {
+      padding-right: 0 !important;
+      padding-left: 0 !important;
+    }
+    .px-xxl-1 {
+      padding-right: 0.25rem !important;
+      padding-left: 0.25rem !important;
+    }
+    .px-xxl-2 {
+      padding-right: 0.5rem !important;
+      padding-left: 0.5rem !important;
+    }
+    .px-xxl-3 {
+      padding-right: 1rem !important;
+      padding-left: 1rem !important;
+    }
+    .px-xxl-4 {
+      padding-right: 1.5rem !important;
+      padding-left: 1.5rem !important;
+    }
+    .px-xxl-5 {
+      padding-right: 3rem !important;
+      padding-left: 3rem !important;
+    }
+    .py-xxl-0 {
+      padding-top: 0 !important;
+      padding-bottom: 0 !important;
+    }
+    .py-xxl-1 {
+      padding-top: 0.25rem !important;
+      padding-bottom: 0.25rem !important;
+    }
+    .py-xxl-2 {
+      padding-top: 0.5rem !important;
+      padding-bottom: 0.5rem !important;
+    }
+    .py-xxl-3 {
+      padding-top: 1rem !important;
+      padding-bottom: 1rem !important;
+    }
+    .py-xxl-4 {
+      padding-top: 1.5rem !important;
+      padding-bottom: 1.5rem !important;
+    }
+    .py-xxl-5 {
+      padding-top: 3rem !important;
+      padding-bottom: 3rem !important;
+    }
+    .pt-xxl-0 {
+      padding-top: 0 !important;
+    }
+    .pt-xxl-1 {
+      padding-top: 0.25rem !important;
+    }
+    .pt-xxl-2 {
+      padding-top: 0.5rem !important;
+    }
+    .pt-xxl-3 {
+      padding-top: 1rem !important;
+    }
+    .pt-xxl-4 {
+      padding-top: 1.5rem !important;
+    }
+    .pt-xxl-5 {
+      padding-top: 3rem !important;
+    }
+    .pe-xxl-0 {
+      padding-right: 0 !important;
+    }
+    .pe-xxl-1 {
+      padding-right: 0.25rem !important;
+    }
+    .pe-xxl-2 {
+      padding-right: 0.5rem !important;
+    }
+    .pe-xxl-3 {
+      padding-right: 1rem !important;
+    }
+    .pe-xxl-4 {
+      padding-right: 1.5rem !important;
+    }
+    .pe-xxl-5 {
+      padding-right: 3rem !important;
+    }
+    .pb-xxl-0 {
+      padding-bottom: 0 !important;
+    }
+    .pb-xxl-1 {
+      padding-bottom: 0.25rem !important;
+    }
+    .pb-xxl-2 {
+      padding-bottom: 0.5rem !important;
+    }
+    .pb-xxl-3 {
+      padding-bottom: 1rem !important;
+    }
+    .pb-xxl-4 {
+      padding-bottom: 1.5rem !important;
+    }
+    .pb-xxl-5 {
+      padding-bottom: 3rem !important;
+    }
+    .ps-xxl-0 {
+      padding-left: 0 !important;
+    }
+    .ps-xxl-1 {
+      padding-left: 0.25rem !important;
+    }
+    .ps-xxl-2 {
+      padding-left: 0.5rem !important;
+    }
+    .ps-xxl-3 {
+      padding-left: 1rem !important;
+    }
+    .ps-xxl-4 {
+      padding-left: 1.5rem !important;
+    }
+    .ps-xxl-5 {
+      padding-left: 3rem !important;
+    }
+    .gap-xxl-0 {
+      gap: 0 !important;
+    }
+    .gap-xxl-1 {
+      gap: 0.25rem !important;
+    }
+    .gap-xxl-2 {
+      gap: 0.5rem !important;
+    }
+    .gap-xxl-3 {
+      gap: 1rem !important;
+    }
+    .gap-xxl-4 {
+      gap: 1.5rem !important;
+    }
+    .gap-xxl-5 {
+      gap: 3rem !important;
+    }
+    .row-gap-xxl-0 {
+      row-gap: 0 !important;
+    }
+    .row-gap-xxl-1 {
+      row-gap: 0.25rem !important;
+    }
+    .row-gap-xxl-2 {
+      row-gap: 0.5rem !important;
+    }
+    .row-gap-xxl-3 {
+      row-gap: 1rem !important;
+    }
+    .row-gap-xxl-4 {
+      row-gap: 1.5rem !important;
+    }
+    .row-gap-xxl-5 {
+      row-gap: 3rem !important;
+    }
+    .column-gap-xxl-0 {
+      column-gap: 0 !important;
+    }
+    .column-gap-xxl-1 {
+      column-gap: 0.25rem !important;
+    }
+    .column-gap-xxl-2 {
+      column-gap: 0.5rem !important;
+    }
+    .column-gap-xxl-3 {
+      column-gap: 1rem !important;
+    }
+    .column-gap-xxl-4 {
+      column-gap: 1.5rem !important;
+    }
+    .column-gap-xxl-5 {
+      column-gap: 3rem !important;
+    }
+    .text-xxl-start {
+      text-align: left !important;
+    }
+    .text-xxl-end {
+      text-align: right !important;
+    }
+    .text-xxl-center {
+      text-align: center !important;
+    }
+  }
+  @media (min-width: 1200px) {
+    .fs-1 {
+      font-size: rfs-value(2.5rem) !important;
+    }
+    .fs-2 {
+      font-size: rfs-value(2rem) !important;
+    }
+    .fs-3 {
+      font-size: rfs-value(1.75rem) !important;
+    }
+    .fs-4 {
+      font-size: rfs-value(1.5rem) !important;
+    }
+    .fs-5 {
+      font-size: rfs-value(1.25rem) !important;
+    }
+    .fs-6 {
+      font-size: rfs-value(1rem) !important;
+    }
+  }
+  @media print {
+    .d-print-inline {
+      display: inline !important;
+    }
+    .d-print-inline-block {
+      display: inline-block !important;
+    }
+    .d-print-block {
+      display: block !important;
+    }
+    .d-print-grid {
+      display: grid !important;
+    }
+    .d-print-inline-grid {
+      display: inline-grid !important;
+    }
+    .d-print-table {
+      display: table !important;
+    }
+    .d-print-table-row {
+      display: table-row !important;
+    }
+    .d-print-table-cell {
+      display: table-cell !important;
+    }
+    .d-print-flex {
+      display: flex !important;
+    }
+    .d-print-inline-flex {
+      display: inline-flex !important;
+    }
+    .d-print-flow-root {
+      display: flow-root !important;
+    }
+    .d-print-none {
+      display: none !important;
+    }
+  }
+}
+
+/*# sourceMappingURL=bootstrap.css.map */
index 99936c6866e436ab7c94fd0408e31e0929d94b0d..fc98fadaf9782b7e290f9ec8336330618fee9246 100644 (file)
@@ -1 +1 @@
-{"version":3,"sources":["bootstrap.css","../../scss/mixins/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_color-mode.scss","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss","../../scss/_type.scss","../../scss/mixins/_lists.scss","../../scss/_images.scss","../../scss/mixins/_image.scss","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/_tables.scss","../../scss/mixins/_table-variants.scss","../../scss/forms/_labels.scss","../../scss/forms/_form-text.scss","../../scss/forms/_form-control.scss","../../scss/mixins/_transition.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.scss","../../scss/mixins/_forms.scss","../../scss/_buttons.scss","../../scss/mixins/_buttons.scss","../../scss/_transitions.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_button-group.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_card.scss","../../scss/_accordion.scss","../../scss/_breadcrumb.scss","../../scss/_pagination.scss","../../scss/mixins/_pagination.scss","../../scss/_badge.scss","../../scss/_alert.scss","../../scss/_progress.scss","../../scss/_list-group.scss","../../scss/_close.scss","../../scss/_toasts.scss","../../scss/_modal.scss","../../scss/mixins/_backdrop.scss","../../scss/_tooltip.scss","../../scss/mixins/_reset-text.scss","../../scss/_popover.scss","../../scss/_carousel.scss","../../scss/mixins/_clearfix.scss","../../scss/_spinners.scss","../../scss/_offcanvas.scss","../../scss/_placeholders.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.scss","../../scss/helpers/_focus-ring.scss","../../scss/helpers/_icon-link.scss","../../scss/helpers/_ratio.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/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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jBE;EAGE,gBF0nBkB;EEznBlB,gBFymB0B;EH7WtB,iCAAA;AHmUR;AG/dI;EKpGF;ILuQM,iBAAA;EHgUN;AACF;;AQxkBE;EAGE,gBF0nBkB;EEznBlB,gBFymB0B;EH7WtB,iCAAA;AH8UR;AG1eI;EKpGF;ILuQM,eAAA;EH2UN;AACF;;AQnlBE;EAGE,gBF0nBkB;EEznBlB,gBFymB0B;EH7WtB,iCAAA;AHyVR;AGrfI;EKpGF;ILuQM,iBAAA;EHsVN;AACF;;AQ9lBE;EAGE,gBF0nBkB;EEznBlB,gBFymB0B;EH7WtB,iCAAA;AHoWR;AGhgBI;EKpGF;ILuQM,eAAA;EHiWN;AACF;;AQzmBE;EAGE,gBF0nBkB;EEznBlB,gBFymB0B;EH7WtB,iCAAA;AH+WR;AG3gBI;EKpGF;ILuQM,iBAAA;EH4WN;AACF;;AQ5lBA;ECvDE,eAAA;EACA,gBAAA;ATupBF;;AQ5lBA;EC5DE,eAAA;EACA,gBAAA;AT4pBF;;AQ9lBA;EACE,qBAAA;ARimBF;AQ/lBE;EACE,oBFsoB0B;ANrC9B;;AQvlBA;EL8MM,kBALI;EKvMR,yBAAA;AR0lBF;;AQtlBA;EACE,mBFiUO;EH1HH,kBALI;AHwZV;AQvlBE;EACE,gBAAA;ARylBJ;;AQrlBA;EACE,iBAAA;EACA,mBFuTO;EH1HH,kBALI;EKtLR,cFtFS;AN8qBX;AQtlBE;EACE,aAAA;ARwlBJ;;AUxrBA;ECIE,eAAA;EAGA,YAAA;AXsrBF;;AUvrBA;EACE,gBJ+jDkC;EI9jDlC,mCJ+jDkC;EI9jDlC,2DAAA;EHGE,sCAAA;EIRF,eAAA;EAGA,YAAA;AX+rBF;;AUjrBA;EAEE,qBAAA;AVmrBF;;AUhrBA;EACE,qBAAA;EACA,cAAA;AVmrBF;;AUhrBA;EPyPM,kBALI;EOlPR,gCJkjDkC;AN/3BpC;;AYrtBE;;;;;;;ECHA,qBAAA;EACA,gBAAA;EACA,WAAA;EACA,6CAAA;EACA,4CAAA;EACA,kBAAA;EACA,iBAAA;AbkuBF;;Ac5qBI;EF5CE;IACE,gBNkee;EN0PrB;AACF;AclrBI;EF5CE;IACE,gBNkee;EN+PrB;AACF;AcvrBI;EF5CE;IACE,gB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2BforB0B;EeprB1B,0BforB0B;EenrB1B,2BfsyBoC;EiBp4BtC,uCjBqiCgC;Eer8B9B,oBAAA;EACA,qBAAA;EACA,mBAAA;EACA,eAAA;EACA,+CfgsB0B;Ee/rB1B,gBAAA;ECzFE,6ID0FF;EC1FE,qID0FF;ArBohEJ;AqBhiEE;EACE,yBAAA;EACA,0BAAA;EACA,2BforB0B;EeprB1B,0BforB0B;EenrB1B,2BfsyBoC;EiBp4BtC,uCjBqiCgC;Eer8B9B,oBAAA;EACA,qBAAA;EACA,mBAAA;EACA,eAAA;EACA,+CfgsB0B;Ee/rB1B,gBAAA;ECzFE,qID0FF;ArBohEJ;AsB1mEM;ED0EJ;ICzEM,wBAAA;IAAA,gBAAA;EtB6mEN;EqBpiEA;ICzEM,gBAAA;EtB6mEN;AACF;AqBthEE;EACE,wCf47B8B;AN4lClC;AqBzhEE;EACE,wCf47B8B;AN4lClC;;AqB/gEA;EACE,cAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBfwf4B;Eevf5B,2Bf2xBsC;Ee1xBtC,6BAAA;EACA,yBAAA;EACA,sCAAA;ArBkhEF;AqBhhEE;EACE,UAAA;ArBkhEJ;AqB/gEE;EAEE,gBAAA;EACA,eAAA;ArBghEJ;;AqBrgEA;EACE,mEf4wBsC;Ee3wBtC,uBAAA;ElByII,mBALI;EIvQN,yCAAA;AP6oEJ;AqBtgEE;EACE,uBAAA;EACA,wBAAA;EACA,0BfooB0B;EepoB1B,yBfooB0B;ANo4C9B;AqB3gEE;EACE,uBAAA;EACA,wBAAA;EACA,0BfooB0B;EepoB1B,yBfooB0B;ANo4C9B;;AqBpgEA;EACE,iEfgwBsC;Ee/vBtC,oBAAA;ElB4HI,kBALI;EIvQN,yCAAA;APypEJ;AqBrgEE;EACE,oBAAA;EACA,qBAAA;EACA,wBf2nB0B;Ee3nB1B,uBf2nB0B;AN44C9B;AqB1gEE;EACE,oBAAA;EACA,qBAAA;EACA,wBf2nB0B;Ee3nB1B,uBf2nB0B;AN44C9B;;AqB//DE;EACE,oEf6uBoC;ANqxCxC;AqB//DE;EACE,mEf0uBoC;ANuxCxC;AqB9/DE;EACE,iEfuuBoC;ANyxCxC;;AqB3/DA;EACE,WfquBsC;EepuBtC,gEf8tBsC;Ee7tBtC,iBfilB4B;AN66C9B;AqB5/DE;EACE,eAAA;ArB8/DJ;AqB3/DE;EACE,oBAAA;EdvLA,sCAAA;APqrEJ;AqB1/DE;EACE,oBAAA;Ed5LA,sCAAA;APyrEJ;AqBz/DE;EAAoB,+Df8sBkB;AN8yCxC;AqB3/DE;EAAoB,6Df8sBkB;ANgzCxC;;AwB7sEA;EACE,wPAAA;EAEA,cAAA;EACA,WAAA;EACA,0CAAA;ErBqRI,eALI;EqB7QR,gBlB+lB4B;EkB9lB5B,gBlBsmB4B;EkBrmB5B,2BlBy3BsC;EkBx3BtC,wBAAA;EAAA,qBAAA;EAAA,gBAAA;EACA,mClBk3BsC;EkBj3BtC,mFAAA;EACA,4BAAA;EACA,yClB+9BkC;EkB99BlC,0BlB+9BkC;EkB99BlC,2DAAA;EjBHE,sCAAA;EeHE,wEESJ;AxB6sEF;AsBltEM;EEfN;IFgBQ,gBAAA;EtBqtEN;AACF;AwBhtEE;EACE,qBlBs3BoC;EkBr3BpC,UAAA;EAKE,kDlBi+B4B;AN6uClC;AwB1sEE;EAEE,sBlB6uB0B;EkB5uB1B,sBAAA;AxB2sEJ;AwBxsEE;EAEE,wClBu1BoC;ANk3CxC;AwBpsEE;EACE,kBAAA;EACA,uCAAA;AxBssEJ;;AwBlsEA;EACE,oBlBsuB4B;EkBruB5B,uBlBquB4B;EkBpuB5B,oBlBquB4B;EHlgBxB,mBALI;EIvQN,yCAAA;APgvEJ;;AwBlsEA;EACE,mBlBkuB4B;EkBjuB5B,sBlBiuB4B;EkBhuB5B,kBlBiuB4B;EHtgBxB,kBALI;EIvQN,yCAAA;APwvEJ;;AwBhsEI;EACE,wPAAA;AxBmsEN;;AyB3wEA;EACE,cAAA;EACA,kBnBq6BwC;EmBp6BxC,mBnBq6BwC;EmBp6BxC,uBnBq6BwC;ANy2C1C;AyB5wEE;EACE,WAAA;EACA,mBAAA;AzB8wEJ;;AyB1wEA;EACE,oBnB25BwC;EmB15BxC,eAAA;EACA,iBAAA;AzB6wEF;AyB3wEE;EACE,YAAA;EACA,oBAAA;EACA,cAAA;AzB6wEJ;;AyBzwEA;EACE,qCAAA;EAEA,cAAA;EACA,UnB04BwC;EmBz4BxC,WnBy4BwC;EmBx4BxC,kBAAA;EACA,mBAAA;EACA,wBAAA;EAAA,qBAAA;EAAA,gBAAA;EACA,yCAAA;EACA,+CAAA;EACA,4BAAA;EACA,2BAAA;EACA,wBAAA;EACA,2DnB24BwC;EmB14BxC,iCAAA;EAAA,mBAAA;EAAA,yBAAA;AzB2wEF;AyBxwEE;ElB3BE,qBAAA;APsyEJ;AyBvwEE;EAEE,kBnBm4BsC;ANq4C1C;AyBrwEE;EACE,uBnB03BsC;AN64C1C;AyBpwEE;EACE,qBnBs1BoC;EmBr1BpC,UAAA;EACA,kDnB8foB;ANwwDxB;AyBnwEE;EACE,yBnB5BM;EmB6BN,qBnB7BM;ANkyEV;AyBnwEI;EAII,uPAAA;AzBkwER;AyB9vEI;EAII,+JAAA;AzB6vER;AyBxvEE;EACE,yBnBjDM;EmBkDN,qBnBlDM;EmBuDJ,iPAAA;AzBsvEN;AyBlvEE;EACE,oBAAA;EACA,YAAA;EACA,YnBk2BuC;ANk5C3C;AyB7uEI;EACE,eAAA;EACA,YnBy1BqC;ANs5C3C;;AyBjuEA;EACE,mBnBo1BgC;ANg5ClC;AyBluEE;EACE,2KAAA;EAEA,UnB80B8B;EmB70B9B,mBAAA;EACA,0CAAA;EACA,gCAAA;ElBjHA,kBAAA;EeHE,iDGsHF;AzBmuEJ;AsBr1EM;EG0GJ;IHzGM,gBAAA;EtBw1EN;AACF;AyBtuEI;EACE,6JAAA;AzBwuEN;AyBruEI;EACE,iCnB60B4B;EmBx0B1B,0JAAA;AzBmuER;AyB9tEE;EACE,oBnBwzB8B;EmBvzB9B,eAAA;AzBguEJ;AyB9tEI;EACE,oBAAA;EACA,cAAA;AzBguEN;;AyB3tEA;EACE,qBAAA;EACA,kBnBsyBgC;ANw7ClC;;AyB3tEA;EACE,kBAAA;EACA,sBAAA;EACA,oBAAA;AzB8tEF;AyB1tEI;EACE,oBAAA;EACA,YAAA;EACA,anBspBwB;ANskD9B;;AyBrtEI;EACE,iLAAA;AzBwtEN;;A0B34EA;EACE,WAAA;EACA,cAAA;EACA,UAAA;EACA,wBAAA;EAAA,qBAAA;EAAA,gBAAA;EACA,6BAAA;A1B84EF;A0B54EE;EACE,UAAA;A1B84EJ;A0B14EI;EAA0B,kEpB8gCa;AN+3C3C;A0B54EI;EAA0B,kEpB6gCa;ANk4C3C;A0B54EE;EACE,SAAA;A1B84EJ;A0B34EE;EACE,WpB+/BuC;EoB9/BvC,YpB8/BuC;EoB7/BvC,oBAAA;EACA,wBAAA;EAAA,gBAAA;EH1BF,yBjBkCQ;EoBNN,SpB6/BuC;EC1gCvC,mBAAA;EeHE,oHImBF;EJnBE,4GImBF;A1B44EJ;AsB35EM;EIMJ;IJLM,wBAAA;IAAA,gBAAA;EtB85EN;AACF;A0B/4EI;EHjCF,yBjB8hCyC;ANq5C3C;A0B74EE;EACE,WpBw+B8B;EoBv+B9B,cpBw+B8B;EoBv+B9B,kBAAA;EACA,epBu+B8B;EoBt+B9B,wCpBu+B8B;EoBt+B9B,yBAAA;EnB7BA,mBAAA;AP66EJ;A0B34EE;EACE,WpBo+BuC;EoBn+BvC,YpBm+BuC;EoBl+BvC,qBAAA;EAAA,gBAAA;EHpDF,yBjBkCQ;EoBoBN,SpBm+BuC;EC1gCvC,mBAAA;EeHE,iHI6CF;EJ7CE,4GI6CF;A1B44EJ;AsBr7EM;EIiCJ;IJhCM,qBAAA;IAAA,gBAAA;EtBw7EN;AACF;A0B/4EI;EH3DF,yBjB8hCyC;AN+6C3C;A0B74EE;EACE,WpB88B8B;EoB78B9B,cpB88B8B;EoB78B9B,kBAAA;EACA,epB68B8B;EoB58B9B,wCpB68B8B;EoB58B9B,yBAAA;EnBvDA,mBAAA;APu8EJ;A0B34EE;EACE,oBAAA;A1B64EJ;A0B34EI;EACE,2CpBg9BqC;AN67C3C;A0B14EI;EACE,2CpB48BqC;ANg8C3C;;A2Bn+EA;EACE,kBAAA;A3Bs+EF;A2Bp+EE;;;EAGE,uDrBwiCoC;EqBviCpC,2DrBuiCoC;EqBtiCpC,iBrBuiCoC;AN+7CxC;A2Bn+EE;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,UAAA;EACA,eAAA;EACA,YAAA;EACA,qBAAA;EACA,gBAAA;EACA,2CAAA;EACA,iBAAA;EACA,uBAAA;EACA,mBAAA;EACA,oBAAA;EACA,gDAAA;EACA,qBAAA;ELVE,gEKWF;A3Bq+EJ;AsB5+EM;EKTJ;ILUM,gBAAA;EtB++EN;AACF;A2Bv+EE;;EAEE,qBAAA;A3By+EJ;A2Bv+EI;;EACE,kBAAA;A3B0+EN;A2Bv+EI;;;EAEE,qBrB0gCkC;EqBzgClC,wBrB0gCkC;ANg+CxC;A2Bv+EI;;EACE,qBrBqgCkC;EqBpgClC,wBrBqgCkC;ANq+CxC;A2Bt+EE;EACE,qBrB+/BoC;EqB9/BpC,wBrB+/BoC;EqB9/BpC,qBrBguB0B;ANwwD9B;A2Bj+EI;;;;EACE,8DrBy/BkC;AN6+CxC;A2Bj+EI;EACE,8DrBm/BkC;ANg/CxC;A2B99EI;;EACE,kBAAA;EACA,oBAAA;EACA,WAAA;EACA,arBw+BkC;EqBv+BlC,WAAA;EACA,mCrBqzBkC;ECh3BpC,sCAAA;AP6hFJ;A2B99EE;EACE,wCrBkzBoC;AN8qDxC;A2B59EI;EACE,sCAAA;A3B89EN;A2B19EE;;EAEE,crBhFO;AN4iFX;;A4BtjFA;EACE,kBAAA;EACA,aAAA;EACA,eAAA;EACA,oBAAA;EACA,WAAA;A5ByjFF;A4BvjFE;;;EAGE,kBAAA;EACA,cAAA;EACA,SAAA;EACA,YAAA;A5ByjFJ;A4BrjFE;;;EAGE,UAAA;A5BujFJ;A4BjjFE;EACE,kBAAA;EACA,UAAA;A5BmjFJ;A4BjjFI;EACE,UAAA;A5BmjFN;;A4BxiFA;EACE,aAAA;EACA,mBAAA;EACA,yBAAA;EzB8OI,eALI;EyBvOR,gBtByjB4B;EsBxjB5B,gBtBgkB4B;EsB/jB5B,2BtBm1BsC;EsBl1BtC,kBAAA;EACA,mBAAA;EACA,uCtB06BsC;EsBz6BtC,2DAAA;ErBtCE,sCAAA;APklFJ;;A4BliFA;;;;EAIE,oBAAA;EzBwNI,kBALI;EIvQN,yCAAA;AP2lFJ;;A4BliFA;;;;EAIE,uBAAA;EzB+MI,mBALI;EIvQN,yCAAA;APomFJ;;A4BliFA;;EAEE,mBAAA;A5BqiFF;;A4BxhFI;;;;ErBjEA,0BAAA;EACA,6BAAA;APgmFJ;A4BvhFI;;;;ErB1EA,0BAAA;EACA,6BAAA;APumFJ;A4BjhFE;EACE,8CAAA;ErB1EA,yBAAA;EACA,4BAAA;AP8lFJ;A4BjhFE;;ErB9EE,yBAAA;EACA,4BAAA;APmmFJ;;A6B3nFE;EACE,aAAA;EACA,WAAA;EACA,mBvBu0BoC;EHrkBlC,kBALI;E0B1PN,iCvBkjCqB;AN2kDzB;;A6B1nFE;EACE,kBAAA;EACA,SAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;EACA,kBAAA;E1BqPE,mBALI;E0B7ON,WvBqiCqB;EuBpiCrB,mCvBoiCqB;EC/jCrB,sCAAA;APwpFJ;;A6BxnFI;;;;EAEE,cAAA;A7B6nFN;;A6B5qFI;EAqDE,+CvBuhCmB;EuBphCjB,oCvB81BgC;EuB71BhC,0PAAA;EACA,4BAAA;EACA,2DAAA;EACA,gEAAA;A7BynFR;A6BtnFM;EACE,+CvB4gCiB;EuBvgCf,2DvBugCe;AN6mDzB;;A6BzrFI;EA+EI,oCvBu0BgC;EuBt0BhC,kFAAA;A7B8mFR;;A6B9rFI;EAuFE,+CvBq/BmB;ANsnDzB;A6BxmFQ;EAEE,kQAAA;EACA,uBvBq5B8B;EuBp5B9B,+DAAA;EACA,2EAAA;A7BymFV;A6BrmFM;EACE,+CvBw+BiB;EuBn+Bf,2DvBm+Be;ANgoDzB;;A6B5sFI;EAkHI,yCAAA;A7B8lFR;;A6BhtFI;EAyHE,+CvBm9BmB;ANwoDzB;A6BzlFM;EACE,4CvBg9BiB;AN2oDzB;A6BxlFM;EACE,2DvB48BiB;AN8oDzB;A6BvlFM;EACE,iCvBw8BiB;ANipDzB;;A6BplFI;EACE,kBAAA;A7BulFN;;A6BjuFI;;;;;EAoJM,UAAA;A7BqlFV;;A6BrtFE;EACE,aAAA;EACA,WAAA;EACA,mBvBu0BoC;EHrkBlC,kBALI;E0B1PN,mCvBkjCqB;ANqqDzB;;A6BptFE;EACE,kBAAA;EACA,SAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;EACA,kBAAA;E1BqPE,mBALI;E0B7ON,WvBqiCqB;EuBpiCrB,kCvBoiCqB;EC/jCrB,sCAAA;APkvFJ;;A6BltFI;;;;EAEE,cAAA;A7ButFN;;A6BtwFI;EAqDE,iDvBuhCmB;EuBphCjB,oCvB81BgC;EuB71BhC,4UAAA;EACA,4BAAA;EACA,2DAAA;EACA,gEAAA;A7BmtFR;A6BhtFM;EAC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,uBAAA;AxEq2OZ;;AwE52OQ;EAOI,2BAAA;AxEy2OZ;;AwEh3OQ;EAOI,wBAAA;AxE62OZ;;AwEp3OQ;EAOI,4BAAA;AxEi3OZ;;AwEx3OQ;EAOI,yBAAA;AxEq3OZ;;AwE53OQ;EAOI,8BAAA;AxEy3OZ;;AwEh4OQ;EAOI,iCAAA;AxE63OZ;;AwEp4OQ;EAOI,sCAAA;AxEi4OZ;;AwEx4OQ;EAOI,yCAAA;AxEq4OZ;;AwE54OQ;EAOI,uBAAA;AxEy4OZ;;AwEh5OQ;EAOI,uBAAA;AxE64OZ;;AwEp5OQ;EAOI,yBAAA;AxEi5OZ;;AwEx5OQ;EAOI,yBAAA;AxEq5OZ;;AwE55OQ;EAOI,0BAAA;AxEy5OZ;;AwEh6OQ;EAOI,4BAAA;AxE65OZ;;AwEp6OQ;EAOI,kCAAA;AxEi6OZ;;AwEx6OQ;EAOI,sCAAA;AxEq6OZ;;AwE56OQ;EAOI,oCAAA;AxEy6OZ;;AwEh7OQ;EAOI,kCAAA;AxE66OZ;;AwEp7OQ;EAOI,yCAAA;AxEi7OZ;;AwEx7OQ;EAOI,wCAAA;AxEq7OZ;;AwE57OQ;EAOI,wCAAA;AxEy7OZ;;AwEh8OQ;EAOI,kCAAA;AxE67OZ;;AwEp8OQ;EAOI,gCAAA;AxEi8OZ;;AwEx8OQ;EAOI,8BAAA;AxEq8OZ;;AwE58OQ;EAOI,gCAAA;AxEy8OZ;;AwEh9OQ;EAOI,+BAAA;AxE68OZ;;AwEp9OQ;EAOI,oCAAA;AxEi9OZ;;AwEx9OQ;EAOI,kCAAA;AxEq9OZ;;AwE59OQ;EAOI,gCAAA;AxEy9OZ;;AwEh+OQ;EAOI,uCAAA;AxE69OZ;;AwEp+OQ;EAOI,sCAAA;AxEi+OZ;;AwEx+OQ;EAOI,iCAAA;AxEq+OZ;;AwE5+OQ;EAOI,2BAAA;AxEy+OZ;;AwEh/OQ;EAOI,iCAAA;AxE6+OZ;;AwEp/OQ;EAOI,+BAAA;AxEi/OZ;;AwEx/OQ;EAOI,6BAAA;AxEq/OZ;;AwE5/OQ;EAOI,+BAAA;AxEy/OZ;;AwEhgPQ;EAOI,8BAAA;AxE6/OZ;;AwEpgPQ;EAOI,oBAAA;AxEigPZ;;AwExgPQ;EAOI,mBAAA;AxEqgPZ;;AwE5gPQ;EAOI,mBAAA;AxEygPZ;;AwEhhPQ;EAOI,mBAAA;AxE6gPZ;;AwEphPQ;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;EwE75TM;IAOI,8BAAA;ExEy5TV;EwEh6TM;IAOI,wBAAA;ExE45TV;EwEn6TM;IAOI,+BAAA;ExE+5TV;EwEt6TM;IAOI,wBAAA;ExEk6TV;EwEz6TM;IAOI,yBAAA;ExEq6TV;EwE56TM;IAOI,8BAAA;ExEw6TV;EwE/6TM;IAOI,iCAAA;ExE26TV;EwEl7TM;IAOI,sCAAA;ExE86TV;EwEr7TM;IAOI,yCAAA;ExEi7TV;EwEx7TM;IAOI,uBAAA;ExEo7TV;EwE37TM;IAOI,uBAAA;ExEu7TV;EwE97TM;IAOI,yBAAA;ExE07TV;EwEj8TM;IAOI,yBAAA;ExE67TV;EwEp8TM;IAOI,0BAAA;ExEg8TV;EwEv8TM;IAOI,4BAAA;ExEm8TV;EwE18TM;IAOI,kCAAA;ExEs8TV;EwE78TM;IAOI,sCAAA;ExEy8TV;EwEh9TM;IAOI,oCAAA;ExE48TV;EwEn9TM;IAOI,kCAAA;ExE+8TV;EwEt9TM;IAOI,yCAAA;ExEk9TV;EwEz9TM;IAOI,wCAAA;ExEq9TV;EwE59TM;IAOI,wCAAA;ExEw9TV;EwE/9TM;IAOI,kCAAA;ExE29TV;EwEl+TM;IAOI,gCAAA;ExE89TV;EwEr+TM;IAOI,8BAAA;ExEi+TV;EwEx+TM;IAOI,gCAAA;ExEo+TV;EwE3+TM;IAOI,+BAAA;ExEu+TV;EwE9+TM;IAOI,oCAAA;ExE0+TV;EwEj/TM;IAOI,kCAAA;ExE6+TV;EwEp/TM;IAOI,gCAAA;ExEg/TV;EwEv/TM;IAOI,uCAAA;ExEm/TV;EwE1/TM;IAOI,sCAAA;ExEs/TV;EwE7/TM;IAOI,iCAAA;ExEy/TV;EwEhgUM;IAOI,2BAAA;ExE4/TV;EwEngUM;IAOI,iCAAA;ExE+/TV;EwEtgUM;IAOI,+BAAA;ExEkgUV;EwEzgUM;IAOI,6BAAA;ExEqgUV;EwE5gUM;IAOI,+BAAA;ExEwgUV;EwE/gUM;IAOI,8BAAA;ExE2gUV;EwElhUM;IAOI,oBAAA;ExE8gUV;EwErhUM;IAOI,mBAAA;ExEihUV;EwExhUM;IAOI,mBAAA;ExEohUV;EwE3hUM;IAOI,mBAAA;ExEuhUV;EwE9hUM;IAOI,mBAAA;ExE0hUV;EwEjiUM;IAO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","file":"bootstrap.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * Bootstrap  v5.3.8 (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[data-bs-theme=light] {\n  --bs-blue: #0d6efd;\n  --bs-indigo: #6610f2;\n  --bs-purple: #6f42c1;\n  --bs-pink: #d63384;\n  --bs-red: #dc3545;\n  --bs-orange: #fd7e14;\n  --bs-yellow: #ffc107;\n  --bs-green: #198754;\n  --bs-teal: #20c997;\n  --bs-cyan: #0dcaf0;\n  --bs-black: #000;\n  --bs-white: #fff;\n  --bs-gray: #6c757d;\n  --bs-gray-dark: #343a40;\n  --bs-gray-100: #f8f9fa;\n  --bs-gray-200: #e9ecef;\n  --bs-gray-300: #dee2e6;\n  --bs-gray-400: #ced4da;\n  --bs-gray-500: #adb5bd;\n  --bs-gray-600: #6c757d;\n  --bs-gray-700: #495057;\n  --bs-gray-800: #343a40;\n  --bs-gray-900: #212529;\n  --bs-primary: #0d6efd;\n  --bs-secondary: #6c757d;\n  --bs-success: #198754;\n  --bs-info: #0dcaf0;\n  --bs-warning: #ffc107;\n  --bs-danger: #dc3545;\n  --bs-light: #f8f9fa;\n  --bs-dark: #212529;\n  --bs-primary-rgb: 13, 110, 253;\n  --bs-secondary-rgb: 108, 117, 125;\n  --bs-success-rgb: 25, 135, 84;\n  --bs-info-rgb: 13, 202, 240;\n  --bs-warning-rgb: 255, 193, 7;\n  --bs-danger-rgb: 220, 53, 69;\n  --bs-light-rgb: 248, 249, 250;\n  --bs-dark-rgb: 33, 37, 41;\n  --bs-primary-text-emphasis: #052c65;\n  --bs-secondary-text-emphasis: #2b2f32;\n  --bs-success-text-emphasis: #0a3622;\n  --bs-info-text-emphasis: #055160;\n  --bs-warning-text-emphasis: #664d03;\n  --bs-danger-text-emphasis: #58151c;\n  --bs-light-text-emphasis: #495057;\n  --bs-dark-text-emphasis: #495057;\n  --bs-primary-bg-subtle: #cfe2ff;\n  --bs-secondary-bg-subtle: #e2e3e5;\n  --bs-success-bg-subtle: #d1e7dd;\n  --bs-info-bg-subtle: #cff4fc;\n  --bs-warning-bg-subtle: #fff3cd;\n  --bs-danger-bg-subtle: #f8d7da;\n  --bs-light-bg-subtle: #fcfcfd;\n  --bs-dark-bg-subtle: #ced4da;\n  --bs-primary-border-subtle: #9ec5fe;\n  --bs-secondary-border-subtle: #c4c8cb;\n  --bs-success-border-subtle: #a3cfbb;\n  --bs-info-border-subtle: #9eeaf9;\n  --bs-warning-border-subtle: #ffe69c;\n  --bs-danger-border-subtle: #f1aeb5;\n  --bs-light-border-subtle: #e9ecef;\n  --bs-dark-border-subtle: #adb5bd;\n  --bs-white-rgb: 255, 255, 255;\n  --bs-black-rgb: 0, 0, 0;\n  --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\";\n  --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n  --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n  --bs-body-font-family: var(--bs-font-sans-serif);\n  --bs-body-font-size: 1rem;\n  --bs-body-font-weight: 400;\n  --bs-body-line-height: 1.5;\n  --bs-body-color: #212529;\n  --bs-body-color-rgb: 33, 37, 41;\n  --bs-body-bg: #fff;\n  --bs-body-bg-rgb: 255, 255, 255;\n  --bs-emphasis-color: #000;\n  --bs-emphasis-color-rgb: 0, 0, 0;\n  --bs-secondary-color: rgba(33, 37, 41, 0.75);\n  --bs-secondary-color-rgb: 33, 37, 41;\n  --bs-secondary-bg: #e9ecef;\n  --bs-secondary-bg-rgb: 233, 236, 239;\n  --bs-tertiary-color: rgba(33, 37, 41, 0.5);\n  --bs-tertiary-color-rgb: 33, 37, 41;\n  --bs-tertiary-bg: #f8f9fa;\n  --bs-tertiary-bg-rgb: 248, 249, 250;\n  --bs-heading-color: inherit;\n  --bs-link-color: #0d6efd;\n  --bs-link-color-rgb: 13, 110, 253;\n  --bs-link-decoration: underline;\n  --bs-link-hover-color: #0a58ca;\n  --bs-link-hover-color-rgb: 10, 88, 202;\n  --bs-code-color: #d63384;\n  --bs-highlight-color: #212529;\n  --bs-highlight-bg: #fff3cd;\n  --bs-border-width: 1px;\n  --bs-border-style: solid;\n  --bs-border-color: #dee2e6;\n  --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n  --bs-border-radius: 0.375rem;\n  --bs-border-radius-sm: 0.25rem;\n  --bs-border-radius-lg: 0.5rem;\n  --bs-border-radius-xl: 1rem;\n  --bs-border-radius-xxl: 2rem;\n  --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n  --bs-border-radius-pill: 50rem;\n  --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n  --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n  --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n  --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n  --bs-focus-ring-width: 0.25rem;\n  --bs-focus-ring-opacity: 0.25;\n  --bs-focus-ring-color: rgba(13, 110, 253, 0.25);\n  --bs-form-valid-color: #198754;\n  --bs-form-valid-border-color: #198754;\n  --bs-form-invalid-color: #dc3545;\n  --bs-form-invalid-border-color: #dc3545;\n}\n\n[data-bs-theme=dark] {\n  color-scheme: dark;\n  --bs-body-color: #dee2e6;\n  --bs-body-color-rgb: 222, 226, 230;\n  --bs-body-bg: #212529;\n  --bs-body-bg-rgb: 33, 37, 41;\n  --bs-emphasis-color: #fff;\n  --bs-emphasis-color-rgb: 255, 255, 255;\n  --bs-secondary-color: rgba(222, 226, 230, 0.75);\n  --bs-secondary-color-rgb: 222, 226, 230;\n  --bs-secondary-bg: #343a40;\n  --bs-secondary-bg-rgb: 52, 58, 64;\n  --bs-tertiary-color: rgba(222, 226, 230, 0.5);\n  --bs-tertiary-color-rgb: 222, 226, 230;\n  --bs-tertiary-bg: #2b3035;\n  --bs-tertiary-bg-rgb: 43, 48, 53;\n  --bs-primary-text-emphasis: #6ea8fe;\n  --bs-secondary-text-emphasis: #a7acb1;\n  --bs-success-text-emphasis: #75b798;\n  --bs-info-text-emphasis: #6edff6;\n  --bs-warning-text-emphasis: #ffda6a;\n  --bs-danger-text-emphasis: #ea868f;\n  --bs-light-text-emphasis: #f8f9fa;\n  --bs-dark-text-emphasis: #dee2e6;\n  --bs-primary-bg-subtle: #031633;\n  --bs-secondary-bg-subtle: #161719;\n  --bs-success-bg-subtle: #051b11;\n  --bs-info-bg-subtle: #032830;\n  --bs-warning-bg-subtle: #332701;\n  --bs-danger-bg-subtle: #2c0b0e;\n  --bs-light-bg-subtle: #343a40;\n  --bs-dark-bg-subtle: #1a1d20;\n  --bs-primary-border-subtle: #084298;\n  --bs-secondary-border-subtle: #41464b;\n  --bs-success-border-subtle: #0f5132;\n  --bs-info-border-subtle: #087990;\n  --bs-warning-border-subtle: #997404;\n  --bs-danger-border-subtle: #842029;\n  --bs-light-border-subtle: #495057;\n  --bs-dark-border-subtle: #343a40;\n  --bs-heading-color: inherit;\n  --bs-link-color: #6ea8fe;\n  --bs-link-hover-color: #8bb9fe;\n  --bs-link-color-rgb: 110, 168, 254;\n  --bs-link-hover-color-rgb: 139, 185, 254;\n  --bs-code-color: #e685b5;\n  --bs-highlight-color: #dee2e6;\n  --bs-highlight-bg: #664d03;\n  --bs-border-color: #495057;\n  --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n  --bs-form-valid-color: #75b798;\n  --bs-form-valid-border-color: #75b798;\n  --bs-form-invalid-color: #ea868f;\n  --bs-form-invalid-border-color: #ea868f;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n  :root {\n    scroll-behavior: smooth;\n  }\n}\n\nbody {\n  margin: 0;\n  font-family: var(--bs-body-font-family);\n  font-size: var(--bs-body-font-size);\n  font-weight: var(--bs-body-font-weight);\n  line-height: var(--bs-body-line-height);\n  color: var(--bs-body-color);\n  text-align: var(--bs-body-text-align);\n  background-color: var(--bs-body-bg);\n  -webkit-text-size-adjust: 100%;\n  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n  margin: 1rem 0;\n  color: inherit;\n  border: 0;\n  border-top: var(--bs-border-width) solid;\n  opacity: 0.25;\n}\n\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\n  margin-top: 0;\n  margin-bottom: 0.5rem;\n  font-weight: 500;\n  line-height: 1.2;\n  color: var(--bs-heading-color);\n}\n\nh1, .h1 {\n  font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n  h1, .h1 {\n    font-size: 2.5rem;\n  }\n}\n\nh2, .h2 {\n  font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n  h2, .h2 {\n    font-size: 2rem;\n  }\n}\n\nh3, .h3 {\n  font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n  h3, .h3 {\n    font-size: 1.75rem;\n  }\n}\n\nh4, .h4 {\n  font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n  h4, .h4 {\n    font-size: 1.5rem;\n  }\n}\n\nh5, .h5 {\n  font-size: 1.25rem;\n}\n\nh6, .h6 {\n  font-size: 1rem;\n}\n\np {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nabbr[title] {\n  text-decoration: underline dotted;\n  cursor: help;\n  text-decoration-skip-ink: none;\n}\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\nol,\nul {\n  padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: 700;\n}\n\ndd {\n  margin-bottom: 0.5rem;\n  margin-left: 0;\n}\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\nb,\nstrong {\n  font-weight: bolder;\n}\n\nsmall, .small {\n  font-size: 0.875em;\n}\n\nmark, .mark {\n  padding: 0.1875em;\n  color: var(--bs-highlight-color);\n  background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n  position: relative;\n  font-size: 0.75em;\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub {\n  bottom: -0.25em;\n}\n\nsup {\n  top: -0.5em;\n}\n\na {\n  color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n  text-decoration: underline;\n}\na:hover {\n  --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n  color: inherit;\n  text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: var(--bs-font-monospace);\n  font-size: 1em;\n}\n\npre {\n  display: block;\n  margin-top: 0;\n  margin-bottom: 1rem;\n  overflow: auto;\n  font-size: 0.875em;\n}\npre code {\n  font-size: inherit;\n  color: inherit;\n  word-break: normal;\n}\n\ncode {\n  font-size: 0.875em;\n  color: var(--bs-code-color);\n  word-wrap: break-word;\n}\na > code {\n  color: inherit;\n}\n\nkbd {\n  padding: 0.1875rem 0.375rem;\n  font-size: 0.875em;\n  color: var(--bs-body-bg);\n  background-color: var(--bs-body-color);\n  border-radius: 0.25rem;\n}\nkbd kbd {\n  padding: 0;\n  font-size: 1em;\n}\n\nfigure {\n  margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n  vertical-align: middle;\n}\n\ntable {\n  caption-side: bottom;\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n  color: var(--bs-secondary-color);\n  text-align: left;\n}\n\nth {\n  text-align: inherit;\n  text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n  border-color: inherit;\n  border-style: solid;\n  border-width: 0;\n}\n\nlabel {\n  display: inline-block;\n}\n\nbutton {\n  border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n  outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0;\n  font-family: inherit;\n  font-size: inherit;\n  line-height: inherit;\n}\n\nbutton,\nselect {\n  text-transform: none;\n}\n\n[role=button] {\n  cursor: pointer;\n}\n\nselect {\n  word-wrap: normal;\n}\nselect:disabled {\n  opacity: 1;\n}\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\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n  -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n  cursor: pointer;\n}\n\n::-moz-focus-inner {\n  padding: 0;\n  border-style: none;\n}\n\ntextarea {\n  resize: vertical;\n}\n\nfieldset {\n  min-width: 0;\n  padding: 0;\n  margin: 0;\n  border: 0;\n}\n\nlegend {\n  float: left;\n  width: 100%;\n  padding: 0;\n  margin-bottom: 0.5rem;\n  line-height: inherit;\n  font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n  legend {\n    font-size: 1.5rem;\n  }\n}\nlegend + * {\n  clear: left;\n}\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[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\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n  direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n  -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n  padding: 0;\n}\n\n::file-selector-button {\n  font: inherit;\n  -webkit-appearance: button;\n}\n\noutput {\n  display: inline-block;\n}\n\niframe {\n  border: 0;\n}\n\nsummary {\n  display: list-item;\n  cursor: pointer;\n}\n\nprogress {\n  vertical-align: baseline;\n}\n\n[hidden] {\n  display: none !important;\n}\n\n.lead {\n  font-size: 1.25rem;\n  font-weight: 300;\n}\n\n.display-1 {\n  font-weight: 300;\n  line-height: 1.2;\n  font-size: calc(1.625rem + 4.5vw);\n}\n@media (min-width: 1200px) {\n  .display-1 {\n    font-size: 5rem;\n  }\n}\n\n.display-2 {\n  font-weight: 300;\n  line-height: 1.2;\n  font-size: calc(1.575rem + 3.9vw);\n}\n@media (min-width: 1200px) {\n  .display-2 {\n    font-size: 4.5rem;\n  }\n}\n\n.display-3 {\n  font-weight: 300;\n  line-height: 1.2;\n  font-size: calc(1.525rem + 3.3vw);\n}\n@media (min-width: 1200px) {\n  .display-3 {\n    font-size: 4rem;\n  }\n}\n\n.display-4 {\n  font-weight: 300;\n  line-height: 1.2;\n  font-size: calc(1.475rem + 2.7vw);\n}\n@media (min-width: 1200px) {\n  .display-4 {\n    font-size: 3.5rem;\n  }\n}\n\n.display-5 {\n  font-weight: 300;\n  line-height: 1.2;\n  font-size: calc(1.425rem + 2.1vw);\n}\n@media (min-width: 1200px) {\n  .display-5 {\n    font-size: 3rem;\n  }\n}\n\n.display-6 {\n  font-weight: 300;\n  line-height: 1.2;\n  font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n  .display-6 {\n    font-size: 2.5rem;\n  }\n}\n\n.list-unstyled {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline {\n  padding-left: 0;\n  list-style: none;\n}\n\n.list-inline-item {\n  display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n  margin-right: 0.5rem;\n}\n\n.initialism {\n  font-size: 0.875em;\n  text-transform: uppercase;\n}\n\n.blockquote {\n  margin-bottom: 1rem;\n  font-size: 1.25rem;\n}\n.blockquote > :last-child {\n  margin-bottom: 0;\n}\n\n.blockquote-footer {\n  margin-top: -1rem;\n  margin-bottom: 1rem;\n  font-size: 0.875em;\n  color: #6c757d;\n}\n.blockquote-footer::before {\n  content: \"— \";\n}\n\n.img-fluid {\n  max-width: 100%;\n  height: auto;\n}\n\n.img-thumbnail {\n  padding: 0.25rem;\n  background-color: var(--bs-body-bg);\n  border: var(--bs-border-width) solid var(--bs-border-color);\n  border-radius: var(--bs-border-radius);\n  max-width: 100%;\n  height: auto;\n}\n\n.figure {\n  display: inline-block;\n}\n\n.figure-img {\n  margin-bottom: 0.5rem;\n  line-height: 1;\n}\n\n.figure-caption {\n  font-size: 0.875em;\n  color: var(--bs-secondary-color);\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n  --bs-gutter-x: 1.5rem;\n  --bs-gutter-y: 0;\n  width: 100%;\n  padding-right: calc(var(--bs-gutter-x) * 0.5);\n  padding-left: calc(var(--bs-gutter-x) * 0.5);\n  margin-right: auto;\n  margin-left: auto;\n}\n\n@media (min-width: 576px) {\n  .container-sm, .container {\n    max-width: 540px;\n  }\n}\n@media (min-width: 768px) {\n  .container-md, .container-sm, .container {\n    max-width: 720px;\n  }\n}\n@media (min-width: 992px) {\n  .container-lg, .container-md, .container-sm, .container {\n    max-width: 960px;\n  }\n}\n@media (min-width: 1200px) {\n  .container-xl, .container-lg, .container-md, .container-sm, .container {\n    max-width: 1140px;\n  }\n}\n@media (min-width: 1400px) {\n  .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n    max-width: 1320px;\n  }\n}\n:root {\n  --bs-breakpoint-xs: 0;\n  --bs-breakpoint-sm: 576px;\n  --bs-breakpoint-md: 768px;\n  --bs-breakpoint-lg: 992px;\n  --bs-breakpoint-xl: 1200px;\n  --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n  --bs-gutter-x: 1.5rem;\n  --bs-gutter-y: 0;\n  display: flex;\n  flex-wrap: wrap;\n  margin-top: calc(-1 * var(--bs-gutter-y));\n  margin-right: calc(-0.5 * var(--bs-gutter-x));\n  margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n  flex-shrink: 0;\n  width: 100%;\n  max-width: 100%;\n  padding-right: calc(var(--bs-gutter-x) * 0.5);\n  padding-left: calc(var(--bs-gutter-x) * 0.5);\n  margin-top: var(--bs-gutter-y);\n}\n\n.col {\n  flex: 1 0 0;\n}\n\n.row-cols-auto > * {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n.row-cols-1 > * {\n  flex: 0 0 auto;\n  width: 100%;\n}\n\n.row-cols-2 > * {\n  flex: 0 0 auto;\n  width: 50%;\n}\n\n.row-cols-3 > * {\n  flex: 0 0 auto;\n  width: 33.33333333%;\n}\n\n.row-cols-4 > * {\n  flex: 0 0 auto;\n  width: 25%;\n}\n\n.row-cols-5 > * {\n  flex: 0 0 auto;\n  width: 20%;\n}\n\n.row-cols-6 > * {\n  flex: 0 0 auto;\n  width: 16.66666667%;\n}\n\n.col-auto {\n  flex: 0 0 auto;\n  width: auto;\n}\n\n.col-1 {\n  flex: 0 0 auto;\n  width: 8.33333333%;\n}\n\n.col-2 {\n  flex: 0 0 auto;\n  width: 16.66666667%;\n}\n\n.col-3 {\n  flex: 0 0 auto;\n  width: 25%;\n}\n\n.col-4 {\n  flex: 0 0 auto;\n  width: 33.33333333%;\n}\n\n.col-5 {\n  flex: 0 0 auto;\n  width: 41.66666667%;\n}\n\n.col-6 {\n  flex: 0 0 auto;\n  width: 50%;\n}\n\n.col-7 {\n  flex: 0 0 auto;\n  width: 58.33333333%;\n}\n\n.col-8 {\n  flex: 0 0 auto;\n  width: 66.66666667%;\n}\n\n.col-9 {\n  flex: 0 0 auto;\n  width: 75%;\n}\n\n.col-10 {\n  flex: 0 0 auto;\n  width: 83.33333333%;\n}\n\n.col-11 {\n  flex: 0 0 auto;\n  width: 91.66666667%;\n}\n\n.col-12 {\n  flex: 0 0 auto;\n  width: 100%;\n}\n\n.offset-1 {\n  margin-left: 8.33333333%;\n}\n\n.offset-2 {\n  margin-left: 16.66666667%;\n}\n\n.offset-3 {\n  margin-left: 25%;\n}\n\n.offset-4 {\n  margin-left: 33.33333333%;\n}\n\n.offset-5 {\n  margin-left: 41.66666667%;\n}\n\n.offset-6 {\n  margin-left: 50%;\n}\n\n.offset-7 {\n  margin-left: 58.33333333%;\n}\n\n.offset-8 {\n  margin-left: 66.66666667%;\n}\n\n.offset-9 {\n  margin-left: 75%;\n}\n\n.offset-10 {\n  margin-left: 83.33333333%;\n}\n\n.offset-11 {\n  margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n  --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n  --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n  --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n  --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n  --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n  --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n  --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n  --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n  --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n  --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n  --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n  --bs-gutter-y: 3rem;\n}\n\n@media (min-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.33333333%;\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.66666667%;\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.33333333%;\n  }\n  .col-sm-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\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.33333333%;\n  }\n  .col-sm-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\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.33333333%;\n  }\n  .col-sm-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\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.33333333%;\n  }\n  .col-sm-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-sm-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-sm-0 {\n    margin-left: 0;\n  }\n  .offset-sm-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-sm-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-sm-3 {\n    margin-left: 25%;\n  }\n  .offset-sm-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-sm-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-sm-6 {\n    margin-left: 50%;\n  }\n  .offset-sm-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-sm-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-sm-9 {\n    margin-left: 75%;\n  }\n  .offset-sm-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-sm-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-sm-0,\n  .gx-sm-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-sm-0,\n  .gy-sm-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-sm-1,\n  .gx-sm-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-sm-1,\n  .gy-sm-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-sm-2,\n  .gx-sm-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-sm-2,\n  .gy-sm-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-sm-3,\n  .gx-sm-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-sm-3,\n  .gy-sm-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-sm-4,\n  .gx-sm-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-sm-4,\n  .gy-sm-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-sm-5,\n  .gx-sm-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-sm-5,\n  .gy-sm-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n@media (min-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.33333333%;\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.66666667%;\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.33333333%;\n  }\n  .col-md-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\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.33333333%;\n  }\n  .col-md-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\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.33333333%;\n  }\n  .col-md-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\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.33333333%;\n  }\n  .col-md-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-md-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-md-0 {\n    margin-left: 0;\n  }\n  .offset-md-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-md-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-md-3 {\n    margin-left: 25%;\n  }\n  .offset-md-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-md-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-md-6 {\n    margin-left: 50%;\n  }\n  .offset-md-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-md-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-md-9 {\n    margin-left: 75%;\n  }\n  .offset-md-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-md-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-md-0,\n  .gx-md-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-md-0,\n  .gy-md-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-md-1,\n  .gx-md-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-md-1,\n  .gy-md-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-md-2,\n  .gx-md-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-md-2,\n  .gy-md-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-md-3,\n  .gx-md-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-md-3,\n  .gy-md-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-md-4,\n  .gx-md-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-md-4,\n  .gy-md-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-md-5,\n  .gx-md-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-md-5,\n  .gy-md-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n@media (min-width: 992px) {\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.33333333%;\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.66666667%;\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.33333333%;\n  }\n  .col-lg-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\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.33333333%;\n  }\n  .col-lg-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\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.33333333%;\n  }\n  .col-lg-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\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.33333333%;\n  }\n  .col-lg-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-lg-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-lg-0 {\n    margin-left: 0;\n  }\n  .offset-lg-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-lg-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-lg-3 {\n    margin-left: 25%;\n  }\n  .offset-lg-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-lg-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-lg-6 {\n    margin-left: 50%;\n  }\n  .offset-lg-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-lg-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-lg-9 {\n    margin-left: 75%;\n  }\n  .offset-lg-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-lg-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-lg-0,\n  .gx-lg-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-lg-0,\n  .gy-lg-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-lg-1,\n  .gx-lg-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-lg-1,\n  .gy-lg-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-lg-2,\n  .gx-lg-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-lg-2,\n  .gy-lg-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-lg-3,\n  .gx-lg-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-lg-3,\n  .gy-lg-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-lg-4,\n  .gx-lg-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-lg-4,\n  .gy-lg-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-lg-5,\n  .gx-lg-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-lg-5,\n  .gy-lg-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n@media (min-width: 1200px) {\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.33333333%;\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.66666667%;\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.33333333%;\n  }\n  .col-xl-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\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.33333333%;\n  }\n  .col-xl-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\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.33333333%;\n  }\n  .col-xl-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\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.33333333%;\n  }\n  .col-xl-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-xl-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-xl-0 {\n    margin-left: 0;\n  }\n  .offset-xl-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-xl-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-xl-3 {\n    margin-left: 25%;\n  }\n  .offset-xl-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-xl-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-xl-6 {\n    margin-left: 50%;\n  }\n  .offset-xl-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-xl-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-xl-9 {\n    margin-left: 75%;\n  }\n  .offset-xl-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-xl-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-xl-0,\n  .gx-xl-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-xl-0,\n  .gy-xl-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-xl-1,\n  .gx-xl-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-xl-1,\n  .gy-xl-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-xl-2,\n  .gx-xl-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-xl-2,\n  .gy-xl-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-xl-3,\n  .gx-xl-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-xl-3,\n  .gy-xl-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-xl-4,\n  .gx-xl-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-xl-4,\n  .gy-xl-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-xl-5,\n  .gx-xl-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-xl-5,\n  .gy-xl-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n@media (min-width: 1400px) {\n  .col-xxl {\n    flex: 1 0 0;\n  }\n  .row-cols-xxl-auto > * {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .row-cols-xxl-1 > * {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .row-cols-xxl-2 > * {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .row-cols-xxl-3 > * {\n    flex: 0 0 auto;\n    width: 33.33333333%;\n  }\n  .row-cols-xxl-4 > * {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .row-cols-xxl-5 > * {\n    flex: 0 0 auto;\n    width: 20%;\n  }\n  .row-cols-xxl-6 > * {\n    flex: 0 0 auto;\n    width: 16.66666667%;\n  }\n  .col-xxl-auto {\n    flex: 0 0 auto;\n    width: auto;\n  }\n  .col-xxl-1 {\n    flex: 0 0 auto;\n    width: 8.33333333%;\n  }\n  .col-xxl-2 {\n    flex: 0 0 auto;\n    width: 16.66666667%;\n  }\n  .col-xxl-3 {\n    flex: 0 0 auto;\n    width: 25%;\n  }\n  .col-xxl-4 {\n    flex: 0 0 auto;\n    width: 33.33333333%;\n  }\n  .col-xxl-5 {\n    flex: 0 0 auto;\n    width: 41.66666667%;\n  }\n  .col-xxl-6 {\n    flex: 0 0 auto;\n    width: 50%;\n  }\n  .col-xxl-7 {\n    flex: 0 0 auto;\n    width: 58.33333333%;\n  }\n  .col-xxl-8 {\n    flex: 0 0 auto;\n    width: 66.66666667%;\n  }\n  .col-xxl-9 {\n    flex: 0 0 auto;\n    width: 75%;\n  }\n  .col-xxl-10 {\n    flex: 0 0 auto;\n    width: 83.33333333%;\n  }\n  .col-xxl-11 {\n    flex: 0 0 auto;\n    width: 91.66666667%;\n  }\n  .col-xxl-12 {\n    flex: 0 0 auto;\n    width: 100%;\n  }\n  .offset-xxl-0 {\n    margin-left: 0;\n  }\n  .offset-xxl-1 {\n    margin-left: 8.33333333%;\n  }\n  .offset-xxl-2 {\n    margin-left: 16.66666667%;\n  }\n  .offset-xxl-3 {\n    margin-left: 25%;\n  }\n  .offset-xxl-4 {\n    margin-left: 33.33333333%;\n  }\n  .offset-xxl-5 {\n    margin-left: 41.66666667%;\n  }\n  .offset-xxl-6 {\n    margin-left: 50%;\n  }\n  .offset-xxl-7 {\n    margin-left: 58.33333333%;\n  }\n  .offset-xxl-8 {\n    margin-left: 66.66666667%;\n  }\n  .offset-xxl-9 {\n    margin-left: 75%;\n  }\n  .offset-xxl-10 {\n    margin-left: 83.33333333%;\n  }\n  .offset-xxl-11 {\n    margin-left: 91.66666667%;\n  }\n  .g-xxl-0,\n  .gx-xxl-0 {\n    --bs-gutter-x: 0;\n  }\n  .g-xxl-0,\n  .gy-xxl-0 {\n    --bs-gutter-y: 0;\n  }\n  .g-xxl-1,\n  .gx-xxl-1 {\n    --bs-gutter-x: 0.25rem;\n  }\n  .g-xxl-1,\n  .gy-xxl-1 {\n    --bs-gutter-y: 0.25rem;\n  }\n  .g-xxl-2,\n  .gx-xxl-2 {\n    --bs-gutter-x: 0.5rem;\n  }\n  .g-xxl-2,\n  .gy-xxl-2 {\n    --bs-gutter-y: 0.5rem;\n  }\n  .g-xxl-3,\n  .gx-xxl-3 {\n    --bs-gutter-x: 1rem;\n  }\n  .g-xxl-3,\n  .gy-xxl-3 {\n    --bs-gutter-y: 1rem;\n  }\n  .g-xxl-4,\n  .gx-xxl-4 {\n    --bs-gutter-x: 1.5rem;\n  }\n  .g-xxl-4,\n  .gy-xxl-4 {\n    --bs-gutter-y: 1.5rem;\n  }\n  .g-xxl-5,\n  .gx-xxl-5 {\n    --bs-gutter-x: 3rem;\n  }\n  .g-xxl-5,\n  .gy-xxl-5 {\n    --bs-gutter-y: 3rem;\n  }\n}\n.table {\n  --bs-table-color-type: initial;\n  --bs-table-bg-type: initial;\n  --bs-table-color-state: initial;\n  --bs-table-bg-state: initial;\n  --bs-table-color: var(--bs-emphasis-color);\n  --bs-table-bg: var(--bs-body-bg);\n  --bs-table-border-color: var(--bs-border-color);\n  --bs-table-accent-bg: transparent;\n  --bs-table-striped-color: var(--bs-emphasis-color);\n  --bs-table-striped-bg: rgba(var(--bs-emphasis-color-rgb), 0.05);\n  --bs-table-active-color: var(--bs-emphasis-color);\n  --bs-table-active-bg: rgba(var(--bs-emphasis-color-rgb), 0.1);\n  --bs-table-hover-color: var(--bs-emphasis-color);\n  --bs-table-hover-bg: rgba(var(--bs-emphasis-color-rgb), 0.075);\n  width: 100%;\n  margin-bottom: 1rem;\n  vertical-align: top;\n  border-color: var(--bs-table-border-color);\n}\n.table > :not(caption) > * > * {\n  padding: 0.5rem 0.5rem;\n  color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));\n  background-color: var(--bs-table-bg);\n  border-bottom-width: var(--bs-border-width);\n  box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));\n}\n.table > tbody {\n  vertical-align: inherit;\n}\n.table > thead {\n  vertical-align: bottom;\n}\n\n.table-group-divider {\n  border-top: calc(var(--bs-border-width) * 2) solid currentcolor;\n}\n\n.caption-top {\n  caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n  padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n  border-width: var(--bs-border-width) 0;\n}\n.table-bordered > :not(caption) > * > * {\n  border-width: 0 var(--bs-border-width);\n}\n\n.table-borderless > :not(caption) > * > * {\n  border-bottom-width: 0;\n}\n.table-borderless > :not(:first-child) {\n  border-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) > * {\n  --bs-table-color-type: var(--bs-table-striped-color);\n  --bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n  --bs-table-color-type: var(--bs-table-striped-color);\n  --bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-active {\n  --bs-table-color-state: var(--bs-table-active-color);\n  --bs-table-bg-state: var(--bs-table-active-bg);\n}\n\n.table-hover > tbody > tr:hover > * {\n  --bs-table-color-state: var(--bs-table-hover-color);\n  --bs-table-bg-state: var(--bs-table-hover-bg);\n}\n\n.table-primary {\n  --bs-table-color: #000;\n  --bs-table-bg: #cfe2ff;\n  --bs-table-border-color: #a6b5cc;\n  --bs-table-striped-bg: #c5d7f2;\n  --bs-table-striped-color: #000;\n  --bs-table-active-bg: #bacbe6;\n  --bs-table-active-color: #000;\n  --bs-table-hover-bg: #bfd1ec;\n  --bs-table-hover-color: #000;\n  color: var(--bs-table-color);\n  border-color: var(--bs-table-border-color);\n}\n\n.table-secondary {\n  --bs-table-color: #000;\n  --bs-table-bg: #e2e3e5;\n  --bs-table-border-color: #b5b6b7;\n  --bs-table-striped-bg: #d7d8da;\n  --bs-table-striped-color: #000;\n  --bs-table-active-bg: #cbccce;\n  --bs-table-active-color: #000;\n  --bs-table-hover-bg: #d1d2d4;\n  --bs-table-hover-color: #000;\n  color: var(--bs-table-color);\n  border-color: var(--bs-table-border-color);\n}\n\n.table-success {\n  --bs-table-color: #000;\n  --bs-table-bg: #d1e7dd;\n  --bs-table-border-color: #a7b9b1;\n  --bs-table-striped-bg: #c7dbd2;\n  --bs-table-striped-color: #000;\n  --bs-table-active-bg: #bcd0c7;\n  --bs-table-active-color: #000;\n  --bs-table-hover-bg: #c1d6cc;\n  --bs-table-hover-color: #000;\n  color: var(--bs-table-color);\n  border-color: var(--bs-table-border-color);\n}\n\n.table-info {\n  --bs-table-color: #000;\n  --bs-table-bg: #cff4fc;\n  --bs-table-border-color: #a6c3ca;\n  --bs-table-striped-bg: #c5e8ef;\n  --bs-table-striped-color: #000;\n  --bs-table-active-bg: #badce3;\n  --bs-table-active-color: #000;\n  --bs-table-hover-bg: #bfe2e9;\n  --bs-table-hover-color: #000;\n  color: var(--bs-table-color);\n  border-color: var(--bs-table-border-color);\n}\n\n.table-warning {\n  --bs-table-color: #000;\n  --bs-table-bg: #fff3cd;\n  --bs-table-border-color: #ccc2a4;\n  --bs-table-striped-bg: #f2e7c3;\n  --bs-table-striped-color: #000;\n  --bs-table-active-bg: #e6dbb9;\n  --bs-table-active-color: #000;\n  --bs-table-hover-bg: #ece1be;\n  --bs-table-hover-color: #000;\n  color: var(--bs-table-color);\n  border-color: var(--bs-table-border-color);\n}\n\n.table-danger {\n  --bs-table-color: #000;\n  --bs-table-bg: #f8d7da;\n  --bs-table-border-color: #c6acae;\n  --bs-table-striped-bg: #eccccf;\n  --bs-table-striped-color: #000;\n  --bs-table-active-bg: #dfc2c4;\n  --bs-table-active-color: #000;\n  --bs-table-hover-bg: #e5c7ca;\n  --bs-table-hover-color: #000;\n  color: var(--bs-table-color);\n  border-color: var(--bs-table-border-color);\n}\n\n.table-light {\n  --bs-table-color: #000;\n  --bs-table-bg: #f8f9fa;\n  --bs-table-border-color: #c6c7c8;\n  --bs-table-striped-bg: #ecedee;\n  --bs-table-striped-color: #000;\n  --bs-table-active-bg: #dfe0e1;\n  --bs-table-active-color: #000;\n  --bs-table-hover-bg: #e5e6e7;\n  --bs-table-hover-color: #000;\n  color: var(--bs-table-color);\n  border-color: var(--bs-table-border-color);\n}\n\n.table-dark {\n  --bs-table-color: #fff;\n  --bs-table-bg: #212529;\n  --bs-table-border-color: #4d5154;\n  --bs-table-striped-bg: #2c3034;\n  --bs-table-striped-color: #fff;\n  --bs-table-active-bg: #373b3e;\n  --bs-table-active-color: #fff;\n  --bs-table-hover-bg: #323539;\n  --bs-table-hover-color: #fff;\n  color: var(--bs-table-color);\n  border-color: var(--bs-table-border-color);\n}\n\n.table-responsive {\n  overflow-x: auto;\n  -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n  .table-responsive-sm {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n}\n@media (max-width: 767.98px) {\n  .table-responsive-md {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n}\n@media (max-width: 991.98px) {\n  .table-responsive-lg {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n}\n@media (max-width: 1199.98px) {\n  .table-responsive-xl {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n}\n@media (max-width: 1399.98px) {\n  .table-responsive-xxl {\n    overflow-x: auto;\n    -webkit-overflow-scrolling: touch;\n  }\n}\n.form-label {\n  margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n  padding-top: calc(0.375rem + var(--bs-border-width));\n  padding-bottom: calc(0.375rem + var(--bs-border-width));\n  margin-bottom: 0;\n  font-size: inherit;\n  line-height: 1.5;\n}\n\n.col-form-label-lg {\n  padding-top: calc(0.5rem + var(--bs-border-width));\n  padding-bottom: calc(0.5rem + var(--bs-border-width));\n  font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n  padding-top: calc(0.25rem + var(--bs-border-width));\n  padding-bottom: calc(0.25rem + var(--bs-border-width));\n  font-size: 0.875rem;\n}\n\n.form-text {\n  margin-top: 0.25rem;\n  font-size: 0.875em;\n  color: var(--bs-secondary-color);\n}\n\n.form-control {\n  display: block;\n  width: 100%;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--bs-body-color);\n  appearance: none;\n  background-color: var(--bs-body-bg);\n  background-clip: padding-box;\n  border: var(--bs-border-width) solid var(--bs-border-color);\n  border-radius: var(--bs-border-radius);\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 {\n  color: var(--bs-body-color);\n  background-color: var(--bs-body-bg);\n  border-color: #86b7fe;\n  outline: 0;\n  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\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(--bs-secondary-color);\n  opacity: 1;\n}\n.form-control:disabled {\n  background-color: var(--bs-secondary-bg);\n  opacity: 1;\n}\n.form-control::file-selector-button {\n  padding: 0.375rem 0.75rem;\n  margin: -0.375rem -0.75rem;\n  margin-inline-end: 0.75rem;\n  color: var(--bs-body-color);\n  background-color: var(--bs-tertiary-bg);\n  pointer-events: none;\n  border-color: inherit;\n  border-style: solid;\n  border-width: 0;\n  border-inline-end-width: var(--bs-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(--bs-secondary-bg);\n}\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(--bs-body-color);\n  background-color: transparent;\n  border: solid transparent;\n  border-width: var(--bs-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-right: 0;\n  padding-left: 0;\n}\n\n.form-control-sm {\n  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));\n  padding: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  border-radius: var(--bs-border-radius-sm);\n}\n.form-control-sm::file-selector-button {\n  padding: 0.25rem 0.5rem;\n  margin: -0.25rem -0.5rem;\n  margin-inline-end: 0.5rem;\n}\n\n.form-control-lg {\n  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));\n  padding: 0.5rem 1rem;\n  font-size: 1.25rem;\n  border-radius: var(--bs-border-radius-lg);\n}\n.form-control-lg::file-selector-button {\n  padding: 0.5rem 1rem;\n  margin: -0.5rem -1rem;\n  margin-inline-end: 1rem;\n}\n\ntextarea.form-control {\n  min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-sm {\n  min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-lg {\n  min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));\n}\n\n.form-control-color {\n  width: 3rem;\n  height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));\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(--bs-border-radius);\n}\n.form-control-color::-webkit-color-swatch {\n  border: 0 !important;\n  border-radius: var(--bs-border-radius);\n}\n.form-control-color.form-control-sm {\n  height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));\n}\n.form-control-color.form-control-lg {\n  height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));\n}\n\n.form-select {\n  --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n  display: block;\n  width: 100%;\n  padding: 0.375rem 2.25rem 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--bs-body-color);\n  appearance: none;\n  background-color: var(--bs-body-bg);\n  background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);\n  background-repeat: no-repeat;\n  background-position: right 0.75rem center;\n  background-size: 16px 12px;\n  border: var(--bs-border-width) solid var(--bs-border-color);\n  border-radius: var(--bs-border-radius);\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-select {\n    transition: none;\n  }\n}\n.form-select:focus {\n  border-color: #86b7fe;\n  outline: 0;\n  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n  padding-right: 0.75rem;\n  background-image: none;\n}\n.form-select:disabled {\n  background-color: var(--bs-secondary-bg);\n}\n.form-select:-moz-focusring {\n  color: transparent;\n  text-shadow: 0 0 0 var(--bs-body-color);\n}\n\n.form-select-sm {\n  padding-top: 0.25rem;\n  padding-bottom: 0.25rem;\n  padding-left: 0.5rem;\n  font-size: 0.875rem;\n  border-radius: var(--bs-border-radius-sm);\n}\n\n.form-select-lg {\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n  padding-left: 1rem;\n  font-size: 1.25rem;\n  border-radius: var(--bs-border-radius-lg);\n}\n\n[data-bs-theme=dark] .form-select {\n  --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23dee2e6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check {\n  display: block;\n  min-height: 1.5rem;\n  padding-left: 1.5em;\n  margin-bottom: 0.125rem;\n}\n.form-check .form-check-input {\n  float: left;\n  margin-left: -1.5em;\n}\n\n.form-check-reverse {\n  padding-right: 1.5em;\n  padding-left: 0;\n  text-align: right;\n}\n.form-check-reverse .form-check-input {\n  float: right;\n  margin-right: -1.5em;\n  margin-left: 0;\n}\n\n.form-check-input {\n  --bs-form-check-bg: var(--bs-body-bg);\n  flex-shrink: 0;\n  width: 1em;\n  height: 1em;\n  margin-top: 0.25em;\n  vertical-align: top;\n  appearance: none;\n  background-color: var(--bs-form-check-bg);\n  background-image: var(--bs-form-check-bg-image);\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: contain;\n  border: var(--bs-border-width) solid var(--bs-border-color);\n  print-color-adjust: exact;\n}\n.form-check-input[type=checkbox] {\n  border-radius: 0.25em;\n}\n.form-check-input[type=radio] {\n  border-radius: 50%;\n}\n.form-check-input:active {\n  filter: brightness(90%);\n}\n.form-check-input:focus {\n  border-color: #86b7fe;\n  outline: 0;\n  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-check-input:checked {\n  background-color: #0d6efd;\n  border-color: #0d6efd;\n}\n.form-check-input:checked[type=checkbox] {\n  --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type=radio] {\n  --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-check-input[type=checkbox]:indeterminate {\n  background-color: #0d6efd;\n  border-color: #0d6efd;\n  --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n  pointer-events: none;\n  filter: none;\n  opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n  cursor: default;\n  opacity: 0.5;\n}\n\n.form-switch {\n  padding-left: 2.5em;\n}\n.form-switch .form-check-input {\n  --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n  width: 2em;\n  margin-left: -2.5em;\n  background-image: var(--bs-form-switch-bg);\n  background-position: left center;\n  border-radius: 2em;\n  transition: background-position 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .form-switch .form-check-input {\n    transition: none;\n  }\n}\n.form-switch .form-check-input:focus {\n  --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%2386b7fe'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n  background-position: right center;\n  --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-switch.form-check-reverse {\n  padding-right: 2.5em;\n  padding-left: 0;\n}\n.form-switch.form-check-reverse .form-check-input {\n  margin-right: -2.5em;\n  margin-left: 0;\n}\n\n.form-check-inline {\n  display: inline-block;\n  margin-right: 1rem;\n}\n\n.btn-check {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n}\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n  pointer-events: none;\n  filter: none;\n  opacity: 0.65;\n}\n\n[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {\n  --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\");\n}\n\n.form-range {\n  width: 100%;\n  height: 1.5rem;\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  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n  box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\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: #0d6efd;\n  border: 0;\n  border-radius: 1rem;\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: #b6d4fe;\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(--bs-secondary-bg);\n  border-color: transparent;\n  border-radius: 1rem;\n}\n.form-range::-moz-range-thumb {\n  width: 1rem;\n  height: 1rem;\n  appearance: none;\n  background-color: #0d6efd;\n  border: 0;\n  border-radius: 1rem;\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: #b6d4fe;\n}\n.form-range::-moz-range-track {\n  width: 100%;\n  height: 0.5rem;\n  color: transparent;\n  cursor: pointer;\n  background-color: var(--bs-secondary-bg);\n  border-color: transparent;\n  border-radius: 1rem;\n}\n.form-range:disabled {\n  pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n  background-color: var(--bs-secondary-color);\n}\n.form-range:disabled::-moz-range-thumb {\n  background-color: var(--bs-secondary-color);\n}\n\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(--bs-border-width) * 2));\n  min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n  line-height: 1.25;\n}\n.form-floating > label {\n  position: absolute;\n  top: 0;\n  left: 0;\n  z-index: 2;\n  max-width: 100%;\n  height: 100%;\n  padding: 1rem 0.75rem;\n  overflow: hidden;\n  color: rgba(var(--bs-body-color-rgb), 0.65);\n  text-align: start;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n  pointer-events: none;\n  border: var(--bs-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-top: 1.625rem;\n  padding-bottom: 0.625rem;\n  padding-left: 0.75rem;\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(--bs-body-bg);\n  border-radius: var(--bs-border-radius);\n}\n.form-floating > textarea:disabled ~ label::after {\n  background-color: var(--bs-secondary-bg);\n}\n.form-floating > .form-control-plaintext ~ label {\n  border-width: var(--bs-border-width) 0;\n}\n.form-floating > :disabled ~ label,\n.form-floating > .form-control:disabled ~ label {\n  color: #6c757d;\n}\n\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\n.input-group-text {\n  display: flex;\n  align-items: center;\n  padding: 0.375rem 0.75rem;\n  font-size: 1rem;\n  font-weight: 400;\n  line-height: 1.5;\n  color: var(--bs-body-color);\n  text-align: center;\n  white-space: nowrap;\n  background-color: var(--bs-tertiary-bg);\n  border: var(--bs-border-width) solid var(--bs-border-color);\n  border-radius: var(--bs-border-radius);\n}\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: 1.25rem;\n  border-radius: var(--bs-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: 0.25rem 0.5rem;\n  font-size: 0.875rem;\n  border-radius: var(--bs-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n  padding-right: 3rem;\n}\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-top-right-radius: 0;\n  border-bottom-right-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-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n  margin-left: calc(-1 * var(--bs-border-width));\n  border-top-left-radius: 0;\n  border-bottom-left-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-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 0.875em;\n  color: var(--bs-form-valid-color);\n}\n\n.valid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: 0.1rem;\n  font-size: 0.875rem;\n  color: #fff;\n  background-color: var(--bs-success);\n  border-radius: var(--bs-border-radius);\n}\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\n.was-validated .form-control:valid, .form-control.is-valid {\n  border-color: var(--bs-form-valid-border-color);\n  padding-right: calc(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='%23198754' 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 calc(0.375em + 0.1875rem) center;\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n  border-color: var(--bs-form-valid-border-color);\n  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n  border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size=\"1\"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size=\"1\"] {\n  --bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' 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  padding-right: 4.125rem;\n  background-position: right 0.75rem center, center right 2.25rem;\n  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n  border-color: var(--bs-form-valid-border-color);\n  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated .form-control-color:valid, .form-control-color.is-valid {\n  width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n  border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n  background-color: var(--bs-form-valid-color);\n}\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n  box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n  color: var(--bs-form-valid-color);\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n  margin-left: 0.5em;\n}\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\n.invalid-feedback {\n  display: none;\n  width: 100%;\n  margin-top: 0.25rem;\n  font-size: 0.875em;\n  color: var(--bs-form-invalid-color);\n}\n\n.invalid-tooltip {\n  position: absolute;\n  top: 100%;\n  z-index: 5;\n  display: none;\n  max-width: 100%;\n  padding: 0.25rem 0.5rem;\n  margin-top: 0.1rem;\n  font-size: 0.875rem;\n  color: #fff;\n  background-color: var(--bs-danger);\n  border-radius: var(--bs-border-radius);\n}\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\n.was-validated .form-control:invalid, .form-control.is-invalid {\n  border-color: var(--bs-form-invalid-border-color);\n  padding-right: calc(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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n  background-repeat: no-repeat;\n  background-position: right calc(0.375em + 0.1875rem) center;\n  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n  border-color: var(--bs-form-invalid-border-color);\n  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n  padding-right: calc(1.5em + 0.75rem);\n  background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n  border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size=\"1\"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size=\"1\"] {\n  --bs-form-select-bg-icon: 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='%23dc3545'%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='%23dc3545' stroke='none'/%3e%3c/svg%3e\");\n  padding-right: 4.125rem;\n  background-position: right 0.75rem center, center right 2.25rem;\n  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n  border-color: var(--bs-form-invalid-border-color);\n  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n  width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n  border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n  background-color: var(--bs-form-invalid-color);\n}\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n  box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n  color: var(--bs-form-invalid-color);\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n  margin-left: 0.5em;\n}\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.btn {\n  --bs-btn-padding-x: 0.75rem;\n  --bs-btn-padding-y: 0.375rem;\n  --bs-btn-font-family: ;\n  --bs-btn-font-size: 1rem;\n  --bs-btn-font-weight: 400;\n  --bs-btn-line-height: 1.5;\n  --bs-btn-color: var(--bs-body-color);\n  --bs-btn-bg: transparent;\n  --bs-btn-border-width: var(--bs-border-width);\n  --bs-btn-border-color: transparent;\n  --bs-btn-border-radius: var(--bs-border-radius);\n  --bs-btn-hover-border-color: transparent;\n  --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n  --bs-btn-disabled-opacity: 0.65;\n  --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);\n  display: inline-block;\n  padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n  font-family: var(--bs-btn-font-family);\n  font-size: var(--bs-btn-font-size);\n  font-weight: var(--bs-btn-font-weight);\n  line-height: var(--bs-btn-line-height);\n  color: var(--bs-btn-color);\n  text-align: center;\n  text-decoration: none;\n  vertical-align: middle;\n  cursor: pointer;\n  user-select: none;\n  border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n  border-radius: var(--bs-btn-border-radius);\n  background-color: var(--bs-btn-bg);\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    transition: none;\n  }\n}\n.btn:hover {\n  color: var(--bs-btn-hover-color);\n  background-color: var(--bs-btn-hover-bg);\n  border-color: var(--bs-btn-hover-border-color);\n}\n.btn-check + .btn:hover {\n  color: var(--bs-btn-color);\n  background-color: var(--bs-btn-bg);\n  border-color: var(--bs-btn-border-color);\n}\n.btn:focus-visible {\n  color: var(--bs-btn-hover-color);\n  background-color: var(--bs-btn-hover-bg);\n  border-color: var(--bs-btn-hover-border-color);\n  outline: 0;\n  box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:focus-visible + .btn {\n  border-color: var(--bs-btn-hover-border-color);\n  outline: 0;\n  box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {\n  color: var(--bs-btn-active-color);\n  background-color: var(--bs-btn-active-bg);\n  border-color: var(--bs-btn-active-border-color);\n}\n.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {\n  box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:checked:focus-visible + .btn {\n  box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\n  color: var(--bs-btn-disabled-color);\n  pointer-events: none;\n  background-color: var(--bs-btn-disabled-bg);\n  border-color: var(--bs-btn-disabled-border-color);\n  opacity: var(--bs-btn-disabled-opacity);\n}\n\n.btn-primary {\n  --bs-btn-color: #fff;\n  --bs-btn-bg: #0d6efd;\n  --bs-btn-border-color: #0d6efd;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #0b5ed7;\n  --bs-btn-hover-border-color: #0a58ca;\n  --bs-btn-focus-shadow-rgb: 49, 132, 253;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #0a58ca;\n  --bs-btn-active-border-color: #0a53be;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #fff;\n  --bs-btn-disabled-bg: #0d6efd;\n  --bs-btn-disabled-border-color: #0d6efd;\n}\n\n.btn-secondary {\n  --bs-btn-color: #fff;\n  --bs-btn-bg: #6c757d;\n  --bs-btn-border-color: #6c757d;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #5c636a;\n  --bs-btn-hover-border-color: #565e64;\n  --bs-btn-focus-shadow-rgb: 130, 138, 145;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #565e64;\n  --bs-btn-active-border-color: #51585e;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #fff;\n  --bs-btn-disabled-bg: #6c757d;\n  --bs-btn-disabled-border-color: #6c757d;\n}\n\n.btn-success {\n  --bs-btn-color: #fff;\n  --bs-btn-bg: #198754;\n  --bs-btn-border-color: #198754;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #157347;\n  --bs-btn-hover-border-color: #146c43;\n  --bs-btn-focus-shadow-rgb: 60, 153, 110;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #146c43;\n  --bs-btn-active-border-color: #13653f;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #fff;\n  --bs-btn-disabled-bg: #198754;\n  --bs-btn-disabled-border-color: #198754;\n}\n\n.btn-info {\n  --bs-btn-color: #000;\n  --bs-btn-bg: #0dcaf0;\n  --bs-btn-border-color: #0dcaf0;\n  --bs-btn-hover-color: #000;\n  --bs-btn-hover-bg: #31d2f2;\n  --bs-btn-hover-border-color: #25cff2;\n  --bs-btn-focus-shadow-rgb: 11, 172, 204;\n  --bs-btn-active-color: #000;\n  --bs-btn-active-bg: #3dd5f3;\n  --bs-btn-active-border-color: #25cff2;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #000;\n  --bs-btn-disabled-bg: #0dcaf0;\n  --bs-btn-disabled-border-color: #0dcaf0;\n}\n\n.btn-warning {\n  --bs-btn-color: #000;\n  --bs-btn-bg: #ffc107;\n  --bs-btn-border-color: #ffc107;\n  --bs-btn-hover-color: #000;\n  --bs-btn-hover-bg: #ffca2c;\n  --bs-btn-hover-border-color: #ffc720;\n  --bs-btn-focus-shadow-rgb: 217, 164, 6;\n  --bs-btn-active-color: #000;\n  --bs-btn-active-bg: #ffcd39;\n  --bs-btn-active-border-color: #ffc720;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #000;\n  --bs-btn-disabled-bg: #ffc107;\n  --bs-btn-disabled-border-color: #ffc107;\n}\n\n.btn-danger {\n  --bs-btn-color: #fff;\n  --bs-btn-bg: #dc3545;\n  --bs-btn-border-color: #dc3545;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #bb2d3b;\n  --bs-btn-hover-border-color: #b02a37;\n  --bs-btn-focus-shadow-rgb: 225, 83, 97;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #b02a37;\n  --bs-btn-active-border-color: #a52834;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #fff;\n  --bs-btn-disabled-bg: #dc3545;\n  --bs-btn-disabled-border-color: #dc3545;\n}\n\n.btn-light {\n  --bs-btn-color: #000;\n  --bs-btn-bg: #f8f9fa;\n  --bs-btn-border-color: #f8f9fa;\n  --bs-btn-hover-color: #000;\n  --bs-btn-hover-bg: #d3d4d5;\n  --bs-btn-hover-border-color: #c6c7c8;\n  --bs-btn-focus-shadow-rgb: 211, 212, 213;\n  --bs-btn-active-color: #000;\n  --bs-btn-active-bg: #c6c7c8;\n  --bs-btn-active-border-color: #babbbc;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #000;\n  --bs-btn-disabled-bg: #f8f9fa;\n  --bs-btn-disabled-border-color: #f8f9fa;\n}\n\n.btn-dark {\n  --bs-btn-color: #fff;\n  --bs-btn-bg: #212529;\n  --bs-btn-border-color: #212529;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #424649;\n  --bs-btn-hover-border-color: #373b3e;\n  --bs-btn-focus-shadow-rgb: 66, 70, 73;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #4d5154;\n  --bs-btn-active-border-color: #373b3e;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #fff;\n  --bs-btn-disabled-bg: #212529;\n  --bs-btn-disabled-border-color: #212529;\n}\n\n.btn-outline-primary {\n  --bs-btn-color: #0d6efd;\n  --bs-btn-border-color: #0d6efd;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #0d6efd;\n  --bs-btn-hover-border-color: #0d6efd;\n  --bs-btn-focus-shadow-rgb: 13, 110, 253;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #0d6efd;\n  --bs-btn-active-border-color: #0d6efd;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #0d6efd;\n  --bs-btn-disabled-bg: transparent;\n  --bs-btn-disabled-border-color: #0d6efd;\n  --bs-gradient: none;\n}\n\n.btn-outline-secondary {\n  --bs-btn-color: #6c757d;\n  --bs-btn-border-color: #6c757d;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #6c757d;\n  --bs-btn-hover-border-color: #6c757d;\n  --bs-btn-focus-shadow-rgb: 108, 117, 125;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #6c757d;\n  --bs-btn-active-border-color: #6c757d;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #6c757d;\n  --bs-btn-disabled-bg: transparent;\n  --bs-btn-disabled-border-color: #6c757d;\n  --bs-gradient: none;\n}\n\n.btn-outline-success {\n  --bs-btn-color: #198754;\n  --bs-btn-border-color: #198754;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #198754;\n  --bs-btn-hover-border-color: #198754;\n  --bs-btn-focus-shadow-rgb: 25, 135, 84;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #198754;\n  --bs-btn-active-border-color: #198754;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #198754;\n  --bs-btn-disabled-bg: transparent;\n  --bs-btn-disabled-border-color: #198754;\n  --bs-gradient: none;\n}\n\n.btn-outline-info {\n  --bs-btn-color: #0dcaf0;\n  --bs-btn-border-color: #0dcaf0;\n  --bs-btn-hover-color: #000;\n  --bs-btn-hover-bg: #0dcaf0;\n  --bs-btn-hover-border-color: #0dcaf0;\n  --bs-btn-focus-shadow-rgb: 13, 202, 240;\n  --bs-btn-active-color: #000;\n  --bs-btn-active-bg: #0dcaf0;\n  --bs-btn-active-border-color: #0dcaf0;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #0dcaf0;\n  --bs-btn-disabled-bg: transparent;\n  --bs-btn-disabled-border-color: #0dcaf0;\n  --bs-gradient: none;\n}\n\n.btn-outline-warning {\n  --bs-btn-color: #ffc107;\n  --bs-btn-border-color: #ffc107;\n  --bs-btn-hover-color: #000;\n  --bs-btn-hover-bg: #ffc107;\n  --bs-btn-hover-border-color: #ffc107;\n  --bs-btn-focus-shadow-rgb: 255, 193, 7;\n  --bs-btn-active-color: #000;\n  --bs-btn-active-bg: #ffc107;\n  --bs-btn-active-border-color: #ffc107;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #ffc107;\n  --bs-btn-disabled-bg: transparent;\n  --bs-btn-disabled-border-color: #ffc107;\n  --bs-gradient: none;\n}\n\n.btn-outline-danger {\n  --bs-btn-color: #dc3545;\n  --bs-btn-border-color: #dc3545;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #dc3545;\n  --bs-btn-hover-border-color: #dc3545;\n  --bs-btn-focus-shadow-rgb: 220, 53, 69;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #dc3545;\n  --bs-btn-active-border-color: #dc3545;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #dc3545;\n  --bs-btn-disabled-bg: transparent;\n  --bs-btn-disabled-border-color: #dc3545;\n  --bs-gradient: none;\n}\n\n.btn-outline-light {\n  --bs-btn-color: #f8f9fa;\n  --bs-btn-border-color: #f8f9fa;\n  --bs-btn-hover-color: #000;\n  --bs-btn-hover-bg: #f8f9fa;\n  --bs-btn-hover-border-color: #f8f9fa;\n  --bs-btn-focus-shadow-rgb: 248, 249, 250;\n  --bs-btn-active-color: #000;\n  --bs-btn-active-bg: #f8f9fa;\n  --bs-btn-active-border-color: #f8f9fa;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #f8f9fa;\n  --bs-btn-disabled-bg: transparent;\n  --bs-btn-disabled-border-color: #f8f9fa;\n  --bs-gradient: none;\n}\n\n.btn-outline-dark {\n  --bs-btn-color: #212529;\n  --bs-btn-border-color: #212529;\n  --bs-btn-hover-color: #fff;\n  --bs-btn-hover-bg: #212529;\n  --bs-btn-hover-border-color: #212529;\n  --bs-btn-focus-shadow-rgb: 33, 37, 41;\n  --bs-btn-active-color: #fff;\n  --bs-btn-active-bg: #212529;\n  --bs-btn-active-border-color: #212529;\n  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n  --bs-btn-disabled-color: #212529;\n  --bs-btn-disabled-bg: transparent;\n  --bs-btn-disabled-border-color: #212529;\n  --bs-gradient: none;\n}\n\n.btn-link {\n  --bs-btn-font-weight: 400;\n  --bs-btn-color: var(--bs-link-color);\n  --bs-btn-bg: transparent;\n  --bs-btn-border-color: transparent;\n  --bs-btn-hover-color: var(--bs-link-hover-color);\n  --bs-btn-hover-border-color: transparent;\n  --bs-btn-active-color: var(--bs-link-hover-color);\n  --bs-btn-active-border-color: transparent;\n  --bs-btn-disabled-color: #6c757d;\n  --bs-btn-disabled-border-color: transparent;\n  --bs-btn-box-shadow: 0 0 0 #000;\n  --bs-btn-focus-shadow-rgb: 49, 132, 253;\n  text-decoration: underline;\n}\n.btn-link:focus-visible {\n  color: var(--bs-btn-color);\n}\n.btn-link:hover {\n  color: var(--bs-btn-hover-color);\n}\n\n.btn-lg, .btn-group-lg > .btn {\n  --bs-btn-padding-y: 0.5rem;\n  --bs-btn-padding-x: 1rem;\n  --bs-btn-font-size: 1.25rem;\n  --bs-btn-border-radius: var(--bs-border-radius-lg);\n}\n\n.btn-sm, .btn-group-sm > .btn {\n  --bs-btn-padding-y: 0.25rem;\n  --bs-btn-padding-x: 0.5rem;\n  --bs-btn-font-size: 0.875rem;\n  --bs-btn-border-radius: var(--bs-border-radius-sm);\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.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n  position: relative;\n}\n\n.dropdown-toggle {\n  white-space: nowrap;\n}\n.dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0;\n  border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropdown-menu {\n  --bs-dropdown-zindex: 1000;\n  --bs-dropdown-min-width: 10rem;\n  --bs-dropdown-padding-x: 0;\n  --bs-dropdown-padding-y: 0.5rem;\n  --bs-dropdown-spacer: 0.125rem;\n  --bs-dropdown-font-size: 1rem;\n  --bs-dropdown-color: var(--bs-body-color);\n  --bs-dropdown-bg: var(--bs-body-bg);\n  --bs-dropdown-border-color: var(--bs-border-color-translucent);\n  --bs-dropdown-border-radius: var(--bs-border-radius);\n  --bs-dropdown-border-width: var(--bs-border-width);\n  --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));\n  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n  --bs-dropdown-divider-margin-y: 0.5rem;\n  --bs-dropdown-box-shadow: var(--bs-box-shadow);\n  --bs-dropdown-link-color: var(--bs-body-color);\n  --bs-dropdown-link-hover-color: var(--bs-body-color);\n  --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);\n  --bs-dropdown-link-active-color: #fff;\n  --bs-dropdown-link-active-bg: #0d6efd;\n  --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);\n  --bs-dropdown-item-padding-x: 1rem;\n  --bs-dropdown-item-padding-y: 0.25rem;\n  --bs-dropdown-header-color: #6c757d;\n  --bs-dropdown-header-padding-x: 1rem;\n  --bs-dropdown-header-padding-y: 0.5rem;\n  position: absolute;\n  z-index: var(--bs-dropdown-zindex);\n  display: none;\n  min-width: var(--bs-dropdown-min-width);\n  padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n  margin: 0;\n  font-size: var(--bs-dropdown-font-size);\n  color: var(--bs-dropdown-color);\n  text-align: left;\n  list-style: none;\n  background-color: var(--bs-dropdown-bg);\n  background-clip: padding-box;\n  border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n  border-radius: var(--bs-dropdown-border-radius);\n}\n.dropdown-menu[data-bs-popper] {\n  top: 100%;\n  left: 0;\n  margin-top: var(--bs-dropdown-spacer);\n}\n\n.dropdown-menu-start {\n  --bs-position: start;\n}\n.dropdown-menu-start[data-bs-popper] {\n  right: auto;\n  left: 0;\n}\n\n.dropdown-menu-end {\n  --bs-position: end;\n}\n.dropdown-menu-end[data-bs-popper] {\n  right: 0;\n  left: auto;\n}\n\n@media (min-width: 576px) {\n  .dropdown-menu-sm-start {\n    --bs-position: start;\n  }\n  .dropdown-menu-sm-start[data-bs-popper] {\n    right: auto;\n    left: 0;\n  }\n  .dropdown-menu-sm-end {\n    --bs-position: end;\n  }\n  .dropdown-menu-sm-end[data-bs-popper] {\n    right: 0;\n    left: auto;\n  }\n}\n@media (min-width: 768px) {\n  .dropdown-menu-md-start {\n    --bs-position: start;\n  }\n  .dropdown-menu-md-start[data-bs-popper] {\n    right: auto;\n    left: 0;\n  }\n  .dropdown-menu-md-end {\n    --bs-position: end;\n  }\n  .dropdown-menu-md-end[data-bs-popper] {\n    right: 0;\n    left: auto;\n  }\n}\n@media (min-width: 992px) {\n  .dropdown-menu-lg-start {\n    --bs-position: start;\n  }\n  .dropdown-menu-lg-start[data-bs-popper] {\n    right: auto;\n    left: 0;\n  }\n  .dropdown-menu-lg-end {\n    --bs-position: end;\n  }\n  .dropdown-menu-lg-end[data-bs-popper] {\n    right: 0;\n    left: auto;\n  }\n}\n@media (min-width: 1200px) {\n  .dropdown-menu-xl-start {\n    --bs-position: start;\n  }\n  .dropdown-menu-xl-start[data-bs-popper] {\n    right: auto;\n    left: 0;\n  }\n  .dropdown-menu-xl-end {\n    --bs-position: end;\n  }\n  .dropdown-menu-xl-end[data-bs-popper] {\n    right: 0;\n    left: auto;\n  }\n}\n@media (min-width: 1400px) {\n  .dropdown-menu-xxl-start {\n    --bs-position: start;\n  }\n  .dropdown-menu-xxl-start[data-bs-popper] {\n    right: auto;\n    left: 0;\n  }\n  .dropdown-menu-xxl-end {\n    --bs-position: end;\n  }\n  .dropdown-menu-xxl-end[data-bs-popper] {\n    right: 0;\n    left: auto;\n  }\n}\n.dropup .dropdown-menu[data-bs-popper] {\n  top: auto;\n  bottom: 100%;\n  margin-top: 0;\n  margin-bottom: var(--bs-dropdown-spacer);\n}\n.dropup .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0;\n  border-right: 0.3em solid transparent;\n  border-bottom: 0.3em solid;\n  border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n\n.dropend .dropdown-menu[data-bs-popper] {\n  top: 0;\n  right: auto;\n  left: 100%;\n  margin-top: 0;\n  margin-left: var(--bs-dropdown-spacer);\n}\n.dropend .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid transparent;\n  border-right: 0;\n  border-bottom: 0.3em solid transparent;\n  border-left: 0.3em solid;\n}\n.dropend .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n.dropend .dropdown-toggle::after {\n  vertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-bs-popper] {\n  top: 0;\n  right: 100%;\n  left: auto;\n  margin-top: 0;\n  margin-right: var(--bs-dropdown-spacer);\n}\n.dropstart .dropdown-toggle::after {\n  display: inline-block;\n  margin-left: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n}\n.dropstart .dropdown-toggle::after {\n  display: none;\n}\n.dropstart .dropdown-toggle::before {\n  display: inline-block;\n  margin-right: 0.255em;\n  vertical-align: 0.255em;\n  content: \"\";\n  border-top: 0.3em solid transparent;\n  border-right: 0.3em solid;\n  border-bottom: 0.3em solid transparent;\n}\n.dropstart .dropdown-toggle:empty::after {\n  margin-left: 0;\n}\n.dropstart .dropdown-toggle::before {\n  vertical-align: 0;\n}\n\n.dropdown-divider {\n  height: 0;\n  margin: var(--bs-dropdown-divider-margin-y) 0;\n  overflow: hidden;\n  border-top: 1px solid var(--bs-dropdown-divider-bg);\n  opacity: 1;\n}\n\n.dropdown-item {\n  display: block;\n  width: 100%;\n  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n  clear: both;\n  font-weight: 400;\n  color: var(--bs-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(--bs-dropdown-item-border-radius, 0);\n}\n.dropdown-item:hover, .dropdown-item:focus {\n  color: var(--bs-dropdown-link-hover-color);\n  background-color: var(--bs-dropdown-link-hover-bg);\n}\n.dropdown-item.active, .dropdown-item:active {\n  color: var(--bs-dropdown-link-active-color);\n  text-decoration: none;\n  background-color: var(--bs-dropdown-link-active-bg);\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n  color: var(--bs-dropdown-link-disabled-color);\n  pointer-events: none;\n  background-color: transparent;\n}\n\n.dropdown-menu.show {\n  display: block;\n}\n\n.dropdown-header {\n  display: block;\n  padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);\n  margin-bottom: 0;\n  font-size: 0.875rem;\n  color: var(--bs-dropdown-header-color);\n  white-space: nowrap;\n}\n\n.dropdown-item-text {\n  display: block;\n  padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n  color: var(--bs-dropdown-link-color);\n}\n\n.dropdown-menu-dark {\n  --bs-dropdown-color: #dee2e6;\n  --bs-dropdown-bg: #343a40;\n  --bs-dropdown-border-color: var(--bs-border-color-translucent);\n  --bs-dropdown-box-shadow: ;\n  --bs-dropdown-link-color: #dee2e6;\n  --bs-dropdown-link-hover-color: #fff;\n  --bs-dropdown-divider-bg: var(--bs-border-color-translucent);\n  --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n  --bs-dropdown-link-active-color: #fff;\n  --bs-dropdown-link-active-bg: #0d6efd;\n  --bs-dropdown-link-disabled-color: #adb5bd;\n  --bs-dropdown-header-color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n  position: relative;\n  flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n  z-index: 1;\n}\n\n.btn-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n  width: auto;\n}\n\n.btn-group {\n  border-radius: var(--bs-border-radius);\n}\n.btn-group > :not(.btn-check:first-child) + .btn,\n.btn-group > .btn-group:not(:first-child) {\n  margin-left: calc(-1 * var(--bs-border-width));\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn.dropdown-toggle-split:first-child,\n.btn-group > .btn-group:not(:last-child) > .btn {\n  border-top-right-radius: 0;\n  border-bottom-right-radius: 0;\n}\n.btn-group > .btn:nth-child(n+3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n  padding-right: 0.5625rem;\n  padding-left: 0.5625rem;\n}\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n  margin-left: 0;\n}\n.dropstart .dropdown-toggle-split::before {\n  margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n  padding-right: 0.375rem;\n  padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n  padding-right: 0.75rem;\n  padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n  flex-direction: column;\n  align-items: flex-start;\n  justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n  width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n  margin-top: calc(-1 * var(--bs-border-width));\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n  border-bottom-right-radius: 0;\n  border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:nth-child(n+3),\n.btn-group-vertical > :not(.btn-check) + .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.nav {\n  --bs-nav-link-padding-x: 1rem;\n  --bs-nav-link-padding-y: 0.5rem;\n  --bs-nav-link-font-weight: ;\n  --bs-nav-link-color: var(--bs-link-color);\n  --bs-nav-link-hover-color: var(--bs-link-hover-color);\n  --bs-nav-link-disabled-color: var(--bs-secondary-color);\n  display: flex;\n  flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.nav-link {\n  display: block;\n  padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n  font-size: var(--bs-nav-link-font-size);\n  font-weight: var(--bs-nav-link-font-weight);\n  color: var(--bs-nav-link-color);\n  text-decoration: none;\n  background: none;\n  border: 0;\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(--bs-nav-link-hover-color);\n}\n.nav-link:focus-visible {\n  outline: 0;\n  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n}\n.nav-link.disabled, .nav-link:disabled {\n  color: var(--bs-nav-link-disabled-color);\n  pointer-events: none;\n  cursor: default;\n}\n\n.nav-tabs {\n  --bs-nav-tabs-border-width: var(--bs-border-width);\n  --bs-nav-tabs-border-color: var(--bs-border-color);\n  --bs-nav-tabs-border-radius: var(--bs-border-radius);\n  --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);\n  --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);\n  --bs-nav-tabs-link-active-bg: var(--bs-body-bg);\n  --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);\n  border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\n}\n.nav-tabs .nav-link {\n  margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n  border: var(--bs-nav-tabs-border-width) solid transparent;\n  border-top-left-radius: var(--bs-nav-tabs-border-radius);\n  border-top-right-radius: var(--bs-nav-tabs-border-radius);\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n  isolation: isolate;\n  border-color: var(--bs-nav-tabs-link-hover-border-color);\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n  color: var(--bs-nav-tabs-link-active-color);\n  background-color: var(--bs-nav-tabs-link-active-bg);\n  border-color: var(--bs-nav-tabs-link-active-border-color);\n}\n.nav-tabs .dropdown-menu {\n  margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n  border-top-left-radius: 0;\n  border-top-right-radius: 0;\n}\n\n.nav-pills {\n  --bs-nav-pills-border-radius: var(--bs-border-radius);\n  --bs-nav-pills-link-active-color: #fff;\n  --bs-nav-pills-link-active-bg: #0d6efd;\n}\n.nav-pills .nav-link {\n  border-radius: var(--bs-nav-pills-border-radius);\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n  color: var(--bs-nav-pills-link-active-color);\n  background-color: var(--bs-nav-pills-link-active-bg);\n}\n\n.nav-underline {\n  --bs-nav-underline-gap: 1rem;\n  --bs-nav-underline-border-width: 0.125rem;\n  --bs-nav-underline-link-active-color: var(--bs-emphasis-color);\n  gap: var(--bs-nav-underline-gap);\n}\n.nav-underline .nav-link {\n  padding-right: 0;\n  padding-left: 0;\n  border-bottom: var(--bs-nav-underline-border-width) solid transparent;\n}\n.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n  border-bottom-color: currentcolor;\n}\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n  font-weight: 700;\n  color: var(--bs-nav-underline-link-active-color);\n  border-bottom-color: currentcolor;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n  flex: 1 1 auto;\n  text-align: center;\n}\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\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n  width: 100%;\n}\n\n.tab-content > .tab-pane {\n  display: none;\n}\n.tab-content > .active {\n  display: block;\n}\n\n.navbar {\n  --bs-navbar-padding-x: 0;\n  --bs-navbar-padding-y: 0.5rem;\n  --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);\n  --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);\n  --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);\n  --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);\n  --bs-navbar-brand-padding-y: 0.3125rem;\n  --bs-navbar-brand-margin-end: 1rem;\n  --bs-navbar-brand-font-size: 1.25rem;\n  --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);\n  --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);\n  --bs-navbar-nav-link-padding-x: 0.5rem;\n  --bs-navbar-toggler-padding-y: 0.25rem;\n  --bs-navbar-toggler-padding-x: 0.75rem;\n  --bs-navbar-toggler-font-size: 1.25rem;\n  --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n  --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);\n  --bs-navbar-toggler-border-radius: var(--bs-border-radius);\n  --bs-navbar-toggler-focus-width: 0.25rem;\n  --bs-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(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n}\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n  display: flex;\n  flex-wrap: inherit;\n  align-items: center;\n  justify-content: space-between;\n}\n.navbar-brand {\n  padding-top: var(--bs-navbar-brand-padding-y);\n  padding-bottom: var(--bs-navbar-brand-padding-y);\n  margin-right: var(--bs-navbar-brand-margin-end);\n  font-size: var(--bs-navbar-brand-font-size);\n  color: var(--bs-navbar-brand-color);\n  text-decoration: none;\n  white-space: nowrap;\n}\n.navbar-brand:hover, .navbar-brand:focus {\n  color: var(--bs-navbar-brand-hover-color);\n}\n\n.navbar-nav {\n  --bs-nav-link-padding-x: 0;\n  --bs-nav-link-padding-y: 0.5rem;\n  --bs-nav-link-font-weight: ;\n  --bs-nav-link-color: var(--bs-navbar-color);\n  --bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n  --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n  display: flex;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n  color: var(--bs-navbar-active-color);\n}\n.navbar-nav .dropdown-menu {\n  position: static;\n}\n\n.navbar-text {\n  padding-top: 0.5rem;\n  padding-bottom: 0.5rem;\n  color: var(--bs-navbar-color);\n}\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n  color: var(--bs-navbar-active-color);\n}\n\n.navbar-collapse {\n  flex-grow: 1;\n  flex-basis: 100%;\n  align-items: center;\n}\n\n.navbar-toggler {\n  padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n  font-size: var(--bs-navbar-toggler-font-size);\n  line-height: 1;\n  color: var(--bs-navbar-color);\n  background-color: transparent;\n  border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n  border-radius: var(--bs-navbar-toggler-border-radius);\n  transition: var(--bs-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 {\n  text-decoration: none;\n  outline: 0;\n  box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);\n}\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(--bs-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(--bs-scroll-height, 75vh);\n  overflow-y: auto;\n}\n\n@media (min-width: 576px) {\n  .navbar-expand-sm {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-sm .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-sm .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-sm .navbar-nav .nav-link {\n    padding-right: var(--bs-navbar-nav-link-padding-x);\n    padding-left: var(--bs-navbar-nav-link-padding-x);\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;\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    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 (min-width: 768px) {\n  .navbar-expand-md {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-md .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-md .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-md .navbar-nav .nav-link {\n    padding-right: var(--bs-navbar-nav-link-padding-x);\n    padding-left: var(--bs-navbar-nav-link-padding-x);\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;\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    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 (min-width: 992px) {\n  .navbar-expand-lg {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-lg .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-lg .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-lg .navbar-nav .nav-link {\n    padding-right: var(--bs-navbar-nav-link-padding-x);\n    padding-left: var(--bs-navbar-nav-link-padding-x);\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;\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    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 (min-width: 1200px) {\n  .navbar-expand-xl {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-xl .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-xl .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-xl .navbar-nav .nav-link {\n    padding-right: var(--bs-navbar-nav-link-padding-x);\n    padding-left: var(--bs-navbar-nav-link-padding-x);\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;\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    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 (min-width: 1400px) {\n  .navbar-expand-xxl {\n    flex-wrap: nowrap;\n    justify-content: flex-start;\n  }\n  .navbar-expand-xxl .navbar-nav {\n    flex-direction: row;\n  }\n  .navbar-expand-xxl .navbar-nav .dropdown-menu {\n    position: absolute;\n  }\n  .navbar-expand-xxl .navbar-nav .nav-link {\n    padding-right: var(--bs-navbar-nav-link-padding-x);\n    padding-left: var(--bs-navbar-nav-link-padding-x);\n  }\n  .navbar-expand-xxl .navbar-nav-scroll {\n    overflow: visible;\n  }\n  .navbar-expand-xxl .navbar-collapse {\n    display: flex !important;\n    flex-basis: auto;\n  }\n  .navbar-expand-xxl .navbar-toggler {\n    display: none;\n  }\n  .navbar-expand-xxl .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    transition: none;\n  }\n  .navbar-expand-xxl .offcanvas .offcanvas-header {\n    display: none;\n  }\n  .navbar-expand-xxl .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  flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n  position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n  padding-right: var(--bs-navbar-nav-link-padding-x);\n  padding-left: var(--bs-navbar-nav-link-padding-x);\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;\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  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\n.navbar-dark,\n.navbar[data-bs-theme=dark] {\n  --bs-navbar-color: rgba(255, 255, 255, 0.55);\n  --bs-navbar-hover-color: rgba(255, 255, 255, 0.75);\n  --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n  --bs-navbar-active-color: #fff;\n  --bs-navbar-brand-color: #fff;\n  --bs-navbar-brand-hover-color: #fff;\n  --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n  --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n[data-bs-theme=dark] .navbar-toggler-icon {\n  --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.card {\n  --bs-card-spacer-y: 1rem;\n  --bs-card-spacer-x: 1rem;\n  --bs-card-title-spacer-y: 0.5rem;\n  --bs-card-title-color: ;\n  --bs-card-subtitle-color: ;\n  --bs-card-border-width: var(--bs-border-width);\n  --bs-card-border-color: var(--bs-border-color-translucent);\n  --bs-card-border-radius: var(--bs-border-radius);\n  --bs-card-box-shadow: ;\n  --bs-card-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));\n  --bs-card-cap-padding-y: 0.5rem;\n  --bs-card-cap-padding-x: 1rem;\n  --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);\n  --bs-card-cap-color: ;\n  --bs-card-height: ;\n  --bs-card-color: ;\n  --bs-card-bg: var(--bs-body-bg);\n  --bs-card-img-overlay-padding: 1rem;\n  --bs-card-group-margin: 0.75rem;\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  min-width: 0;\n  height: var(--bs-card-height);\n  color: var(--bs-body-color);\n  word-wrap: break-word;\n  background-color: var(--bs-card-bg);\n  background-clip: border-box;\n  border: var(--bs-card-border-width) solid var(--bs-card-border-color);\n  border-radius: var(--bs-card-border-radius);\n}\n.card > hr {\n  margin-right: 0;\n  margin-left: 0;\n}\n.card > .list-group {\n  border-top: inherit;\n  border-bottom: inherit;\n}\n.card > .list-group:first-child {\n  border-top-width: 0;\n  border-top-left-radius: var(--bs-card-inner-border-radius);\n  border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n.card > .list-group:last-child {\n  border-bottom-width: 0;\n  border-bottom-right-radius: var(--bs-card-inner-border-radius);\n  border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n  border-top: 0;\n}\n\n.card-body {\n  flex: 1 1 auto;\n  padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n  color: var(--bs-card-color);\n}\n\n.card-title {\n  margin-bottom: var(--bs-card-title-spacer-y);\n  color: var(--bs-card-title-color);\n}\n\n.card-subtitle {\n  margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\n  margin-bottom: 0;\n  color: var(--bs-card-subtitle-color);\n}\n\n.card-text:last-child {\n  margin-bottom: 0;\n}\n\n.card-link + .card-link {\n  margin-left: var(--bs-card-spacer-x);\n}\n\n.card-header {\n  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n  margin-bottom: 0;\n  color: var(--bs-card-cap-color);\n  background-color: var(--bs-card-cap-bg);\n  border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-header:first-child {\n  border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;\n}\n\n.card-footer {\n  padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n  color: var(--bs-card-cap-color);\n  background-color: var(--bs-card-cap-bg);\n  border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-footer:last-child {\n  border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);\n}\n\n.card-header-tabs {\n  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n  margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n  border-bottom: 0;\n}\n.card-header-tabs .nav-link.active {\n  background-color: var(--bs-card-bg);\n  border-bottom-color: var(--bs-card-bg);\n}\n\n.card-header-pills {\n  margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n  margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n}\n\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: var(--bs-card-img-overlay-padding);\n  border-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n  width: 100%;\n}\n\n.card-img,\n.card-img-top {\n  border-top-left-radius: var(--bs-card-inner-border-radius);\n  border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n  border-bottom-right-radius: var(--bs-card-inner-border-radius);\n  border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-group > .card {\n  margin-bottom: var(--bs-card-group-margin);\n}\n@media (min-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-left: 0;\n    border-left: 0;\n  }\n  .card-group > .card:not(:last-child) {\n    border-top-right-radius: 0;\n    border-bottom-right-radius: 0;\n  }\n  .card-group > .card:not(:last-child) > .card-img-top,\n  .card-group > .card:not(:last-child) > .card-header {\n    border-top-right-radius: 0;\n  }\n  .card-group > .card:not(:last-child) > .card-img-bottom,\n  .card-group > .card:not(:last-child) > .card-footer {\n    border-bottom-right-radius: 0;\n  }\n  .card-group > .card:not(:first-child) {\n    border-top-left-radius: 0;\n    border-bottom-left-radius: 0;\n  }\n  .card-group > .card:not(:first-child) > .card-img-top,\n  .card-group > .card:not(:first-child) > .card-header {\n    border-top-left-radius: 0;\n  }\n  .card-group > .card:not(:first-child) > .card-img-bottom,\n  .card-group > .card:not(:first-child) > .card-footer {\n    border-bottom-left-radius: 0;\n  }\n}\n\n.accordion {\n  --bs-accordion-color: var(--bs-body-color);\n  --bs-accordion-bg: var(--bs-body-bg);\n  --bs-accordion-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, border-radius 0.15s ease;\n  --bs-accordion-border-color: var(--bs-border-color);\n  --bs-accordion-border-width: var(--bs-border-width);\n  --bs-accordion-border-radius: var(--bs-border-radius);\n  --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));\n  --bs-accordion-btn-padding-x: 1.25rem;\n  --bs-accordion-btn-padding-y: 1rem;\n  --bs-accordion-btn-color: var(--bs-body-color);\n  --bs-accordion-btn-bg: var(--bs-accordion-bg);\n  --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23212529' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n  --bs-accordion-btn-icon-width: 1.25rem;\n  --bs-accordion-btn-icon-transform: rotate(-180deg);\n  --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n  --bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23052c65' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n  --bs-accordion-body-padding-x: 1.25rem;\n  --bs-accordion-body-padding-y: 1rem;\n  --bs-accordion-active-color: var(--bs-primary-text-emphasis);\n  --bs-accordion-active-bg: var(--bs-primary-bg-subtle);\n}\n\n.accordion-button {\n  position: relative;\n  display: flex;\n  align-items: center;\n  width: 100%;\n  padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n  font-size: 1rem;\n  color: var(--bs-accordion-btn-color);\n  text-align: left;\n  background-color: var(--bs-accordion-btn-bg);\n  border: 0;\n  border-radius: 0;\n  overflow-anchor: none;\n  transition: var(--bs-accordion-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n  .accordion-button {\n    transition: none;\n  }\n}\n.accordion-button:not(.collapsed) {\n  color: var(--bs-accordion-active-color);\n  background-color: var(--bs-accordion-active-bg);\n  box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);\n}\n.accordion-button:not(.collapsed)::after {\n  background-image: var(--bs-accordion-btn-active-icon);\n  transform: var(--bs-accordion-btn-icon-transform);\n}\n.accordion-button::after {\n  flex-shrink: 0;\n  width: var(--bs-accordion-btn-icon-width);\n  height: var(--bs-accordion-btn-icon-width);\n  margin-left: auto;\n  content: \"\";\n  background-image: var(--bs-accordion-btn-icon);\n  background-repeat: no-repeat;\n  background-size: var(--bs-accordion-btn-icon-width);\n  transition: var(--bs-accordion-btn-icon-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n  .accordion-button::after {\n    transition: none;\n  }\n}\n.accordion-button:hover {\n  z-index: 2;\n}\n.accordion-button:focus {\n  z-index: 3;\n  outline: 0;\n  box-shadow: var(--bs-accordion-btn-focus-box-shadow);\n}\n\n.accordion-header {\n  margin-bottom: 0;\n}\n\n.accordion-item {\n  color: var(--bs-accordion-color);\n  background-color: var(--bs-accordion-bg);\n  border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);\n}\n.accordion-item:first-of-type {\n  border-top-left-radius: var(--bs-accordion-border-radius);\n  border-top-right-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:first-of-type > .accordion-header .accordion-button {\n  border-top-left-radius: var(--bs-accordion-inner-border-radius);\n  border-top-right-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:not(:first-of-type) {\n  border-top: 0;\n}\n.accordion-item:last-of-type {\n  border-bottom-right-radius: var(--bs-accordion-border-radius);\n  border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:last-of-type > .accordion-header .accordion-button.collapsed {\n  border-bottom-right-radius: var(--bs-accordion-inner-border-radius);\n  border-bottom-left-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:last-of-type > .accordion-collapse {\n  border-bottom-right-radius: var(--bs-accordion-border-radius);\n  border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-body {\n  padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n}\n\n.accordion-flush > .accordion-item {\n  border-right: 0;\n  border-left: 0;\n  border-radius: 0;\n}\n.accordion-flush > .accordion-item:first-child {\n  border-top: 0;\n}\n.accordion-flush > .accordion-item:last-child {\n  border-bottom: 0;\n}\n.accordion-flush > .accordion-item > .accordion-collapse,\n.accordion-flush > .accordion-item > .accordion-header .accordion-button,\n.accordion-flush > .accordion-item > .accordion-header .accordion-button.collapsed {\n  border-radius: 0;\n}\n\n[data-bs-theme=dark] .accordion-button::after {\n  --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e\");\n  --bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%236ea8fe'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708'/%3e%3c/svg%3e\");\n}\n\n.breadcrumb {\n  --bs-breadcrumb-padding-x: 0;\n  --bs-breadcrumb-padding-y: 0;\n  --bs-breadcrumb-margin-bottom: 1rem;\n  --bs-breadcrumb-bg: ;\n  --bs-breadcrumb-border-radius: ;\n  --bs-breadcrumb-divider-color: var(--bs-secondary-color);\n  --bs-breadcrumb-item-padding-x: 0.5rem;\n  --bs-breadcrumb-item-active-color: var(--bs-secondary-color);\n  display: flex;\n  flex-wrap: wrap;\n  padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n  margin-bottom: var(--bs-breadcrumb-margin-bottom);\n  font-size: var(--bs-breadcrumb-font-size);\n  list-style: none;\n  background-color: var(--bs-breadcrumb-bg);\n  border-radius: var(--bs-breadcrumb-border-radius);\n}\n\n.breadcrumb-item + .breadcrumb-item {\n  padding-left: var(--bs-breadcrumb-item-padding-x);\n}\n.breadcrumb-item + .breadcrumb-item::before {\n  float: left;\n  padding-right: var(--bs-breadcrumb-item-padding-x);\n  color: var(--bs-breadcrumb-divider-color);\n  content: var(--bs-breadcrumb-divider, \"/\") /* rtl: var(--bs-breadcrumb-divider, \"/\") */;\n}\n.breadcrumb-item.active {\n  color: var(--bs-breadcrumb-item-active-color);\n}\n\n.pagination {\n  --bs-pagination-padding-x: 0.75rem;\n  --bs-pagination-padding-y: 0.375rem;\n  --bs-pagination-font-size: 1rem;\n  --bs-pagination-color: var(--bs-link-color);\n  --bs-pagination-bg: var(--bs-body-bg);\n  --bs-pagination-border-width: var(--bs-border-width);\n  --bs-pagination-border-color: var(--bs-border-color);\n  --bs-pagination-border-radius: var(--bs-border-radius);\n  --bs-pagination-hover-color: var(--bs-link-hover-color);\n  --bs-pagination-hover-bg: var(--bs-tertiary-bg);\n  --bs-pagination-hover-border-color: var(--bs-border-color);\n  --bs-pagination-focus-color: var(--bs-link-hover-color);\n  --bs-pagination-focus-bg: var(--bs-secondary-bg);\n  --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n  --bs-pagination-active-color: #fff;\n  --bs-pagination-active-bg: #0d6efd;\n  --bs-pagination-active-border-color: #0d6efd;\n  --bs-pagination-disabled-color: var(--bs-secondary-color);\n  --bs-pagination-disabled-bg: var(--bs-secondary-bg);\n  --bs-pagination-disabled-border-color: var(--bs-border-color);\n  display: flex;\n  padding-left: 0;\n  list-style: none;\n}\n\n.page-link {\n  position: relative;\n  display: block;\n  padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n  font-size: var(--bs-pagination-font-size);\n  color: var(--bs-pagination-color);\n  text-decoration: none;\n  background-color: var(--bs-pagination-bg);\n  border: var(--bs-pagination-border-width) solid var(--bs-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(--bs-pagination-hover-color);\n  background-color: var(--bs-pagination-hover-bg);\n  border-color: var(--bs-pagination-hover-border-color);\n}\n.page-link:focus {\n  z-index: 3;\n  color: var(--bs-pagination-focus-color);\n  background-color: var(--bs-pagination-focus-bg);\n  outline: 0;\n  box-shadow: var(--bs-pagination-focus-box-shadow);\n}\n.page-link.active, .active > .page-link {\n  z-index: 3;\n  color: var(--bs-pagination-active-color);\n  background-color: var(--bs-pagination-active-bg);\n  border-color: var(--bs-pagination-active-border-color);\n}\n.page-link.disabled, .disabled > .page-link {\n  color: var(--bs-pagination-disabled-color);\n  pointer-events: none;\n  background-color: var(--bs-pagination-disabled-bg);\n  border-color: var(--bs-pagination-disabled-border-color);\n}\n\n.page-item:not(:first-child) .page-link {\n  margin-left: calc(-1 * var(--bs-border-width));\n}\n.page-item:first-child .page-link {\n  border-top-left-radius: var(--bs-pagination-border-radius);\n  border-bottom-left-radius: var(--bs-pagination-border-radius);\n}\n.page-item:last-child .page-link {\n  border-top-right-radius: var(--bs-pagination-border-radius);\n  border-bottom-right-radius: var(--bs-pagination-border-radius);\n}\n\n.pagination-lg {\n  --bs-pagination-padding-x: 1.5rem;\n  --bs-pagination-padding-y: 0.75rem;\n  --bs-pagination-font-size: 1.25rem;\n  --bs-pagination-border-radius: var(--bs-border-radius-lg);\n}\n\n.pagination-sm {\n  --bs-pagination-padding-x: 0.5rem;\n  --bs-pagination-padding-y: 0.25rem;\n  --bs-pagination-font-size: 0.875rem;\n  --bs-pagination-border-radius: var(--bs-border-radius-sm);\n}\n\n.badge {\n  --bs-badge-padding-x: 0.65em;\n  --bs-badge-padding-y: 0.35em;\n  --bs-badge-font-size: 0.75em;\n  --bs-badge-font-weight: 700;\n  --bs-badge-color: #fff;\n  --bs-badge-border-radius: var(--bs-border-radius);\n  display: inline-block;\n  padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n  font-size: var(--bs-badge-font-size);\n  font-weight: var(--bs-badge-font-weight);\n  line-height: 1;\n  color: var(--bs-badge-color);\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  border-radius: var(--bs-badge-border-radius);\n}\n.badge:empty {\n  display: none;\n}\n\n.btn .badge {\n  position: relative;\n  top: -1px;\n}\n\n.alert {\n  --bs-alert-bg: transparent;\n  --bs-alert-padding-x: 1rem;\n  --bs-alert-padding-y: 1rem;\n  --bs-alert-margin-bottom: 1rem;\n  --bs-alert-color: inherit;\n  --bs-alert-border-color: transparent;\n  --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);\n  --bs-alert-border-radius: var(--bs-border-radius);\n  --bs-alert-link-color: inherit;\n  position: relative;\n  padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n  margin-bottom: var(--bs-alert-margin-bottom);\n  color: var(--bs-alert-color);\n  background-color: var(--bs-alert-bg);\n  border: var(--bs-alert-border);\n  border-radius: var(--bs-alert-border-radius);\n}\n\n.alert-heading {\n  color: inherit;\n}\n\n.alert-link {\n  font-weight: 700;\n  color: var(--bs-alert-link-color);\n}\n\n.alert-dismissible {\n  padding-right: 3rem;\n}\n.alert-dismissible .btn-close {\n  position: absolute;\n  top: 0;\n  right: 0;\n  z-index: 2;\n  padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n  --bs-alert-color: var(--bs-primary-text-emphasis);\n  --bs-alert-bg: var(--bs-primary-bg-subtle);\n  --bs-alert-border-color: var(--bs-primary-border-subtle);\n  --bs-alert-link-color: var(--bs-primary-text-emphasis);\n}\n\n.alert-secondary {\n  --bs-alert-color: var(--bs-secondary-text-emphasis);\n  --bs-alert-bg: var(--bs-secondary-bg-subtle);\n  --bs-alert-border-color: var(--bs-secondary-border-subtle);\n  --bs-alert-link-color: var(--bs-secondary-text-emphasis);\n}\n\n.alert-success {\n  --bs-alert-color: var(--bs-success-text-emphasis);\n  --bs-alert-bg: var(--bs-success-bg-subtle);\n  --bs-alert-border-color: var(--bs-success-border-subtle);\n  --bs-alert-link-color: var(--bs-success-text-emphasis);\n}\n\n.alert-info {\n  --bs-alert-color: var(--bs-info-text-emphasis);\n  --bs-alert-bg: var(--bs-info-bg-subtle);\n  --bs-alert-border-color: var(--bs-info-border-subtle);\n  --bs-alert-link-color: var(--bs-info-text-emphasis);\n}\n\n.alert-warning {\n  --bs-alert-color: var(--bs-warning-text-emphasis);\n  --bs-alert-bg: var(--bs-warning-bg-subtle);\n  --bs-alert-border-color: var(--bs-warning-border-subtle);\n  --bs-alert-link-color: var(--bs-warning-text-emphasis);\n}\n\n.alert-danger {\n  --bs-alert-color: var(--bs-danger-text-emphasis);\n  --bs-alert-bg: var(--bs-danger-bg-subtle);\n  --bs-alert-border-color: var(--bs-danger-border-subtle);\n  --bs-alert-link-color: var(--bs-danger-text-emphasis);\n}\n\n.alert-light {\n  --bs-alert-color: var(--bs-light-text-emphasis);\n  --bs-alert-bg: var(--bs-light-bg-subtle);\n  --bs-alert-border-color: var(--bs-light-border-subtle);\n  --bs-alert-link-color: var(--bs-light-text-emphasis);\n}\n\n.alert-dark {\n  --bs-alert-color: var(--bs-dark-text-emphasis);\n  --bs-alert-bg: var(--bs-dark-bg-subtle);\n  --bs-alert-border-color: var(--bs-dark-border-subtle);\n  --bs-alert-link-color: var(--bs-dark-text-emphasis);\n}\n\n@keyframes progress-bar-stripes {\n  0% {\n    background-position-x: var(--bs-progress-height);\n  }\n}\n.progress,\n.progress-stacked {\n  --bs-progress-height: 1rem;\n  --bs-progress-font-size: 0.75rem;\n  --bs-progress-bg: var(--bs-secondary-bg);\n  --bs-progress-border-radius: var(--bs-border-radius);\n  --bs-progress-box-shadow: var(--bs-box-shadow-inset);\n  --bs-progress-bar-color: #fff;\n  --bs-progress-bar-bg: #0d6efd;\n  --bs-progress-bar-transition: width 0.6s ease;\n  display: flex;\n  height: var(--bs-progress-height);\n  overflow: hidden;\n  font-size: var(--bs-progress-font-size);\n  background-color: var(--bs-progress-bg);\n  border-radius: var(--bs-progress-border-radius);\n}\n\n.progress-bar {\n  display: flex;\n  flex-direction: column;\n  justify-content: center;\n  overflow: hidden;\n  color: var(--bs-progress-bar-color);\n  text-align: center;\n  white-space: nowrap;\n  background-color: var(--bs-progress-bar-bg);\n  transition: var(--bs-progress-bar-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n  .progress-bar {\n    transition: none;\n  }\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(--bs-progress-height) var(--bs-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.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.list-group {\n  --bs-list-group-color: var(--bs-body-color);\n  --bs-list-group-bg: var(--bs-body-bg);\n  --bs-list-group-border-color: var(--bs-border-color);\n  --bs-list-group-border-width: var(--bs-border-width);\n  --bs-list-group-border-radius: var(--bs-border-radius);\n  --bs-list-group-item-padding-x: 1rem;\n  --bs-list-group-item-padding-y: 0.5rem;\n  --bs-list-group-action-color: var(--bs-secondary-color);\n  --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n  --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);\n  --bs-list-group-action-active-color: var(--bs-body-color);\n  --bs-list-group-action-active-bg: var(--bs-secondary-bg);\n  --bs-list-group-disabled-color: var(--bs-secondary-color);\n  --bs-list-group-disabled-bg: var(--bs-body-bg);\n  --bs-list-group-active-color: #fff;\n  --bs-list-group-active-bg: #0d6efd;\n  --bs-list-group-active-border-color: #0d6efd;\n  display: flex;\n  flex-direction: column;\n  padding-left: 0;\n  margin-bottom: 0;\n  border-radius: var(--bs-list-group-border-radius);\n}\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\n.list-group-item {\n  position: relative;\n  display: block;\n  padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);\n  color: var(--bs-list-group-color);\n  text-decoration: none;\n  background-color: var(--bs-list-group-bg);\n  border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);\n}\n.list-group-item:first-child {\n  border-top-left-radius: inherit;\n  border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n  border-bottom-right-radius: inherit;\n  border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n  color: var(--bs-list-group-disabled-color);\n  pointer-events: none;\n  background-color: var(--bs-list-group-disabled-bg);\n}\n.list-group-item.active {\n  z-index: 2;\n  color: var(--bs-list-group-active-color);\n  background-color: var(--bs-list-group-active-bg);\n  border-color: var(--bs-list-group-active-border-color);\n}\n.list-group-item + .list-group-item {\n  border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n  margin-top: calc(-1 * var(--bs-list-group-border-width));\n  border-top-width: var(--bs-list-group-border-width);\n}\n\n.list-group-item-action {\n  width: 100%;\n  color: var(--bs-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(--bs-list-group-action-hover-color);\n  text-decoration: none;\n  background-color: var(--bs-list-group-action-hover-bg);\n}\n.list-group-item-action:not(.active):active {\n  color: var(--bs-list-group-action-active-color);\n  background-color: var(--bs-list-group-action-active-bg);\n}\n\n.list-group-horizontal {\n  flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n  border-bottom-left-radius: var(--bs-list-group-border-radius);\n  border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n  border-top-right-radius: var(--bs-list-group-border-radius);\n  border-bottom-left-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-top-width: var(--bs-list-group-border-width);\n  border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n  margin-left: calc(-1 * var(--bs-list-group-border-width));\n  border-left-width: var(--bs-list-group-border-width);\n}\n\n@media (min-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-bottom-left-radius: var(--bs-list-group-border-radius);\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n    border-top-right-radius: var(--bs-list-group-border-radius);\n    border-bottom-left-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-top-width: var(--bs-list-group-border-width);\n    border-left-width: 0;\n  }\n  .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n    margin-left: calc(-1 * var(--bs-list-group-border-width));\n    border-left-width: var(--bs-list-group-border-width);\n  }\n}\n@media (min-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-bottom-left-radius: var(--bs-list-group-border-radius);\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n    border-top-right-radius: var(--bs-list-group-border-radius);\n    border-bottom-left-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-top-width: var(--bs-list-group-border-width);\n    border-left-width: 0;\n  }\n  .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n    margin-left: calc(-1 * var(--bs-list-group-border-width));\n    border-left-width: var(--bs-list-group-border-width);\n  }\n}\n@media (min-width: 992px) {\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-bottom-left-radius: var(--bs-list-group-border-radius);\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n    border-top-right-radius: var(--bs-list-group-border-radius);\n    border-bottom-left-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-top-width: var(--bs-list-group-border-width);\n    border-left-width: 0;\n  }\n  .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n    margin-left: calc(-1 * var(--bs-list-group-border-width));\n    border-left-width: var(--bs-list-group-border-width);\n  }\n}\n@media (min-width: 1200px) {\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-bottom-left-radius: var(--bs-list-group-border-radius);\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n    border-top-right-radius: var(--bs-list-group-border-radius);\n    border-bottom-left-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-top-width: var(--bs-list-group-border-width);\n    border-left-width: 0;\n  }\n  .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n    margin-left: calc(-1 * var(--bs-list-group-border-width));\n    border-left-width: var(--bs-list-group-border-width);\n  }\n}\n@media (min-width: 1400px) {\n  .list-group-horizontal-xxl {\n    flex-direction: row;\n  }\n  .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n    border-bottom-left-radius: var(--bs-list-group-border-radius);\n    border-top-right-radius: 0;\n  }\n  .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n    border-top-right-radius: var(--bs-list-group-border-radius);\n    border-bottom-left-radius: 0;\n  }\n  .list-group-horizontal-xxl > .list-group-item.active {\n    margin-top: 0;\n  }\n  .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n    border-top-width: var(--bs-list-group-border-width);\n    border-left-width: 0;\n  }\n  .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n    margin-left: calc(-1 * var(--bs-list-group-border-width));\n    border-left-width: var(--bs-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(--bs-list-group-border-width);\n}\n.list-group-flush > .list-group-item:last-child {\n  border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n  --bs-list-group-color: var(--bs-primary-text-emphasis);\n  --bs-list-group-bg: var(--bs-primary-bg-subtle);\n  --bs-list-group-border-color: var(--bs-primary-border-subtle);\n  --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n  --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);\n  --bs-list-group-action-active-color: var(--bs-emphasis-color);\n  --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);\n  --bs-list-group-active-color: var(--bs-primary-bg-subtle);\n  --bs-list-group-active-bg: var(--bs-primary-text-emphasis);\n  --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);\n}\n\n.list-group-item-secondary {\n  --bs-list-group-color: var(--bs-secondary-text-emphasis);\n  --bs-list-group-bg: var(--bs-secondary-bg-subtle);\n  --bs-list-group-border-color: var(--bs-secondary-border-subtle);\n  --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n  --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);\n  --bs-list-group-action-active-color: var(--bs-emphasis-color);\n  --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);\n  --bs-list-group-active-color: var(--bs-secondary-bg-subtle);\n  --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);\n  --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);\n}\n\n.list-group-item-success {\n  --bs-list-group-color: var(--bs-success-text-emphasis);\n  --bs-list-group-bg: var(--bs-success-bg-subtle);\n  --bs-list-group-border-color: var(--bs-success-border-subtle);\n  --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n  --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);\n  --bs-list-group-action-active-color: var(--bs-emphasis-color);\n  --bs-list-group-action-active-bg: var(--bs-success-border-subtle);\n  --bs-list-group-active-color: var(--bs-success-bg-subtle);\n  --bs-list-group-active-bg: var(--bs-success-text-emphasis);\n  --bs-list-group-active-border-color: var(--bs-success-text-emphasis);\n}\n\n.list-group-item-info {\n  --bs-list-group-color: var(--bs-info-text-emphasis);\n  --bs-list-group-bg: var(--bs-info-bg-subtle);\n  --bs-list-group-border-color: var(--bs-info-border-subtle);\n  --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n  --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);\n  --bs-list-group-action-active-color: var(--bs-emphasis-color);\n  --bs-list-group-action-active-bg: var(--bs-info-border-subtle);\n  --bs-list-group-active-color: var(--bs-info-bg-subtle);\n  --bs-list-group-active-bg: var(--bs-info-text-emphasis);\n  --bs-list-group-active-border-color: var(--bs-info-text-emphasis);\n}\n\n.list-group-item-warning {\n  --bs-list-group-color: var(--bs-warning-text-emphasis);\n  --bs-list-group-bg: var(--bs-warning-bg-subtle);\n  --bs-list-group-border-color: var(--bs-warning-border-subtle);\n  --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n  --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);\n  --bs-list-group-action-active-color: var(--bs-emphasis-color);\n  --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);\n  --bs-list-group-active-color: var(--bs-warning-bg-subtle);\n  --bs-list-group-active-bg: var(--bs-warning-text-emphasis);\n  --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);\n}\n\n.list-group-item-danger {\n  --bs-list-group-color: var(--bs-danger-text-emphasis);\n  --bs-list-group-bg: var(--bs-danger-bg-subtle);\n  --bs-list-group-border-color: var(--bs-danger-border-subtle);\n  --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n  --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);\n  --bs-list-group-action-active-color: var(--bs-emphasis-color);\n  --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);\n  --bs-list-group-active-color: var(--bs-danger-bg-subtle);\n  --bs-list-group-active-bg: var(--bs-danger-text-emphasis);\n  --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);\n}\n\n.list-group-item-light {\n  --bs-list-group-color: var(--bs-light-text-emphasis);\n  --bs-list-group-bg: var(--bs-light-bg-subtle);\n  --bs-list-group-border-color: var(--bs-light-border-subtle);\n  --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n  --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);\n  --bs-list-group-action-active-color: var(--bs-emphasis-color);\n  --bs-list-group-action-active-bg: var(--bs-light-border-subtle);\n  --bs-list-group-active-color: var(--bs-light-bg-subtle);\n  --bs-list-group-active-bg: var(--bs-light-text-emphasis);\n  --bs-list-group-active-border-color: var(--bs-light-text-emphasis);\n}\n\n.list-group-item-dark {\n  --bs-list-group-color: var(--bs-dark-text-emphasis);\n  --bs-list-group-bg: var(--bs-dark-bg-subtle);\n  --bs-list-group-border-color: var(--bs-dark-border-subtle);\n  --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n  --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);\n  --bs-list-group-action-active-color: var(--bs-emphasis-color);\n  --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);\n  --bs-list-group-active-color: var(--bs-dark-bg-subtle);\n  --bs-list-group-active-bg: var(--bs-dark-text-emphasis);\n  --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);\n}\n\n.btn-close {\n  --bs-btn-close-color: #000;\n  --bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e\");\n  --bs-btn-close-opacity: 0.5;\n  --bs-btn-close-hover-opacity: 0.75;\n  --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);\n  --bs-btn-close-focus-opacity: 1;\n  --bs-btn-close-disabled-opacity: 0.25;\n  box-sizing: content-box;\n  width: 1em;\n  height: 1em;\n  padding: 0.25em 0.25em;\n  color: var(--bs-btn-close-color);\n  background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;\n  filter: var(--bs-btn-close-filter);\n  border: 0;\n  border-radius: 0.375rem;\n  opacity: var(--bs-btn-close-opacity);\n}\n.btn-close:hover {\n  color: var(--bs-btn-close-color);\n  text-decoration: none;\n  opacity: var(--bs-btn-close-hover-opacity);\n}\n.btn-close:focus {\n  outline: 0;\n  box-shadow: var(--bs-btn-close-focus-shadow);\n  opacity: var(--bs-btn-close-focus-opacity);\n}\n.btn-close:disabled, .btn-close.disabled {\n  pointer-events: none;\n  user-select: none;\n  opacity: var(--bs-btn-close-disabled-opacity);\n}\n\n.btn-close-white {\n  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n:root,\n[data-bs-theme=light] {\n  --bs-btn-close-filter: ;\n}\n\n[data-bs-theme=dark] {\n  --bs-btn-close-filter: invert(1) grayscale(100%) brightness(200%);\n}\n\n.toast {\n  --bs-toast-zindex: 1090;\n  --bs-toast-padding-x: 0.75rem;\n  --bs-toast-padding-y: 0.5rem;\n  --bs-toast-spacing: 1.5rem;\n  --bs-toast-max-width: 350px;\n  --bs-toast-font-size: 0.875rem;\n  --bs-toast-color: ;\n  --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n  --bs-toast-border-width: var(--bs-border-width);\n  --bs-toast-border-color: var(--bs-border-color-translucent);\n  --bs-toast-border-radius: var(--bs-border-radius);\n  --bs-toast-box-shadow: var(--bs-box-shadow);\n  --bs-toast-header-color: var(--bs-secondary-color);\n  --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n  --bs-toast-header-border-color: var(--bs-border-color-translucent);\n  width: var(--bs-toast-max-width);\n  max-width: 100%;\n  font-size: var(--bs-toast-font-size);\n  color: var(--bs-toast-color);\n  pointer-events: auto;\n  background-color: var(--bs-toast-bg);\n  background-clip: padding-box;\n  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n  box-shadow: var(--bs-toast-box-shadow);\n  border-radius: var(--bs-toast-border-radius);\n}\n.toast.showing {\n  opacity: 0;\n}\n.toast:not(.show) {\n  display: none;\n}\n\n.toast-container {\n  --bs-toast-zindex: 1090;\n  position: absolute;\n  z-index: var(--bs-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(--bs-toast-spacing);\n}\n\n.toast-header {\n  display: flex;\n  align-items: center;\n  padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n  color: var(--bs-toast-header-color);\n  background-color: var(--bs-toast-header-bg);\n  background-clip: padding-box;\n  border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);\n  border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n  border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n}\n.toast-header .btn-close {\n  margin-right: calc(-0.5 * var(--bs-toast-padding-x));\n  margin-left: var(--bs-toast-padding-x);\n}\n\n.toast-body {\n  padding: var(--bs-toast-padding-x);\n  word-wrap: break-word;\n}\n\n.modal {\n  --bs-modal-zindex: 1055;\n  --bs-modal-width: 500px;\n  --bs-modal-padding: 1rem;\n  --bs-modal-margin: 0.5rem;\n  --bs-modal-color: var(--bs-body-color);\n  --bs-modal-bg: var(--bs-body-bg);\n  --bs-modal-border-color: var(--bs-border-color-translucent);\n  --bs-modal-border-width: var(--bs-border-width);\n  --bs-modal-border-radius: var(--bs-border-radius-lg);\n  --bs-modal-box-shadow: var(--bs-box-shadow-sm);\n  --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));\n  --bs-modal-header-padding-x: 1rem;\n  --bs-modal-header-padding-y: 1rem;\n  --bs-modal-header-padding: 1rem 1rem;\n  --bs-modal-header-border-color: var(--bs-border-color);\n  --bs-modal-header-border-width: var(--bs-border-width);\n  --bs-modal-title-line-height: 1.5;\n  --bs-modal-footer-gap: 0.5rem;\n  --bs-modal-footer-bg: ;\n  --bs-modal-footer-border-color: var(--bs-border-color);\n  --bs-modal-footer-border-width: var(--bs-border-width);\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: var(--bs-modal-zindex);\n  display: none;\n  width: 100%;\n  height: 100%;\n  overflow-x: hidden;\n  overflow-y: auto;\n  outline: 0;\n}\n\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: var(--bs-modal-margin);\n  pointer-events: none;\n}\n.modal.fade .modal-dialog {\n  transform: translate(0, -50px);\n  transition: transform 0.3s ease-out;\n}\n@media (prefers-reduced-motion: reduce) {\n  .modal.fade .modal-dialog {\n    transition: none;\n  }\n}\n.modal.show .modal-dialog {\n  transform: none;\n}\n.modal.modal-static .modal-dialog {\n  transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n  height: calc(100% - var(--bs-modal-margin) * 2);\n}\n.modal-dialog-scrollable .modal-content {\n  max-height: 100%;\n  overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n  overflow-y: auto;\n}\n\n.modal-dialog-centered {\n  display: flex;\n  align-items: center;\n  min-height: calc(100% - var(--bs-modal-margin) * 2);\n}\n\n.modal-content {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  width: 100%;\n  color: var(--bs-modal-color);\n  pointer-events: auto;\n  background-color: var(--bs-modal-bg);\n  background-clip: padding-box;\n  border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);\n  border-radius: var(--bs-modal-border-radius);\n  outline: 0;\n}\n\n.modal-backdrop {\n  --bs-backdrop-zindex: 1050;\n  --bs-backdrop-bg: #000;\n  --bs-backdrop-opacity: 0.5;\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: var(--bs-backdrop-zindex);\n  width: 100vw;\n  height: 100vh;\n  background-color: var(--bs-backdrop-bg);\n}\n.modal-backdrop.fade {\n  opacity: 0;\n}\n.modal-backdrop.show {\n  opacity: var(--bs-backdrop-opacity);\n}\n\n.modal-header {\n  display: flex;\n  flex-shrink: 0;\n  align-items: center;\n  padding: var(--bs-modal-header-padding);\n  border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);\n  border-top-left-radius: var(--bs-modal-inner-border-radius);\n  border-top-right-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-header .btn-close {\n  padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);\n  margin-top: calc(-0.5 * var(--bs-modal-header-padding-y));\n  margin-right: calc(-0.5 * var(--bs-modal-header-padding-x));\n  margin-bottom: calc(-0.5 * var(--bs-modal-header-padding-y));\n  margin-left: auto;\n}\n\n.modal-title {\n  margin-bottom: 0;\n  line-height: var(--bs-modal-title-line-height);\n}\n\n.modal-body {\n  position: relative;\n  flex: 1 1 auto;\n  padding: var(--bs-modal-padding);\n}\n\n.modal-footer {\n  display: flex;\n  flex-shrink: 0;\n  flex-wrap: wrap;\n  align-items: center;\n  justify-content: flex-end;\n  padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);\n  background-color: var(--bs-modal-footer-bg);\n  border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);\n  border-bottom-right-radius: var(--bs-modal-inner-border-radius);\n  border-bottom-left-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-footer > * {\n  margin: calc(var(--bs-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n  .modal {\n    --bs-modal-margin: 1.75rem;\n    --bs-modal-box-shadow: var(--bs-box-shadow);\n  }\n  .modal-dialog {\n    max-width: var(--bs-modal-width);\n    margin-right: auto;\n    margin-left: auto;\n  }\n  .modal-sm {\n    --bs-modal-width: 300px;\n  }\n}\n@media (min-width: 992px) {\n  .modal-lg,\n  .modal-xl {\n    --bs-modal-width: 800px;\n  }\n}\n@media (min-width: 1200px) {\n  .modal-xl {\n    --bs-modal-width: 1140px;\n  }\n}\n.modal-fullscreen {\n  width: 100vw;\n  max-width: none;\n  height: 100%;\n  margin: 0;\n}\n.modal-fullscreen .modal-content {\n  height: 100%;\n  border: 0;\n  border-radius: 0;\n}\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n  border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n  overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n  .modal-fullscreen-sm-down {\n    width: 100vw;\n    max-width: none;\n    height: 100%;\n    margin: 0;\n  }\n  .modal-fullscreen-sm-down .modal-content {\n    height: 100%;\n    border: 0;\n    border-radius: 0;\n  }\n  .modal-fullscreen-sm-down .modal-header,\n  .modal-fullscreen-sm-down .modal-footer {\n    border-radius: 0;\n  }\n  .modal-fullscreen-sm-down .modal-body {\n    overflow-y: auto;\n  }\n}\n@media (max-width: 767.98px) {\n  .modal-fullscreen-md-down {\n    width: 100vw;\n    max-width: none;\n    height: 100%;\n    margin: 0;\n  }\n  .modal-fullscreen-md-down .modal-content {\n    height: 100%;\n    border: 0;\n    border-radius: 0;\n  }\n  .modal-fullscreen-md-down .modal-header,\n  .modal-fullscreen-md-down .modal-footer {\n    border-radius: 0;\n  }\n  .modal-fullscreen-md-down .modal-body {\n    overflow-y: auto;\n  }\n}\n@media (max-width: 991.98px) {\n  .modal-fullscreen-lg-down {\n    width: 100vw;\n    max-width: none;\n    height: 100%;\n    margin: 0;\n  }\n  .modal-fullscreen-lg-down .modal-content {\n    height: 100%;\n    border: 0;\n    border-radius: 0;\n  }\n  .modal-fullscreen-lg-down .modal-header,\n  .modal-fullscreen-lg-down .modal-footer {\n    border-radius: 0;\n  }\n  .modal-fullscreen-lg-down .modal-body {\n    overflow-y: auto;\n  }\n}\n@media (max-width: 1199.98px) {\n  .modal-fullscreen-xl-down {\n    width: 100vw;\n    max-width: none;\n    height: 100%;\n    margin: 0;\n  }\n  .modal-fullscreen-xl-down .modal-content {\n    height: 100%;\n    border: 0;\n    border-radius: 0;\n  }\n  .modal-fullscreen-xl-down .modal-header,\n  .modal-fullscreen-xl-down .modal-footer {\n    border-radius: 0;\n  }\n  .modal-fullscreen-xl-down .modal-body {\n    overflow-y: auto;\n  }\n}\n@media (max-width: 1399.98px) {\n  .modal-fullscreen-xxl-down {\n    width: 100vw;\n    max-width: none;\n    height: 100%;\n    margin: 0;\n  }\n  .modal-fullscreen-xxl-down .modal-content {\n    height: 100%;\n    border: 0;\n    border-radius: 0;\n  }\n  .modal-fullscreen-xxl-down .modal-header,\n  .modal-fullscreen-xxl-down .modal-footer {\n    border-radius: 0;\n  }\n  .modal-fullscreen-xxl-down .modal-body {\n    overflow-y: auto;\n  }\n}\n.tooltip {\n  --bs-tooltip-zindex: 1080;\n  --bs-tooltip-max-width: 200px;\n  --bs-tooltip-padding-x: 0.5rem;\n  --bs-tooltip-padding-y: 0.25rem;\n  --bs-tooltip-margin: ;\n  --bs-tooltip-font-size: 0.875rem;\n  --bs-tooltip-color: var(--bs-body-bg);\n  --bs-tooltip-bg: var(--bs-emphasis-color);\n  --bs-tooltip-border-radius: var(--bs-border-radius);\n  --bs-tooltip-opacity: 0.9;\n  --bs-tooltip-arrow-width: 0.8rem;\n  --bs-tooltip-arrow-height: 0.4rem;\n  z-index: var(--bs-tooltip-zindex);\n  display: block;\n  margin: var(--bs-tooltip-margin);\n  font-family: var(--bs-font-sans-serif);\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\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(--bs-tooltip-font-size);\n  word-wrap: break-word;\n  opacity: 0;\n}\n.tooltip.show {\n  opacity: var(--bs-tooltip-opacity);\n}\n.tooltip .tooltip-arrow {\n  display: block;\n  width: var(--bs-tooltip-arrow-width);\n  height: var(--bs-tooltip-arrow-height);\n}\n.tooltip .tooltip-arrow::before {\n  position: absolute;\n  content: \"\";\n  border-color: transparent;\n  border-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\n  bottom: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\n  top: -1px;\n  border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n  border-top-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\n  left: calc(-1 * var(--bs-tooltip-arrow-height));\n  width: var(--bs-tooltip-arrow-height);\n  height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\n  right: -1px;\n  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n  border-right-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\n  top: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\n  bottom: -1px;\n  border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n  border-bottom-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\n  right: calc(-1 * var(--bs-tooltip-arrow-height));\n  width: var(--bs-tooltip-arrow-height);\n  height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\n  left: -1px;\n  border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n  border-left-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.tooltip-inner {\n  max-width: var(--bs-tooltip-max-width);\n  padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n  color: var(--bs-tooltip-color);\n  text-align: center;\n  background-color: var(--bs-tooltip-bg);\n  border-radius: var(--bs-tooltip-border-radius);\n}\n\n.popover {\n  --bs-popover-zindex: 1070;\n  --bs-popover-max-width: 276px;\n  --bs-popover-font-size: 0.875rem;\n  --bs-popover-bg: var(--bs-body-bg);\n  --bs-popover-border-width: var(--bs-border-width);\n  --bs-popover-border-color: var(--bs-border-color-translucent);\n  --bs-popover-border-radius: var(--bs-border-radius-lg);\n  --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n  --bs-popover-box-shadow: var(--bs-box-shadow);\n  --bs-popover-header-padding-x: 1rem;\n  --bs-popover-header-padding-y: 0.5rem;\n  --bs-popover-header-font-size: 1rem;\n  --bs-popover-header-color: inherit;\n  --bs-popover-header-bg: var(--bs-secondary-bg);\n  --bs-popover-body-padding-x: 1rem;\n  --bs-popover-body-padding-y: 1rem;\n  --bs-popover-body-color: var(--bs-body-color);\n  --bs-popover-arrow-width: 1rem;\n  --bs-popover-arrow-height: 0.5rem;\n  --bs-popover-arrow-border: var(--bs-popover-border-color);\n  z-index: var(--bs-popover-zindex);\n  display: block;\n  max-width: var(--bs-popover-max-width);\n  font-family: var(--bs-font-sans-serif);\n  font-style: normal;\n  font-weight: 400;\n  line-height: 1.5;\n  text-align: left;\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(--bs-popover-font-size);\n  word-wrap: break-word;\n  background-color: var(--bs-popover-bg);\n  background-clip: padding-box;\n  border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n  border-radius: var(--bs-popover-border-radius);\n}\n.popover .popover-arrow {\n  display: block;\n  width: var(--bs-popover-arrow-width);\n  height: var(--bs-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\n.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\n  bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n  border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\n  bottom: 0;\n  border-top-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n  bottom: var(--bs-popover-border-width);\n  border-top-color: var(--bs-popover-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\n  left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n  width: var(--bs-popover-arrow-height);\n  height: var(--bs-popover-arrow-width);\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n  border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\n  left: 0;\n  border-right-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n  left: var(--bs-popover-border-width);\n  border-right-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\n  top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n  border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\n  top: 0;\n  border-bottom-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n  top: var(--bs-popover-border-width);\n  border-bottom-color: var(--bs-popover-bg);\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\n  position: absolute;\n  top: 0;\n  left: 50%;\n  display: block;\n  width: var(--bs-popover-arrow-width);\n  margin-left: calc(-0.5 * var(--bs-popover-arrow-width));\n  content: \"\";\n  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\n  right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n  width: var(--bs-popover-arrow-height);\n  height: var(--bs-popover-arrow-width);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n  border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\n  right: 0;\n  border-left-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n  right: var(--bs-popover-border-width);\n  border-left-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.popover-header {\n  padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n  margin-bottom: 0;\n  font-size: var(--bs-popover-header-font-size);\n  color: var(--bs-popover-header-color);\n  background-color: var(--bs-popover-header-bg);\n  border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n  border-top-left-radius: var(--bs-popover-inner-border-radius);\n  border-top-right-radius: var(--bs-popover-inner-border-radius);\n}\n.popover-header:empty {\n  display: none;\n}\n\n.popover-body {\n  padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n  color: var(--bs-popover-body-color);\n}\n\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  width: 100%;\n  overflow: hidden;\n}\n.carousel-inner::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.carousel-item {\n  position: relative;\n  display: none;\n  float: left;\n  width: 100%;\n  margin-right: -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\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.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\n.carousel-control-prev,\n.carousel-control-next {\n  position: absolute;\n  top: 0;\n  bottom: 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(--bs-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\n.carousel-control-prev {\n  left: 0;\n}\n\n.carousel-control-next {\n  right: 0;\n}\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\n.carousel-control-prev-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath 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'/%3e%3c/svg%3e\") /*rtl:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath 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'/%3e%3c/svg%3e\")*/;\n}\n\n.carousel-control-next-icon {\n  background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath 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'/%3e%3c/svg%3e\") /*rtl:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath 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'/%3e%3c/svg%3e\")*/;\n}\n\n.carousel-indicators {\n  position: absolute;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 2;\n  display: flex;\n  justify-content: center;\n  padding: 0;\n  margin-right: 15%;\n  margin-bottom: 1rem;\n  margin-left: 15%;\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-right: 3px;\n  margin-left: 3px;\n  text-indent: -999px;\n  cursor: pointer;\n  background-color: var(--bs-carousel-indicator-active-bg);\n  background-clip: padding-box;\n  border: 0;\n  border-top: 10px solid transparent;\n  border-bottom: 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\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(--bs-carousel-caption-color);\n  text-align: center;\n}\n\n.carousel-dark {\n  --bs-carousel-indicator-active-bg: #000;\n  --bs-carousel-caption-color: #000;\n  --bs-carousel-control-icon-filter: invert(1) grayscale(100);\n}\n\n:root,\n[data-bs-theme=light] {\n  --bs-carousel-indicator-active-bg: #fff;\n  --bs-carousel-caption-color: #fff;\n  --bs-carousel-control-icon-filter: ;\n}\n\n[data-bs-theme=dark] {\n  --bs-carousel-indicator-active-bg: #000;\n  --bs-carousel-caption-color: #000;\n  --bs-carousel-control-icon-filter: invert(1) grayscale(100);\n}\n\n.spinner-grow,\n.spinner-border {\n  display: inline-block;\n  flex-shrink: 0;\n  width: var(--bs-spinner-width);\n  height: var(--bs-spinner-height);\n  vertical-align: var(--bs-spinner-vertical-align);\n  border-radius: 50%;\n  animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n  to {\n    transform: rotate(360deg) /* rtl:ignore */;\n  }\n}\n.spinner-border {\n  --bs-spinner-width: 2rem;\n  --bs-spinner-height: 2rem;\n  --bs-spinner-vertical-align: -0.125em;\n  --bs-spinner-border-width: 0.25em;\n  --bs-spinner-animation-speed: 0.75s;\n  --bs-spinner-animation-name: spinner-border;\n  border: var(--bs-spinner-border-width) solid currentcolor;\n  border-right-color: transparent;\n}\n\n.spinner-border-sm {\n  --bs-spinner-width: 1rem;\n  --bs-spinner-height: 1rem;\n  --bs-spinner-border-width: 0.2em;\n}\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  --bs-spinner-width: 2rem;\n  --bs-spinner-height: 2rem;\n  --bs-spinner-vertical-align: -0.125em;\n  --bs-spinner-animation-speed: 0.75s;\n  --bs-spinner-animation-name: spinner-grow;\n  background-color: currentcolor;\n  opacity: 0;\n}\n\n.spinner-grow-sm {\n  --bs-spinner-width: 1rem;\n  --bs-spinner-height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n  .spinner-border,\n  .spinner-grow {\n    --bs-spinner-animation-speed: 1.5s;\n  }\n}\n.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n  --bs-offcanvas-zindex: 1045;\n  --bs-offcanvas-width: 400px;\n  --bs-offcanvas-height: 30vh;\n  --bs-offcanvas-padding-x: 1rem;\n  --bs-offcanvas-padding-y: 1rem;\n  --bs-offcanvas-color: var(--bs-body-color);\n  --bs-offcanvas-bg: var(--bs-body-bg);\n  --bs-offcanvas-border-width: var(--bs-border-width);\n  --bs-offcanvas-border-color: var(--bs-border-color-translucent);\n  --bs-offcanvas-box-shadow: var(--bs-box-shadow-sm);\n  --bs-offcanvas-transition: transform 0.3s ease-in-out;\n  --bs-offcanvas-title-line-height: 1.5;\n}\n\n@media (max-width: 575.98px) {\n  .offcanvas-sm {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--bs-offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--bs-offcanvas-color);\n    visibility: hidden;\n    background-color: var(--bs-offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    transition: var(--bs-offcanvas-transition);\n  }\n}\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n  .offcanvas-sm {\n    transition: none;\n  }\n}\n@media (max-width: 575.98px) {\n  .offcanvas-sm.offcanvas-start {\n    top: 0;\n    left: 0;\n    width: var(--bs-offcanvas-width);\n    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  .offcanvas-sm.offcanvas-end {\n    top: 0;\n    right: 0;\n    width: var(--bs-offcanvas-width);\n    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  .offcanvas-sm.offcanvas-top {\n    top: 0;\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas-sm.offcanvas-bottom {\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-top: var(--bs-offcanvas-border-width) solid var(--bs-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 (min-width: 576px) {\n  .offcanvas-sm {\n    --bs-offcanvas-height: auto;\n    --bs-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\n@media (max-width: 767.98px) {\n  .offcanvas-md {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--bs-offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--bs-offcanvas-color);\n    visibility: hidden;\n    background-color: var(--bs-offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    transition: var(--bs-offcanvas-transition);\n  }\n}\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n  .offcanvas-md {\n    transition: none;\n  }\n}\n@media (max-width: 767.98px) {\n  .offcanvas-md.offcanvas-start {\n    top: 0;\n    left: 0;\n    width: var(--bs-offcanvas-width);\n    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  .offcanvas-md.offcanvas-end {\n    top: 0;\n    right: 0;\n    width: var(--bs-offcanvas-width);\n    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  .offcanvas-md.offcanvas-top {\n    top: 0;\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas-md.offcanvas-bottom {\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-top: var(--bs-offcanvas-border-width) solid var(--bs-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 (min-width: 768px) {\n  .offcanvas-md {\n    --bs-offcanvas-height: auto;\n    --bs-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\n@media (max-width: 991.98px) {\n  .offcanvas-lg {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--bs-offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--bs-offcanvas-color);\n    visibility: hidden;\n    background-color: var(--bs-offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    transition: var(--bs-offcanvas-transition);\n  }\n}\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n  .offcanvas-lg {\n    transition: none;\n  }\n}\n@media (max-width: 991.98px) {\n  .offcanvas-lg.offcanvas-start {\n    top: 0;\n    left: 0;\n    width: var(--bs-offcanvas-width);\n    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  .offcanvas-lg.offcanvas-end {\n    top: 0;\n    right: 0;\n    width: var(--bs-offcanvas-width);\n    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  .offcanvas-lg.offcanvas-top {\n    top: 0;\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas-lg.offcanvas-bottom {\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-top: var(--bs-offcanvas-border-width) solid var(--bs-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 (min-width: 992px) {\n  .offcanvas-lg {\n    --bs-offcanvas-height: auto;\n    --bs-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\n@media (max-width: 1199.98px) {\n  .offcanvas-xl {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--bs-offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--bs-offcanvas-color);\n    visibility: hidden;\n    background-color: var(--bs-offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    transition: var(--bs-offcanvas-transition);\n  }\n}\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n  .offcanvas-xl {\n    transition: none;\n  }\n}\n@media (max-width: 1199.98px) {\n  .offcanvas-xl.offcanvas-start {\n    top: 0;\n    left: 0;\n    width: var(--bs-offcanvas-width);\n    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  .offcanvas-xl.offcanvas-end {\n    top: 0;\n    right: 0;\n    width: var(--bs-offcanvas-width);\n    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  .offcanvas-xl.offcanvas-top {\n    top: 0;\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas-xl.offcanvas-bottom {\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-top: var(--bs-offcanvas-border-width) solid var(--bs-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 (min-width: 1200px) {\n  .offcanvas-xl {\n    --bs-offcanvas-height: auto;\n    --bs-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\n@media (max-width: 1399.98px) {\n  .offcanvas-xxl {\n    position: fixed;\n    bottom: 0;\n    z-index: var(--bs-offcanvas-zindex);\n    display: flex;\n    flex-direction: column;\n    max-width: 100%;\n    color: var(--bs-offcanvas-color);\n    visibility: hidden;\n    background-color: var(--bs-offcanvas-bg);\n    background-clip: padding-box;\n    outline: 0;\n    transition: var(--bs-offcanvas-transition);\n  }\n}\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n  .offcanvas-xxl {\n    transition: none;\n  }\n}\n@media (max-width: 1399.98px) {\n  .offcanvas-xxl.offcanvas-start {\n    top: 0;\n    left: 0;\n    width: var(--bs-offcanvas-width);\n    border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(-100%);\n  }\n  .offcanvas-xxl.offcanvas-end {\n    top: 0;\n    right: 0;\n    width: var(--bs-offcanvas-width);\n    border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateX(100%);\n  }\n  .offcanvas-xxl.offcanvas-top {\n    top: 0;\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(-100%);\n  }\n  .offcanvas-xxl.offcanvas-bottom {\n    right: 0;\n    left: 0;\n    height: var(--bs-offcanvas-height);\n    max-height: 100%;\n    border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n    transform: translateY(100%);\n  }\n  .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {\n    transform: none;\n  }\n  .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {\n    visibility: visible;\n  }\n}\n@media (min-width: 1400px) {\n  .offcanvas-xxl {\n    --bs-offcanvas-height: auto;\n    --bs-offcanvas-border-width: 0;\n    background-color: transparent !important;\n  }\n  .offcanvas-xxl .offcanvas-header {\n    display: none;\n  }\n  .offcanvas-xxl .offcanvas-body {\n    display: flex;\n    flex-grow: 0;\n    padding: 0;\n    overflow-y: visible;\n    background-color: transparent !important;\n  }\n}\n\n.offcanvas {\n  position: fixed;\n  bottom: 0;\n  z-index: var(--bs-offcanvas-zindex);\n  display: flex;\n  flex-direction: column;\n  max-width: 100%;\n  color: var(--bs-offcanvas-color);\n  visibility: hidden;\n  background-color: var(--bs-offcanvas-bg);\n  background-clip: padding-box;\n  outline: 0;\n  transition: var(--bs-offcanvas-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n  .offcanvas {\n    transition: none;\n  }\n}\n.offcanvas.offcanvas-start {\n  top: 0;\n  left: 0;\n  width: var(--bs-offcanvas-width);\n  border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n  transform: translateX(-100%);\n}\n.offcanvas.offcanvas-end {\n  top: 0;\n  right: 0;\n  width: var(--bs-offcanvas-width);\n  border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n  transform: translateX(100%);\n}\n.offcanvas.offcanvas-top {\n  top: 0;\n  right: 0;\n  left: 0;\n  height: var(--bs-offcanvas-height);\n  max-height: 100%;\n  border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n  transform: translateY(-100%);\n}\n.offcanvas.offcanvas-bottom {\n  right: 0;\n  left: 0;\n  height: var(--bs-offcanvas-height);\n  max-height: 100%;\n  border-top: var(--bs-offcanvas-border-width) solid var(--bs-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\n.offcanvas-backdrop {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: 1040;\n  width: 100vw;\n  height: 100vh;\n  background-color: #000;\n}\n.offcanvas-backdrop.fade {\n  opacity: 0;\n}\n.offcanvas-backdrop.show {\n  opacity: 0.5;\n}\n\n.offcanvas-header {\n  display: flex;\n  align-items: center;\n  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n}\n.offcanvas-header .btn-close {\n  padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);\n  margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\n  margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));\n  margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\n  margin-left: auto;\n}\n\n.offcanvas-title {\n  margin-bottom: 0;\n  line-height: var(--bs-offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n  flex-grow: 1;\n  padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n  overflow-y: auto;\n}\n\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\n.placeholder-xs {\n  min-height: 0.6em;\n}\n\n.placeholder-sm {\n  min-height: 0.8em;\n}\n\n.placeholder-lg {\n  min-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n  animation: placeholder-glow 2s ease-in-out infinite;\n}\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\n@keyframes placeholder-wave {\n  100% {\n    mask-position: -200% 0%;\n  }\n}\n.clearfix::after {\n  display: block;\n  clear: both;\n  content: \"\";\n}\n\n.text-bg-primary {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-primary-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-secondary {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-secondary-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-success {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-success-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-info {\n  color: #000 !important;\n  background-color: RGBA(var(--bs-info-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-warning {\n  color: #000 !important;\n  background-color: RGBA(var(--bs-warning-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-danger {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-danger-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-light {\n  color: #000 !important;\n  background-color: RGBA(var(--bs-light-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-dark {\n  color: #fff !important;\n  background-color: RGBA(var(--bs-dark-rgb), var(--bs-bg-opacity, 1)) !important;\n}\n\n.link-primary {\n  color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-primary:hover, .link-primary:focus {\n  color: RGBA(10, 88, 202, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(10, 88, 202, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-secondary {\n  color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-secondary:hover, .link-secondary:focus {\n  color: RGBA(86, 94, 100, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(86, 94, 100, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-success {\n  color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-success:hover, .link-success:focus {\n  color: RGBA(20, 108, 67, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(20, 108, 67, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-info {\n  color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-info:hover, .link-info:focus {\n  color: RGBA(61, 213, 243, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(61, 213, 243, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-warning {\n  color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-warning:hover, .link-warning:focus {\n  color: RGBA(255, 205, 57, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(255, 205, 57, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-danger {\n  color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-danger:hover, .link-danger:focus {\n  color: RGBA(176, 42, 55, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(176, 42, 55, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-light {\n  color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-light:hover, .link-light:focus {\n  color: RGBA(249, 250, 251, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(249, 250, 251, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-dark {\n  color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-dark:hover, .link-dark:focus {\n  color: RGBA(26, 30, 33, var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(26, 30, 33, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-body-emphasis {\n  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;\n  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-body-emphasis:hover, .link-body-emphasis:focus {\n  color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;\n  text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;\n}\n\n.focus-ring:focus {\n  outline: 0;\n  box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);\n}\n\n.icon-link {\n  display: inline-flex;\n  gap: 0.375rem;\n  align-items: center;\n  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-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\n.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n  transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n}\n\n.ratio {\n  position: relative;\n  width: 100%;\n}\n.ratio::before {\n  display: block;\n  padding-top: var(--bs-aspect-ratio);\n  content: \"\";\n}\n.ratio > * {\n  position: absolute;\n  top: 0;\n  left: 0;\n  width: 100%;\n  height: 100%;\n}\n\n.ratio-1x1 {\n  --bs-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n  --bs-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n  --bs-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n  --bs-aspect-ratio: 42.8571428571%;\n}\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1030;\n}\n\n.sticky-top {\n  position: sticky;\n  top: 0;\n  z-index: 1020;\n}\n\n.sticky-bottom {\n  position: sticky;\n  bottom: 0;\n  z-index: 1020;\n}\n\n@media (min-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 (min-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 (min-width: 992px) {\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 (min-width: 1200px) {\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 (min-width: 1400px) {\n  .sticky-xxl-top {\n    position: sticky;\n    top: 0;\n    z-index: 1020;\n  }\n  .sticky-xxl-bottom {\n    position: sticky;\n    bottom: 0;\n    z-index: 1020;\n  }\n}\n.hstack {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  align-self: stretch;\n}\n\n.vstack {\n  display: flex;\n  flex: 1 1 auto;\n  flex-direction: column;\n  align-self: stretch;\n}\n\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.stretched-link::after {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  z-index: 1;\n  content: \"\";\n}\n\n.text-truncate {\n  overflow: hidden;\n  text-overflow: ellipsis;\n  white-space: nowrap;\n}\n\n.vr {\n  display: inline-block;\n  align-self: stretch;\n  width: var(--bs-border-width);\n  min-height: 1em;\n  background-color: currentcolor;\n  opacity: 0.25;\n}\n\n.align-baseline {\n  vertical-align: baseline !important;\n}\n\n.align-top {\n  vertical-align: top !important;\n}\n\n.align-middle {\n  vertical-align: middle !important;\n}\n\n.align-bottom {\n  vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n  vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n  vertical-align: text-top !important;\n}\n\n.float-start {\n  float: left !important;\n}\n\n.float-end {\n  float: right !important;\n}\n\n.float-none {\n  float: none !important;\n}\n\n.object-fit-contain {\n  object-fit: contain !important;\n}\n\n.object-fit-cover {\n  object-fit: cover !important;\n}\n\n.object-fit-fill {\n  object-fit: fill !important;\n}\n\n.object-fit-scale {\n  object-fit: scale-down !important;\n}\n\n.object-fit-none {\n  object-fit: none !important;\n}\n\n.opacity-0 {\n  opacity: 0 !important;\n}\n\n.opacity-25 {\n  opacity: 0.25 !important;\n}\n\n.opacity-50 {\n  opacity: 0.5 !important;\n}\n\n.opacity-75 {\n  opacity: 0.75 !important;\n}\n\n.opacity-100 {\n  opacity: 1 !important;\n}\n\n.overflow-auto {\n  overflow: auto !important;\n}\n\n.overflow-hidden {\n  overflow: hidden !important;\n}\n\n.overflow-visible {\n  overflow: visible !important;\n}\n\n.overflow-scroll {\n  overflow: scroll !important;\n}\n\n.overflow-x-auto {\n  overflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n  overflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n  overflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n  overflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n  overflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n  overflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n  overflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n  overflow-y: scroll !important;\n}\n\n.d-inline {\n  display: inline !important;\n}\n\n.d-inline-block {\n  display: inline-block !important;\n}\n\n.d-block {\n  display: block !important;\n}\n\n.d-grid {\n  display: grid !important;\n}\n\n.d-inline-grid {\n  display: inline-grid !important;\n}\n\n.d-table {\n  display: table !important;\n}\n\n.d-table-row {\n  display: table-row !important;\n}\n\n.d-table-cell {\n  display: table-cell !important;\n}\n\n.d-flex {\n  display: flex !important;\n}\n\n.d-inline-flex {\n  display: inline-flex !important;\n}\n\n.d-none {\n  display: none !important;\n}\n\n.shadow {\n  box-shadow: var(--bs-box-shadow) !important;\n}\n\n.shadow-sm {\n  box-shadow: var(--bs-box-shadow-sm) !important;\n}\n\n.shadow-lg {\n  box-shadow: var(--bs-box-shadow-lg) !important;\n}\n\n.shadow-none {\n  box-shadow: none !important;\n}\n\n.focus-ring-primary {\n  --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-secondary {\n  --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-success {\n  --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-info {\n  --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-warning {\n  --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-danger {\n  --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-light {\n  --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-dark {\n  --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));\n}\n\n.position-static {\n  position: static !important;\n}\n\n.position-relative {\n  position: relative !important;\n}\n\n.position-absolute {\n  position: absolute !important;\n}\n\n.position-fixed {\n  position: fixed !important;\n}\n\n.position-sticky {\n  position: sticky !important;\n}\n\n.top-0 {\n  top: 0 !important;\n}\n\n.top-50 {\n  top: 50% !important;\n}\n\n.top-100 {\n  top: 100% !important;\n}\n\n.bottom-0 {\n  bottom: 0 !important;\n}\n\n.bottom-50 {\n  bottom: 50% !important;\n}\n\n.bottom-100 {\n  bottom: 100% !important;\n}\n\n.start-0 {\n  left: 0 !important;\n}\n\n.start-50 {\n  left: 50% !important;\n}\n\n.start-100 {\n  left: 100% !important;\n}\n\n.end-0 {\n  right: 0 !important;\n}\n\n.end-50 {\n  right: 50% !important;\n}\n\n.end-100 {\n  right: 100% !important;\n}\n\n.translate-middle {\n  transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n  transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n  transform: translateY(-50%) !important;\n}\n\n.border {\n  border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-0 {\n  border: 0 !important;\n}\n\n.border-top {\n  border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-top-0 {\n  border-top: 0 !important;\n}\n\n.border-end {\n  border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-end-0 {\n  border-right: 0 !important;\n}\n\n.border-bottom {\n  border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-bottom-0 {\n  border-bottom: 0 !important;\n}\n\n.border-start {\n  border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-start-0 {\n  border-left: 0 !important;\n}\n\n.border-primary {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-secondary {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-success {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-info {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-warning {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-danger {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-light {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-dark {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-black {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-white {\n  --bs-border-opacity: 1;\n  border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-primary-subtle {\n  border-color: var(--bs-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n  border-color: var(--bs-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n  border-color: var(--bs-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n  border-color: var(--bs-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n  border-color: var(--bs-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n  border-color: var(--bs-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n  border-color: var(--bs-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n  border-color: var(--bs-dark-border-subtle) !important;\n}\n\n.border-1 {\n  border-width: 1px !important;\n}\n\n.border-2 {\n  border-width: 2px !important;\n}\n\n.border-3 {\n  border-width: 3px !important;\n}\n\n.border-4 {\n  border-width: 4px !important;\n}\n\n.border-5 {\n  border-width: 5px !important;\n}\n\n.border-opacity-10 {\n  --bs-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n  --bs-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n  --bs-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n  --bs-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n  --bs-border-opacity: 1;\n}\n\n.w-25 {\n  width: 25% !important;\n}\n\n.w-50 {\n  width: 50% !important;\n}\n\n.w-75 {\n  width: 75% !important;\n}\n\n.w-100 {\n  width: 100% !important;\n}\n\n.w-auto {\n  width: auto !important;\n}\n\n.mw-100 {\n  max-width: 100% !important;\n}\n\n.vw-100 {\n  width: 100vw !important;\n}\n\n.min-vw-100 {\n  min-width: 100vw !important;\n}\n\n.h-25 {\n  height: 25% !important;\n}\n\n.h-50 {\n  height: 50% !important;\n}\n\n.h-75 {\n  height: 75% !important;\n}\n\n.h-100 {\n  height: 100% !important;\n}\n\n.h-auto {\n  height: auto !important;\n}\n\n.mh-100 {\n  max-height: 100% !important;\n}\n\n.vh-100 {\n  height: 100vh !important;\n}\n\n.min-vh-100 {\n  min-height: 100vh !important;\n}\n\n.flex-fill {\n  flex: 1 1 auto !important;\n}\n\n.flex-row {\n  flex-direction: row !important;\n}\n\n.flex-column {\n  flex-direction: column !important;\n}\n\n.flex-row-reverse {\n  flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n  flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n  flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n  flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n  flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n  flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n  flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n  flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n  flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n  justify-content: flex-start !important;\n}\n\n.justify-content-end {\n  justify-content: flex-end !important;\n}\n\n.justify-content-center {\n  justify-content: center !important;\n}\n\n.justify-content-between {\n  justify-content: space-between !important;\n}\n\n.justify-content-around {\n  justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n  justify-content: space-evenly !important;\n}\n\n.align-items-start {\n  align-items: flex-start !important;\n}\n\n.align-items-end {\n  align-items: flex-end !important;\n}\n\n.align-items-center {\n  align-items: center !important;\n}\n\n.align-items-baseline {\n  align-items: baseline !important;\n}\n\n.align-items-stretch {\n  align-items: stretch !important;\n}\n\n.align-content-start {\n  align-content: flex-start !important;\n}\n\n.align-content-end {\n  align-content: flex-end !important;\n}\n\n.align-content-center {\n  align-content: center !important;\n}\n\n.align-content-between {\n  align-content: space-between !important;\n}\n\n.align-content-around {\n  align-content: space-around !important;\n}\n\n.align-content-stretch {\n  align-content: stretch !important;\n}\n\n.align-self-auto {\n  align-self: auto !important;\n}\n\n.align-self-start {\n  align-self: flex-start !important;\n}\n\n.align-self-end {\n  align-self: flex-end !important;\n}\n\n.align-self-center {\n  align-self: center !important;\n}\n\n.align-self-baseline {\n  align-self: baseline !important;\n}\n\n.align-self-stretch {\n  align-self: stretch !important;\n}\n\n.order-first {\n  order: -1 !important;\n}\n\n.order-0 {\n  order: 0 !important;\n}\n\n.order-1 {\n  order: 1 !important;\n}\n\n.order-2 {\n  order: 2 !important;\n}\n\n.order-3 {\n  order: 3 !important;\n}\n\n.order-4 {\n  order: 4 !important;\n}\n\n.order-5 {\n  order: 5 !important;\n}\n\n.order-last {\n  order: 6 !important;\n}\n\n.m-0 {\n  margin: 0 !important;\n}\n\n.m-1 {\n  margin: 0.25rem !important;\n}\n\n.m-2 {\n  margin: 0.5rem !important;\n}\n\n.m-3 {\n  margin: 1rem !important;\n}\n\n.m-4 {\n  margin: 1.5rem !important;\n}\n\n.m-5 {\n  margin: 3rem !important;\n}\n\n.m-auto {\n  margin: auto !important;\n}\n\n.mx-0 {\n  margin-right: 0 !important;\n  margin-left: 0 !important;\n}\n\n.mx-1 {\n  margin-right: 0.25rem !important;\n  margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n  margin-right: 0.5rem !important;\n  margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n  margin-right: 1rem !important;\n  margin-left: 1rem !important;\n}\n\n.mx-4 {\n  margin-right: 1.5rem !important;\n  margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n  margin-right: 3rem !important;\n  margin-left: 3rem !important;\n}\n\n.mx-auto {\n  margin-right: auto !important;\n  margin-left: auto !important;\n}\n\n.my-0 {\n  margin-top: 0 !important;\n  margin-bottom: 0 !important;\n}\n\n.my-1 {\n  margin-top: 0.25rem !important;\n  margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n  margin-top: 0.5rem !important;\n  margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n  margin-top: 1rem !important;\n  margin-bottom: 1rem !important;\n}\n\n.my-4 {\n  margin-top: 1.5rem !important;\n  margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n  margin-top: 3rem !important;\n  margin-bottom: 3rem !important;\n}\n\n.my-auto {\n  margin-top: auto !important;\n  margin-bottom: auto !important;\n}\n\n.mt-0 {\n  margin-top: 0 !important;\n}\n\n.mt-1 {\n  margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n  margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n  margin-top: 1rem !important;\n}\n\n.mt-4 {\n  margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n  margin-top: 3rem !important;\n}\n\n.mt-auto {\n  margin-top: auto !important;\n}\n\n.me-0 {\n  margin-right: 0 !important;\n}\n\n.me-1 {\n  margin-right: 0.25rem !important;\n}\n\n.me-2 {\n  margin-right: 0.5rem !important;\n}\n\n.me-3 {\n  margin-right: 1rem !important;\n}\n\n.me-4 {\n  margin-right: 1.5rem !important;\n}\n\n.me-5 {\n  margin-right: 3rem !important;\n}\n\n.me-auto {\n  margin-right: auto !important;\n}\n\n.mb-0 {\n  margin-bottom: 0 !important;\n}\n\n.mb-1 {\n  margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n  margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n  margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n  margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n  margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n  margin-bottom: auto !important;\n}\n\n.ms-0 {\n  margin-left: 0 !important;\n}\n\n.ms-1 {\n  margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n  margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n  margin-left: 1rem !important;\n}\n\n.ms-4 {\n  margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n  margin-left: 3rem !important;\n}\n\n.ms-auto {\n  margin-left: auto !important;\n}\n\n.p-0 {\n  padding: 0 !important;\n}\n\n.p-1 {\n  padding: 0.25rem !important;\n}\n\n.p-2 {\n  padding: 0.5rem !important;\n}\n\n.p-3 {\n  padding: 1rem !important;\n}\n\n.p-4 {\n  padding: 1.5rem !important;\n}\n\n.p-5 {\n  padding: 3rem !important;\n}\n\n.px-0 {\n  padding-right: 0 !important;\n  padding-left: 0 !important;\n}\n\n.px-1 {\n  padding-right: 0.25rem !important;\n  padding-left: 0.25rem !important;\n}\n\n.px-2 {\n  padding-right: 0.5rem !important;\n  padding-left: 0.5rem !important;\n}\n\n.px-3 {\n  padding-right: 1rem !important;\n  padding-left: 1rem !important;\n}\n\n.px-4 {\n  padding-right: 1.5rem !important;\n  padding-left: 1.5rem !important;\n}\n\n.px-5 {\n  padding-right: 3rem !important;\n  padding-left: 3rem !important;\n}\n\n.py-0 {\n  padding-top: 0 !important;\n  padding-bottom: 0 !important;\n}\n\n.py-1 {\n  padding-top: 0.25rem !important;\n  padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n  padding-top: 0.5rem !important;\n  padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n  padding-top: 1rem !important;\n  padding-bottom: 1rem !important;\n}\n\n.py-4 {\n  padding-top: 1.5rem !important;\n  padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n  padding-top: 3rem !important;\n  padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n  padding-top: 0 !important;\n}\n\n.pt-1 {\n  padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n  padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n  padding-top: 1rem !important;\n}\n\n.pt-4 {\n  padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n  padding-top: 3rem !important;\n}\n\n.pe-0 {\n  padding-right: 0 !important;\n}\n\n.pe-1 {\n  padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n  padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n  padding-right: 1rem !important;\n}\n\n.pe-4 {\n  padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n  padding-right: 3rem !important;\n}\n\n.pb-0 {\n  padding-bottom: 0 !important;\n}\n\n.pb-1 {\n  padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n  padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n  padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n  padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n  padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n  padding-left: 0 !important;\n}\n\n.ps-1 {\n  padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n  padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n  padding-left: 1rem !important;\n}\n\n.ps-4 {\n  padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n  padding-left: 3rem !important;\n}\n\n.gap-0 {\n  gap: 0 !important;\n}\n\n.gap-1 {\n  gap: 0.25rem !important;\n}\n\n.gap-2 {\n  gap: 0.5rem !important;\n}\n\n.gap-3 {\n  gap: 1rem !important;\n}\n\n.gap-4 {\n  gap: 1.5rem !important;\n}\n\n.gap-5 {\n  gap: 3rem !important;\n}\n\n.row-gap-0 {\n  row-gap: 0 !important;\n}\n\n.row-gap-1 {\n  row-gap: 0.25rem !important;\n}\n\n.row-gap-2 {\n  row-gap: 0.5rem !important;\n}\n\n.row-gap-3 {\n  row-gap: 1rem !important;\n}\n\n.row-gap-4 {\n  row-gap: 1.5rem !important;\n}\n\n.row-gap-5 {\n  row-gap: 3rem !important;\n}\n\n.column-gap-0 {\n  column-gap: 0 !important;\n}\n\n.column-gap-1 {\n  column-gap: 0.25rem !important;\n}\n\n.column-gap-2 {\n  column-gap: 0.5rem !important;\n}\n\n.column-gap-3 {\n  column-gap: 1rem !important;\n}\n\n.column-gap-4 {\n  column-gap: 1.5rem !important;\n}\n\n.column-gap-5 {\n  column-gap: 3rem !important;\n}\n\n.font-monospace {\n  font-family: var(--bs-font-monospace) !important;\n}\n\n.fs-1 {\n  font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n  font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n  font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n  font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n  font-size: 1.25rem !important;\n}\n\n.fs-6 {\n  font-size: 1rem !important;\n}\n\n.fst-italic {\n  font-style: italic !important;\n}\n\n.fst-normal {\n  font-style: normal !important;\n}\n\n.fw-lighter {\n  font-weight: lighter !important;\n}\n\n.fw-light {\n  font-weight: 300 !important;\n}\n\n.fw-normal {\n  font-weight: 400 !important;\n}\n\n.fw-medium {\n  font-weight: 500 !important;\n}\n\n.fw-semibold {\n  font-weight: 600 !important;\n}\n\n.fw-bold {\n  font-weight: 700 !important;\n}\n\n.fw-bolder {\n  font-weight: bolder !important;\n}\n\n.lh-1 {\n  line-height: 1 !important;\n}\n\n.lh-sm {\n  line-height: 1.25 !important;\n}\n\n.lh-base {\n  line-height: 1.5 !important;\n}\n\n.lh-lg {\n  line-height: 2 !important;\n}\n\n.text-start {\n  text-align: left !important;\n}\n\n.text-end {\n  text-align: right !important;\n}\n\n.text-center {\n  text-align: center !important;\n}\n\n.text-decoration-none {\n  text-decoration: none !important;\n}\n\n.text-decoration-underline {\n  text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n  text-decoration: line-through !important;\n}\n\n.text-lowercase {\n  text-transform: lowercase !important;\n}\n\n.text-uppercase {\n  text-transform: uppercase !important;\n}\n\n.text-capitalize {\n  text-transform: capitalize !important;\n}\n\n.text-wrap {\n  white-space: normal !important;\n}\n\n.text-nowrap {\n  white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n  word-wrap: break-word !important;\n  word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n.text-primary {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-secondary {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-success {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-info {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-warning {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-danger {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-light {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-dark {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-black {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-white {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-body {\n  --bs-text-opacity: 1;\n  color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-muted {\n  --bs-text-opacity: 1;\n  color: var(--bs-secondary-color) !important;\n}\n\n.text-black-50 {\n  --bs-text-opacity: 1;\n  color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n  --bs-text-opacity: 1;\n  color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-body-secondary {\n  --bs-text-opacity: 1;\n  color: var(--bs-secondary-color) !important;\n}\n\n.text-body-tertiary {\n  --bs-text-opacity: 1;\n  color: var(--bs-tertiary-color) !important;\n}\n\n.text-body-emphasis {\n  --bs-text-opacity: 1;\n  color: var(--bs-emphasis-color) !important;\n}\n\n.text-reset {\n  --bs-text-opacity: 1;\n  color: inherit !important;\n}\n\n.text-opacity-25 {\n  --bs-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n  --bs-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n  --bs-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n  --bs-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n  color: var(--bs-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n  color: var(--bs-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n  color: var(--bs-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n  color: var(--bs-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n  color: var(--bs-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n  color: var(--bs-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n  color: var(--bs-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n  color: var(--bs-dark-text-emphasis) !important;\n}\n\n.link-opacity-10 {\n  --bs-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n  --bs-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n  --bs-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n  --bs-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n  --bs-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n  --bs-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n  --bs-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n  --bs-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n  --bs-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n  --bs-link-opacity: 1;\n}\n\n.link-offset-1 {\n  text-underline-offset: 0.125em !important;\n}\n\n.link-offset-1-hover:hover {\n  text-underline-offset: 0.125em !important;\n}\n\n.link-offset-2 {\n  text-underline-offset: 0.25em !important;\n}\n\n.link-offset-2-hover:hover {\n  text-underline-offset: 0.25em !important;\n}\n\n.link-offset-3 {\n  text-underline-offset: 0.375em !important;\n}\n\n.link-offset-3-hover:hover {\n  text-underline-offset: 0.375em !important;\n}\n\n.link-underline-primary {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-secondary {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-success {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-info {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-warning {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-danger {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-light {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-dark {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline {\n  --bs-link-underline-opacity: 1;\n  text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-underline-opacity-0 {\n  --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n  --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n  --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n  --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n  --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n  --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n  --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n  --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n  --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n  --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n  --bs-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n  --bs-link-underline-opacity: 1;\n}\n\n.bg-primary {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-secondary {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-success {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-info {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-warning {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-danger {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-light {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-dark {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-black {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-white {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-transparent {\n  --bs-bg-opacity: 1;\n  background-color: transparent !important;\n}\n\n.bg-body-secondary {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body-tertiary {\n  --bs-bg-opacity: 1;\n  background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-opacity-10 {\n  --bs-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n  --bs-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n  --bs-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n  --bs-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n  --bs-bg-opacity: 1;\n}\n\n.bg-primary-subtle {\n  background-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.bg-secondary-subtle {\n  background-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.bg-success-subtle {\n  background-color: var(--bs-success-bg-subtle) !important;\n}\n\n.bg-info-subtle {\n  background-color: var(--bs-info-bg-subtle) !important;\n}\n\n.bg-warning-subtle {\n  background-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.bg-danger-subtle {\n  background-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.bg-light-subtle {\n  background-color: var(--bs-light-bg-subtle) !important;\n}\n\n.bg-dark-subtle {\n  background-color: var(--bs-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n  background-image: var(--bs-gradient) !important;\n}\n\n.user-select-all {\n  user-select: all !important;\n}\n\n.user-select-auto {\n  user-select: auto !important;\n}\n\n.user-select-none {\n  user-select: none !important;\n}\n\n.pe-none {\n  pointer-events: none !important;\n}\n\n.pe-auto {\n  pointer-events: auto !important;\n}\n\n.rounded {\n  border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-0 {\n  border-radius: 0 !important;\n}\n\n.rounded-1 {\n  border-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-2 {\n  border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-3 {\n  border-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-4 {\n  border-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-5 {\n  border-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n  border-radius: 50% !important;\n}\n\n.rounded-pill {\n  border-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-top {\n  border-top-left-radius: var(--bs-border-radius) !important;\n  border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-0 {\n  border-top-left-radius: 0 !important;\n  border-top-right-radius: 0 !important;\n}\n\n.rounded-top-1 {\n  border-top-left-radius: var(--bs-border-radius-sm) !important;\n  border-top-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n  border-top-left-radius: var(--bs-border-radius) !important;\n  border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-3 {\n  border-top-left-radius: var(--bs-border-radius-lg) !important;\n  border-top-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n  border-top-left-radius: var(--bs-border-radius-xl) !important;\n  border-top-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n  border-top-left-radius: var(--bs-border-radius-xxl) !important;\n  border-top-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n  border-top-left-radius: 50% !important;\n  border-top-right-radius: 50% !important;\n}\n\n.rounded-top-pill {\n  border-top-left-radius: var(--bs-border-radius-pill) !important;\n  border-top-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-end {\n  border-top-right-radius: var(--bs-border-radius) !important;\n  border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-0 {\n  border-top-right-radius: 0 !important;\n  border-bottom-right-radius: 0 !important;\n}\n\n.rounded-end-1 {\n  border-top-right-radius: var(--bs-border-radius-sm) !important;\n  border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n  border-top-right-radius: var(--bs-border-radius) !important;\n  border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-3 {\n  border-top-right-radius: var(--bs-border-radius-lg) !important;\n  border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n  border-top-right-radius: var(--bs-border-radius-xl) !important;\n  border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n  border-top-right-radius: var(--bs-border-radius-xxl) !important;\n  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n  border-top-right-radius: 50% !important;\n  border-bottom-right-radius: 50% !important;\n}\n\n.rounded-end-pill {\n  border-top-right-radius: var(--bs-border-radius-pill) !important;\n  border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n  border-bottom-right-radius: var(--bs-border-radius) !important;\n  border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n  border-bottom-right-radius: 0 !important;\n  border-bottom-left-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n  border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n  border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n  border-bottom-right-radius: var(--bs-border-radius) !important;\n  border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n  border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n  border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n  border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n  border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n  border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n  border-bottom-right-radius: 50% !important;\n  border-bottom-left-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n  border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n  border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-start {\n  border-bottom-left-radius: var(--bs-border-radius) !important;\n  border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-0 {\n  border-bottom-left-radius: 0 !important;\n  border-top-left-radius: 0 !important;\n}\n\n.rounded-start-1 {\n  border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n  border-top-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n  border-bottom-left-radius: var(--bs-border-radius) !important;\n  border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-3 {\n  border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n  border-top-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n  border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n  border-top-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n  border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n  border-top-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n  border-bottom-left-radius: 50% !important;\n  border-top-left-radius: 50% !important;\n}\n\n.rounded-start-pill {\n  border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n  border-top-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.visible {\n  visibility: visible !important;\n}\n\n.invisible {\n  visibility: hidden !important;\n}\n\n.z-n1 {\n  z-index: -1 !important;\n}\n\n.z-0 {\n  z-index: 0 !important;\n}\n\n.z-1 {\n  z-index: 1 !important;\n}\n\n.z-2 {\n  z-index: 2 !important;\n}\n\n.z-3 {\n  z-index: 3 !important;\n}\n\n@media (min-width: 576px) {\n  .float-sm-start {\n    float: left !important;\n  }\n  .float-sm-end {\n    float: right !important;\n  }\n  .float-sm-none {\n    float: none !important;\n  }\n  .object-fit-sm-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-sm-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-sm-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-sm-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-sm-none {\n    object-fit: none !important;\n  }\n  .d-sm-inline {\n    display: inline !important;\n  }\n  .d-sm-inline-block {\n    display: inline-block !important;\n  }\n  .d-sm-block {\n    display: block !important;\n  }\n  .d-sm-grid {\n    display: grid !important;\n  }\n  .d-sm-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-sm-table {\n    display: table !important;\n  }\n  .d-sm-table-row {\n    display: table-row !important;\n  }\n  .d-sm-table-cell {\n    display: table-cell !important;\n  }\n  .d-sm-flex {\n    display: flex !important;\n  }\n  .d-sm-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-sm-none {\n    display: none !important;\n  }\n  .flex-sm-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-sm-row {\n    flex-direction: row !important;\n  }\n  .flex-sm-column {\n    flex-direction: column !important;\n  }\n  .flex-sm-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-sm-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-sm-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-sm-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-sm-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-sm-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-sm-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-sm-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-sm-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-sm-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-sm-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-sm-center {\n    justify-content: center !important;\n  }\n  .justify-content-sm-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-sm-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-sm-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-sm-start {\n    align-items: flex-start !important;\n  }\n  .align-items-sm-end {\n    align-items: flex-end !important;\n  }\n  .align-items-sm-center {\n    align-items: center !important;\n  }\n  .align-items-sm-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-sm-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-sm-start {\n    align-content: flex-start !important;\n  }\n  .align-content-sm-end {\n    align-content: flex-end !important;\n  }\n  .align-content-sm-center {\n    align-content: center !important;\n  }\n  .align-content-sm-between {\n    align-content: space-between !important;\n  }\n  .align-content-sm-around {\n    align-content: space-around !important;\n  }\n  .align-content-sm-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-sm-auto {\n    align-self: auto !important;\n  }\n  .align-self-sm-start {\n    align-self: flex-start !important;\n  }\n  .align-self-sm-end {\n    align-self: flex-end !important;\n  }\n  .align-self-sm-center {\n    align-self: center !important;\n  }\n  .align-self-sm-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-sm-stretch {\n    align-self: stretch !important;\n  }\n  .order-sm-first {\n    order: -1 !important;\n  }\n  .order-sm-0 {\n    order: 0 !important;\n  }\n  .order-sm-1 {\n    order: 1 !important;\n  }\n  .order-sm-2 {\n    order: 2 !important;\n  }\n  .order-sm-3 {\n    order: 3 !important;\n  }\n  .order-sm-4 {\n    order: 4 !important;\n  }\n  .order-sm-5 {\n    order: 5 !important;\n  }\n  .order-sm-last {\n    order: 6 !important;\n  }\n  .m-sm-0 {\n    margin: 0 !important;\n  }\n  .m-sm-1 {\n    margin: 0.25rem !important;\n  }\n  .m-sm-2 {\n    margin: 0.5rem !important;\n  }\n  .m-sm-3 {\n    margin: 1rem !important;\n  }\n  .m-sm-4 {\n    margin: 1.5rem !important;\n  }\n  .m-sm-5 {\n    margin: 3rem !important;\n  }\n  .m-sm-auto {\n    margin: auto !important;\n  }\n  .mx-sm-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-sm-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-sm-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-sm-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-sm-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-sm-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-sm-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-sm-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-sm-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-sm-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-sm-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-sm-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-sm-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-sm-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-sm-0 {\n    margin-top: 0 !important;\n  }\n  .mt-sm-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-sm-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-sm-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-sm-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-sm-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-sm-auto {\n    margin-top: auto !important;\n  }\n  .me-sm-0 {\n    margin-right: 0 !important;\n  }\n  .me-sm-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-sm-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-sm-3 {\n    margin-right: 1rem !important;\n  }\n  .me-sm-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-sm-5 {\n    margin-right: 3rem !important;\n  }\n  .me-sm-auto {\n    margin-right: auto !important;\n  }\n  .mb-sm-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-sm-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-sm-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-sm-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-sm-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-sm-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-sm-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-sm-0 {\n    margin-left: 0 !important;\n  }\n  .ms-sm-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-sm-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-sm-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-sm-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-sm-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-sm-auto {\n    margin-left: auto !important;\n  }\n  .p-sm-0 {\n    padding: 0 !important;\n  }\n  .p-sm-1 {\n    padding: 0.25rem !important;\n  }\n  .p-sm-2 {\n    padding: 0.5rem !important;\n  }\n  .p-sm-3 {\n    padding: 1rem !important;\n  }\n  .p-sm-4 {\n    padding: 1.5rem !important;\n  }\n  .p-sm-5 {\n    padding: 3rem !important;\n  }\n  .px-sm-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-sm-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-sm-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-sm-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-sm-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-sm-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-sm-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-sm-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-sm-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-sm-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-sm-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-sm-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-sm-0 {\n    padding-top: 0 !important;\n  }\n  .pt-sm-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-sm-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-sm-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-sm-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-sm-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-sm-0 {\n    padding-right: 0 !important;\n  }\n  .pe-sm-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-sm-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-sm-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-sm-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-sm-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-sm-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-sm-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-sm-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-sm-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-sm-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-sm-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-sm-0 {\n    padding-left: 0 !important;\n  }\n  .ps-sm-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-sm-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-sm-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-sm-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-sm-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-sm-0 {\n    gap: 0 !important;\n  }\n  .gap-sm-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-sm-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-sm-3 {\n    gap: 1rem !important;\n  }\n  .gap-sm-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-sm-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-sm-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-sm-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-sm-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-sm-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-sm-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-sm-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-sm-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-sm-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-sm-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-sm-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-sm-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-sm-5 {\n    column-gap: 3rem !important;\n  }\n  .text-sm-start {\n    text-align: left !important;\n  }\n  .text-sm-end {\n    text-align: right !important;\n  }\n  .text-sm-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 768px) {\n  .float-md-start {\n    float: left !important;\n  }\n  .float-md-end {\n    float: right !important;\n  }\n  .float-md-none {\n    float: none !important;\n  }\n  .object-fit-md-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-md-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-md-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-md-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-md-none {\n    object-fit: none !important;\n  }\n  .d-md-inline {\n    display: inline !important;\n  }\n  .d-md-inline-block {\n    display: inline-block !important;\n  }\n  .d-md-block {\n    display: block !important;\n  }\n  .d-md-grid {\n    display: grid !important;\n  }\n  .d-md-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-md-table {\n    display: table !important;\n  }\n  .d-md-table-row {\n    display: table-row !important;\n  }\n  .d-md-table-cell {\n    display: table-cell !important;\n  }\n  .d-md-flex {\n    display: flex !important;\n  }\n  .d-md-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-md-none {\n    display: none !important;\n  }\n  .flex-md-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-md-row {\n    flex-direction: row !important;\n  }\n  .flex-md-column {\n    flex-direction: column !important;\n  }\n  .flex-md-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-md-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-md-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-md-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-md-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-md-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-md-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-md-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-md-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-md-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-md-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-md-center {\n    justify-content: center !important;\n  }\n  .justify-content-md-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-md-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-md-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-md-start {\n    align-items: flex-start !important;\n  }\n  .align-items-md-end {\n    align-items: flex-end !important;\n  }\n  .align-items-md-center {\n    align-items: center !important;\n  }\n  .align-items-md-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-md-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-md-start {\n    align-content: flex-start !important;\n  }\n  .align-content-md-end {\n    align-content: flex-end !important;\n  }\n  .align-content-md-center {\n    align-content: center !important;\n  }\n  .align-content-md-between {\n    align-content: space-between !important;\n  }\n  .align-content-md-around {\n    align-content: space-around !important;\n  }\n  .align-content-md-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-md-auto {\n    align-self: auto !important;\n  }\n  .align-self-md-start {\n    align-self: flex-start !important;\n  }\n  .align-self-md-end {\n    align-self: flex-end !important;\n  }\n  .align-self-md-center {\n    align-self: center !important;\n  }\n  .align-self-md-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-md-stretch {\n    align-self: stretch !important;\n  }\n  .order-md-first {\n    order: -1 !important;\n  }\n  .order-md-0 {\n    order: 0 !important;\n  }\n  .order-md-1 {\n    order: 1 !important;\n  }\n  .order-md-2 {\n    order: 2 !important;\n  }\n  .order-md-3 {\n    order: 3 !important;\n  }\n  .order-md-4 {\n    order: 4 !important;\n  }\n  .order-md-5 {\n    order: 5 !important;\n  }\n  .order-md-last {\n    order: 6 !important;\n  }\n  .m-md-0 {\n    margin: 0 !important;\n  }\n  .m-md-1 {\n    margin: 0.25rem !important;\n  }\n  .m-md-2 {\n    margin: 0.5rem !important;\n  }\n  .m-md-3 {\n    margin: 1rem !important;\n  }\n  .m-md-4 {\n    margin: 1.5rem !important;\n  }\n  .m-md-5 {\n    margin: 3rem !important;\n  }\n  .m-md-auto {\n    margin: auto !important;\n  }\n  .mx-md-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-md-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-md-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-md-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-md-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-md-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-md-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-md-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-md-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-md-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-md-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-md-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-md-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-md-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-md-0 {\n    margin-top: 0 !important;\n  }\n  .mt-md-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-md-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-md-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-md-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-md-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-md-auto {\n    margin-top: auto !important;\n  }\n  .me-md-0 {\n    margin-right: 0 !important;\n  }\n  .me-md-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-md-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-md-3 {\n    margin-right: 1rem !important;\n  }\n  .me-md-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-md-5 {\n    margin-right: 3rem !important;\n  }\n  .me-md-auto {\n    margin-right: auto !important;\n  }\n  .mb-md-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-md-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-md-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-md-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-md-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-md-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-md-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-md-0 {\n    margin-left: 0 !important;\n  }\n  .ms-md-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-md-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-md-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-md-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-md-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-md-auto {\n    margin-left: auto !important;\n  }\n  .p-md-0 {\n    padding: 0 !important;\n  }\n  .p-md-1 {\n    padding: 0.25rem !important;\n  }\n  .p-md-2 {\n    padding: 0.5rem !important;\n  }\n  .p-md-3 {\n    padding: 1rem !important;\n  }\n  .p-md-4 {\n    padding: 1.5rem !important;\n  }\n  .p-md-5 {\n    padding: 3rem !important;\n  }\n  .px-md-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-md-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-md-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-md-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-md-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-md-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-md-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-md-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-md-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-md-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-md-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-md-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-md-0 {\n    padding-top: 0 !important;\n  }\n  .pt-md-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-md-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-md-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-md-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-md-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-md-0 {\n    padding-right: 0 !important;\n  }\n  .pe-md-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-md-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-md-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-md-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-md-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-md-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-md-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-md-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-md-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-md-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-md-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-md-0 {\n    padding-left: 0 !important;\n  }\n  .ps-md-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-md-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-md-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-md-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-md-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-md-0 {\n    gap: 0 !important;\n  }\n  .gap-md-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-md-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-md-3 {\n    gap: 1rem !important;\n  }\n  .gap-md-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-md-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-md-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-md-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-md-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-md-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-md-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-md-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-md-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-md-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-md-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-md-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-md-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-md-5 {\n    column-gap: 3rem !important;\n  }\n  .text-md-start {\n    text-align: left !important;\n  }\n  .text-md-end {\n    text-align: right !important;\n  }\n  .text-md-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 992px) {\n  .float-lg-start {\n    float: left !important;\n  }\n  .float-lg-end {\n    float: right !important;\n  }\n  .float-lg-none {\n    float: none !important;\n  }\n  .object-fit-lg-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-lg-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-lg-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-lg-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-lg-none {\n    object-fit: none !important;\n  }\n  .d-lg-inline {\n    display: inline !important;\n  }\n  .d-lg-inline-block {\n    display: inline-block !important;\n  }\n  .d-lg-block {\n    display: block !important;\n  }\n  .d-lg-grid {\n    display: grid !important;\n  }\n  .d-lg-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-lg-table {\n    display: table !important;\n  }\n  .d-lg-table-row {\n    display: table-row !important;\n  }\n  .d-lg-table-cell {\n    display: table-cell !important;\n  }\n  .d-lg-flex {\n    display: flex !important;\n  }\n  .d-lg-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-lg-none {\n    display: none !important;\n  }\n  .flex-lg-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-lg-row {\n    flex-direction: row !important;\n  }\n  .flex-lg-column {\n    flex-direction: column !important;\n  }\n  .flex-lg-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-lg-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-lg-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-lg-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-lg-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-lg-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-lg-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-lg-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-lg-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-lg-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-lg-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-lg-center {\n    justify-content: center !important;\n  }\n  .justify-content-lg-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-lg-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-lg-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-lg-start {\n    align-items: flex-start !important;\n  }\n  .align-items-lg-end {\n    align-items: flex-end !important;\n  }\n  .align-items-lg-center {\n    align-items: center !important;\n  }\n  .align-items-lg-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-lg-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-lg-start {\n    align-content: flex-start !important;\n  }\n  .align-content-lg-end {\n    align-content: flex-end !important;\n  }\n  .align-content-lg-center {\n    align-content: center !important;\n  }\n  .align-content-lg-between {\n    align-content: space-between !important;\n  }\n  .align-content-lg-around {\n    align-content: space-around !important;\n  }\n  .align-content-lg-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-lg-auto {\n    align-self: auto !important;\n  }\n  .align-self-lg-start {\n    align-self: flex-start !important;\n  }\n  .align-self-lg-end {\n    align-self: flex-end !important;\n  }\n  .align-self-lg-center {\n    align-self: center !important;\n  }\n  .align-self-lg-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-lg-stretch {\n    align-self: stretch !important;\n  }\n  .order-lg-first {\n    order: -1 !important;\n  }\n  .order-lg-0 {\n    order: 0 !important;\n  }\n  .order-lg-1 {\n    order: 1 !important;\n  }\n  .order-lg-2 {\n    order: 2 !important;\n  }\n  .order-lg-3 {\n    order: 3 !important;\n  }\n  .order-lg-4 {\n    order: 4 !important;\n  }\n  .order-lg-5 {\n    order: 5 !important;\n  }\n  .order-lg-last {\n    order: 6 !important;\n  }\n  .m-lg-0 {\n    margin: 0 !important;\n  }\n  .m-lg-1 {\n    margin: 0.25rem !important;\n  }\n  .m-lg-2 {\n    margin: 0.5rem !important;\n  }\n  .m-lg-3 {\n    margin: 1rem !important;\n  }\n  .m-lg-4 {\n    margin: 1.5rem !important;\n  }\n  .m-lg-5 {\n    margin: 3rem !important;\n  }\n  .m-lg-auto {\n    margin: auto !important;\n  }\n  .mx-lg-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-lg-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-lg-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-lg-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-lg-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-lg-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-lg-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-lg-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-lg-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-lg-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-lg-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-lg-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-lg-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-lg-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-lg-0 {\n    margin-top: 0 !important;\n  }\n  .mt-lg-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-lg-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-lg-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-lg-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-lg-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-lg-auto {\n    margin-top: auto !important;\n  }\n  .me-lg-0 {\n    margin-right: 0 !important;\n  }\n  .me-lg-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-lg-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-lg-3 {\n    margin-right: 1rem !important;\n  }\n  .me-lg-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-lg-5 {\n    margin-right: 3rem !important;\n  }\n  .me-lg-auto {\n    margin-right: auto !important;\n  }\n  .mb-lg-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-lg-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-lg-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-lg-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-lg-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-lg-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-lg-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-lg-0 {\n    margin-left: 0 !important;\n  }\n  .ms-lg-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-lg-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-lg-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-lg-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-lg-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-lg-auto {\n    margin-left: auto !important;\n  }\n  .p-lg-0 {\n    padding: 0 !important;\n  }\n  .p-lg-1 {\n    padding: 0.25rem !important;\n  }\n  .p-lg-2 {\n    padding: 0.5rem !important;\n  }\n  .p-lg-3 {\n    padding: 1rem !important;\n  }\n  .p-lg-4 {\n    padding: 1.5rem !important;\n  }\n  .p-lg-5 {\n    padding: 3rem !important;\n  }\n  .px-lg-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-lg-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-lg-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-lg-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-lg-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-lg-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-lg-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-lg-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-lg-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-lg-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-lg-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-lg-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-lg-0 {\n    padding-top: 0 !important;\n  }\n  .pt-lg-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-lg-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-lg-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-lg-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-lg-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-lg-0 {\n    padding-right: 0 !important;\n  }\n  .pe-lg-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-lg-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-lg-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-lg-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-lg-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-lg-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-lg-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-lg-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-lg-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-lg-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-lg-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-lg-0 {\n    padding-left: 0 !important;\n  }\n  .ps-lg-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-lg-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-lg-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-lg-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-lg-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-lg-0 {\n    gap: 0 !important;\n  }\n  .gap-lg-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-lg-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-lg-3 {\n    gap: 1rem !important;\n  }\n  .gap-lg-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-lg-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-lg-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-lg-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-lg-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-lg-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-lg-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-lg-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-lg-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-lg-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-lg-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-lg-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-lg-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-lg-5 {\n    column-gap: 3rem !important;\n  }\n  .text-lg-start {\n    text-align: left !important;\n  }\n  .text-lg-end {\n    text-align: right !important;\n  }\n  .text-lg-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 1200px) {\n  .float-xl-start {\n    float: left !important;\n  }\n  .float-xl-end {\n    float: right !important;\n  }\n  .float-xl-none {\n    float: none !important;\n  }\n  .object-fit-xl-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-xl-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-xl-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-xl-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-xl-none {\n    object-fit: none !important;\n  }\n  .d-xl-inline {\n    display: inline !important;\n  }\n  .d-xl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xl-block {\n    display: block !important;\n  }\n  .d-xl-grid {\n    display: grid !important;\n  }\n  .d-xl-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-xl-table {\n    display: table !important;\n  }\n  .d-xl-table-row {\n    display: table-row !important;\n  }\n  .d-xl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xl-flex {\n    display: flex !important;\n  }\n  .d-xl-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-xl-none {\n    display: none !important;\n  }\n  .flex-xl-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-xl-row {\n    flex-direction: row !important;\n  }\n  .flex-xl-column {\n    flex-direction: column !important;\n  }\n  .flex-xl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-xl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-xl-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-xl-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-xl-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-xl-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-xl-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-xl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-xl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xl-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-xl-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-xl-center {\n    justify-content: center !important;\n  }\n  .justify-content-xl-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-xl-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-xl-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-xl-start {\n    align-items: flex-start !important;\n  }\n  .align-items-xl-end {\n    align-items: flex-end !important;\n  }\n  .align-items-xl-center {\n    align-items: center !important;\n  }\n  .align-items-xl-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-xl-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-xl-start {\n    align-content: flex-start !important;\n  }\n  .align-content-xl-end {\n    align-content: flex-end !important;\n  }\n  .align-content-xl-center {\n    align-content: center !important;\n  }\n  .align-content-xl-between {\n    align-content: space-between !important;\n  }\n  .align-content-xl-around {\n    align-content: space-around !important;\n  }\n  .align-content-xl-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-xl-auto {\n    align-self: auto !important;\n  }\n  .align-self-xl-start {\n    align-self: flex-start !important;\n  }\n  .align-self-xl-end {\n    align-self: flex-end !important;\n  }\n  .align-self-xl-center {\n    align-self: center !important;\n  }\n  .align-self-xl-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-xl-stretch {\n    align-self: stretch !important;\n  }\n  .order-xl-first {\n    order: -1 !important;\n  }\n  .order-xl-0 {\n    order: 0 !important;\n  }\n  .order-xl-1 {\n    order: 1 !important;\n  }\n  .order-xl-2 {\n    order: 2 !important;\n  }\n  .order-xl-3 {\n    order: 3 !important;\n  }\n  .order-xl-4 {\n    order: 4 !important;\n  }\n  .order-xl-5 {\n    order: 5 !important;\n  }\n  .order-xl-last {\n    order: 6 !important;\n  }\n  .m-xl-0 {\n    margin: 0 !important;\n  }\n  .m-xl-1 {\n    margin: 0.25rem !important;\n  }\n  .m-xl-2 {\n    margin: 0.5rem !important;\n  }\n  .m-xl-3 {\n    margin: 1rem !important;\n  }\n  .m-xl-4 {\n    margin: 1.5rem !important;\n  }\n  .m-xl-5 {\n    margin: 3rem !important;\n  }\n  .m-xl-auto {\n    margin: auto !important;\n  }\n  .mx-xl-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-xl-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-xl-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-xl-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-xl-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-xl-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-xl-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-xl-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-xl-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-xl-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-xl-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-xl-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-xl-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-xl-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-xl-0 {\n    margin-top: 0 !important;\n  }\n  .mt-xl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-xl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-xl-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-xl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-xl-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-xl-auto {\n    margin-top: auto !important;\n  }\n  .me-xl-0 {\n    margin-right: 0 !important;\n  }\n  .me-xl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-xl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-xl-3 {\n    margin-right: 1rem !important;\n  }\n  .me-xl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-xl-5 {\n    margin-right: 3rem !important;\n  }\n  .me-xl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xl-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-xl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-xl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-xl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-xl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-xl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-xl-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-xl-0 {\n    margin-left: 0 !important;\n  }\n  .ms-xl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-xl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-xl-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-xl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-xl-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-xl-auto {\n    margin-left: auto !important;\n  }\n  .p-xl-0 {\n    padding: 0 !important;\n  }\n  .p-xl-1 {\n    padding: 0.25rem !important;\n  }\n  .p-xl-2 {\n    padding: 0.5rem !important;\n  }\n  .p-xl-3 {\n    padding: 1rem !important;\n  }\n  .p-xl-4 {\n    padding: 1.5rem !important;\n  }\n  .p-xl-5 {\n    padding: 3rem !important;\n  }\n  .px-xl-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-xl-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-xl-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-xl-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-xl-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-xl-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-xl-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-xl-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-xl-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-xl-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-xl-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-xl-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-xl-0 {\n    padding-top: 0 !important;\n  }\n  .pt-xl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-xl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-xl-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-xl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-xl-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-xl-0 {\n    padding-right: 0 !important;\n  }\n  .pe-xl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-xl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-xl-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-xl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-xl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-xl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-xl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-xl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-xl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-xl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-xl-0 {\n    padding-left: 0 !important;\n  }\n  .ps-xl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-xl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-xl-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-xl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-xl-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-xl-0 {\n    gap: 0 !important;\n  }\n  .gap-xl-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-xl-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-xl-3 {\n    gap: 1rem !important;\n  }\n  .gap-xl-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-xl-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-xl-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-xl-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-xl-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-xl-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-xl-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-xl-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-xl-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-xl-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-xl-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-xl-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-xl-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-xl-5 {\n    column-gap: 3rem !important;\n  }\n  .text-xl-start {\n    text-align: left !important;\n  }\n  .text-xl-end {\n    text-align: right !important;\n  }\n  .text-xl-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 1400px) {\n  .float-xxl-start {\n    float: left !important;\n  }\n  .float-xxl-end {\n    float: right !important;\n  }\n  .float-xxl-none {\n    float: none !important;\n  }\n  .object-fit-xxl-contain {\n    object-fit: contain !important;\n  }\n  .object-fit-xxl-cover {\n    object-fit: cover !important;\n  }\n  .object-fit-xxl-fill {\n    object-fit: fill !important;\n  }\n  .object-fit-xxl-scale {\n    object-fit: scale-down !important;\n  }\n  .object-fit-xxl-none {\n    object-fit: none !important;\n  }\n  .d-xxl-inline {\n    display: inline !important;\n  }\n  .d-xxl-inline-block {\n    display: inline-block !important;\n  }\n  .d-xxl-block {\n    display: block !important;\n  }\n  .d-xxl-grid {\n    display: grid !important;\n  }\n  .d-xxl-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-xxl-table {\n    display: table !important;\n  }\n  .d-xxl-table-row {\n    display: table-row !important;\n  }\n  .d-xxl-table-cell {\n    display: table-cell !important;\n  }\n  .d-xxl-flex {\n    display: flex !important;\n  }\n  .d-xxl-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-xxl-none {\n    display: none !important;\n  }\n  .flex-xxl-fill {\n    flex: 1 1 auto !important;\n  }\n  .flex-xxl-row {\n    flex-direction: row !important;\n  }\n  .flex-xxl-column {\n    flex-direction: column !important;\n  }\n  .flex-xxl-row-reverse {\n    flex-direction: row-reverse !important;\n  }\n  .flex-xxl-column-reverse {\n    flex-direction: column-reverse !important;\n  }\n  .flex-xxl-grow-0 {\n    flex-grow: 0 !important;\n  }\n  .flex-xxl-grow-1 {\n    flex-grow: 1 !important;\n  }\n  .flex-xxl-shrink-0 {\n    flex-shrink: 0 !important;\n  }\n  .flex-xxl-shrink-1 {\n    flex-shrink: 1 !important;\n  }\n  .flex-xxl-wrap {\n    flex-wrap: wrap !important;\n  }\n  .flex-xxl-nowrap {\n    flex-wrap: nowrap !important;\n  }\n  .flex-xxl-wrap-reverse {\n    flex-wrap: wrap-reverse !important;\n  }\n  .justify-content-xxl-start {\n    justify-content: flex-start !important;\n  }\n  .justify-content-xxl-end {\n    justify-content: flex-end !important;\n  }\n  .justify-content-xxl-center {\n    justify-content: center !important;\n  }\n  .justify-content-xxl-between {\n    justify-content: space-between !important;\n  }\n  .justify-content-xxl-around {\n    justify-content: space-around !important;\n  }\n  .justify-content-xxl-evenly {\n    justify-content: space-evenly !important;\n  }\n  .align-items-xxl-start {\n    align-items: flex-start !important;\n  }\n  .align-items-xxl-end {\n    align-items: flex-end !important;\n  }\n  .align-items-xxl-center {\n    align-items: center !important;\n  }\n  .align-items-xxl-baseline {\n    align-items: baseline !important;\n  }\n  .align-items-xxl-stretch {\n    align-items: stretch !important;\n  }\n  .align-content-xxl-start {\n    align-content: flex-start !important;\n  }\n  .align-content-xxl-end {\n    align-content: flex-end !important;\n  }\n  .align-content-xxl-center {\n    align-content: center !important;\n  }\n  .align-content-xxl-between {\n    align-content: space-between !important;\n  }\n  .align-content-xxl-around {\n    align-content: space-around !important;\n  }\n  .align-content-xxl-stretch {\n    align-content: stretch !important;\n  }\n  .align-self-xxl-auto {\n    align-self: auto !important;\n  }\n  .align-self-xxl-start {\n    align-self: flex-start !important;\n  }\n  .align-self-xxl-end {\n    align-self: flex-end !important;\n  }\n  .align-self-xxl-center {\n    align-self: center !important;\n  }\n  .align-self-xxl-baseline {\n    align-self: baseline !important;\n  }\n  .align-self-xxl-stretch {\n    align-self: stretch !important;\n  }\n  .order-xxl-first {\n    order: -1 !important;\n  }\n  .order-xxl-0 {\n    order: 0 !important;\n  }\n  .order-xxl-1 {\n    order: 1 !important;\n  }\n  .order-xxl-2 {\n    order: 2 !important;\n  }\n  .order-xxl-3 {\n    order: 3 !important;\n  }\n  .order-xxl-4 {\n    order: 4 !important;\n  }\n  .order-xxl-5 {\n    order: 5 !important;\n  }\n  .order-xxl-last {\n    order: 6 !important;\n  }\n  .m-xxl-0 {\n    margin: 0 !important;\n  }\n  .m-xxl-1 {\n    margin: 0.25rem !important;\n  }\n  .m-xxl-2 {\n    margin: 0.5rem !important;\n  }\n  .m-xxl-3 {\n    margin: 1rem !important;\n  }\n  .m-xxl-4 {\n    margin: 1.5rem !important;\n  }\n  .m-xxl-5 {\n    margin: 3rem !important;\n  }\n  .m-xxl-auto {\n    margin: auto !important;\n  }\n  .mx-xxl-0 {\n    margin-right: 0 !important;\n    margin-left: 0 !important;\n  }\n  .mx-xxl-1 {\n    margin-right: 0.25rem !important;\n    margin-left: 0.25rem !important;\n  }\n  .mx-xxl-2 {\n    margin-right: 0.5rem !important;\n    margin-left: 0.5rem !important;\n  }\n  .mx-xxl-3 {\n    margin-right: 1rem !important;\n    margin-left: 1rem !important;\n  }\n  .mx-xxl-4 {\n    margin-right: 1.5rem !important;\n    margin-left: 1.5rem !important;\n  }\n  .mx-xxl-5 {\n    margin-right: 3rem !important;\n    margin-left: 3rem !important;\n  }\n  .mx-xxl-auto {\n    margin-right: auto !important;\n    margin-left: auto !important;\n  }\n  .my-xxl-0 {\n    margin-top: 0 !important;\n    margin-bottom: 0 !important;\n  }\n  .my-xxl-1 {\n    margin-top: 0.25rem !important;\n    margin-bottom: 0.25rem !important;\n  }\n  .my-xxl-2 {\n    margin-top: 0.5rem !important;\n    margin-bottom: 0.5rem !important;\n  }\n  .my-xxl-3 {\n    margin-top: 1rem !important;\n    margin-bottom: 1rem !important;\n  }\n  .my-xxl-4 {\n    margin-top: 1.5rem !important;\n    margin-bottom: 1.5rem !important;\n  }\n  .my-xxl-5 {\n    margin-top: 3rem !important;\n    margin-bottom: 3rem !important;\n  }\n  .my-xxl-auto {\n    margin-top: auto !important;\n    margin-bottom: auto !important;\n  }\n  .mt-xxl-0 {\n    margin-top: 0 !important;\n  }\n  .mt-xxl-1 {\n    margin-top: 0.25rem !important;\n  }\n  .mt-xxl-2 {\n    margin-top: 0.5rem !important;\n  }\n  .mt-xxl-3 {\n    margin-top: 1rem !important;\n  }\n  .mt-xxl-4 {\n    margin-top: 1.5rem !important;\n  }\n  .mt-xxl-5 {\n    margin-top: 3rem !important;\n  }\n  .mt-xxl-auto {\n    margin-top: auto !important;\n  }\n  .me-xxl-0 {\n    margin-right: 0 !important;\n  }\n  .me-xxl-1 {\n    margin-right: 0.25rem !important;\n  }\n  .me-xxl-2 {\n    margin-right: 0.5rem !important;\n  }\n  .me-xxl-3 {\n    margin-right: 1rem !important;\n  }\n  .me-xxl-4 {\n    margin-right: 1.5rem !important;\n  }\n  .me-xxl-5 {\n    margin-right: 3rem !important;\n  }\n  .me-xxl-auto {\n    margin-right: auto !important;\n  }\n  .mb-xxl-0 {\n    margin-bottom: 0 !important;\n  }\n  .mb-xxl-1 {\n    margin-bottom: 0.25rem !important;\n  }\n  .mb-xxl-2 {\n    margin-bottom: 0.5rem !important;\n  }\n  .mb-xxl-3 {\n    margin-bottom: 1rem !important;\n  }\n  .mb-xxl-4 {\n    margin-bottom: 1.5rem !important;\n  }\n  .mb-xxl-5 {\n    margin-bottom: 3rem !important;\n  }\n  .mb-xxl-auto {\n    margin-bottom: auto !important;\n  }\n  .ms-xxl-0 {\n    margin-left: 0 !important;\n  }\n  .ms-xxl-1 {\n    margin-left: 0.25rem !important;\n  }\n  .ms-xxl-2 {\n    margin-left: 0.5rem !important;\n  }\n  .ms-xxl-3 {\n    margin-left: 1rem !important;\n  }\n  .ms-xxl-4 {\n    margin-left: 1.5rem !important;\n  }\n  .ms-xxl-5 {\n    margin-left: 3rem !important;\n  }\n  .ms-xxl-auto {\n    margin-left: auto !important;\n  }\n  .p-xxl-0 {\n    padding: 0 !important;\n  }\n  .p-xxl-1 {\n    padding: 0.25rem !important;\n  }\n  .p-xxl-2 {\n    padding: 0.5rem !important;\n  }\n  .p-xxl-3 {\n    padding: 1rem !important;\n  }\n  .p-xxl-4 {\n    padding: 1.5rem !important;\n  }\n  .p-xxl-5 {\n    padding: 3rem !important;\n  }\n  .px-xxl-0 {\n    padding-right: 0 !important;\n    padding-left: 0 !important;\n  }\n  .px-xxl-1 {\n    padding-right: 0.25rem !important;\n    padding-left: 0.25rem !important;\n  }\n  .px-xxl-2 {\n    padding-right: 0.5rem !important;\n    padding-left: 0.5rem !important;\n  }\n  .px-xxl-3 {\n    padding-right: 1rem !important;\n    padding-left: 1rem !important;\n  }\n  .px-xxl-4 {\n    padding-right: 1.5rem !important;\n    padding-left: 1.5rem !important;\n  }\n  .px-xxl-5 {\n    padding-right: 3rem !important;\n    padding-left: 3rem !important;\n  }\n  .py-xxl-0 {\n    padding-top: 0 !important;\n    padding-bottom: 0 !important;\n  }\n  .py-xxl-1 {\n    padding-top: 0.25rem !important;\n    padding-bottom: 0.25rem !important;\n  }\n  .py-xxl-2 {\n    padding-top: 0.5rem !important;\n    padding-bottom: 0.5rem !important;\n  }\n  .py-xxl-3 {\n    padding-top: 1rem !important;\n    padding-bottom: 1rem !important;\n  }\n  .py-xxl-4 {\n    padding-top: 1.5rem !important;\n    padding-bottom: 1.5rem !important;\n  }\n  .py-xxl-5 {\n    padding-top: 3rem !important;\n    padding-bottom: 3rem !important;\n  }\n  .pt-xxl-0 {\n    padding-top: 0 !important;\n  }\n  .pt-xxl-1 {\n    padding-top: 0.25rem !important;\n  }\n  .pt-xxl-2 {\n    padding-top: 0.5rem !important;\n  }\n  .pt-xxl-3 {\n    padding-top: 1rem !important;\n  }\n  .pt-xxl-4 {\n    padding-top: 1.5rem !important;\n  }\n  .pt-xxl-5 {\n    padding-top: 3rem !important;\n  }\n  .pe-xxl-0 {\n    padding-right: 0 !important;\n  }\n  .pe-xxl-1 {\n    padding-right: 0.25rem !important;\n  }\n  .pe-xxl-2 {\n    padding-right: 0.5rem !important;\n  }\n  .pe-xxl-3 {\n    padding-right: 1rem !important;\n  }\n  .pe-xxl-4 {\n    padding-right: 1.5rem !important;\n  }\n  .pe-xxl-5 {\n    padding-right: 3rem !important;\n  }\n  .pb-xxl-0 {\n    padding-bottom: 0 !important;\n  }\n  .pb-xxl-1 {\n    padding-bottom: 0.25rem !important;\n  }\n  .pb-xxl-2 {\n    padding-bottom: 0.5rem !important;\n  }\n  .pb-xxl-3 {\n    padding-bottom: 1rem !important;\n  }\n  .pb-xxl-4 {\n    padding-bottom: 1.5rem !important;\n  }\n  .pb-xxl-5 {\n    padding-bottom: 3rem !important;\n  }\n  .ps-xxl-0 {\n    padding-left: 0 !important;\n  }\n  .ps-xxl-1 {\n    padding-left: 0.25rem !important;\n  }\n  .ps-xxl-2 {\n    padding-left: 0.5rem !important;\n  }\n  .ps-xxl-3 {\n    padding-left: 1rem !important;\n  }\n  .ps-xxl-4 {\n    padding-left: 1.5rem !important;\n  }\n  .ps-xxl-5 {\n    padding-left: 3rem !important;\n  }\n  .gap-xxl-0 {\n    gap: 0 !important;\n  }\n  .gap-xxl-1 {\n    gap: 0.25rem !important;\n  }\n  .gap-xxl-2 {\n    gap: 0.5rem !important;\n  }\n  .gap-xxl-3 {\n    gap: 1rem !important;\n  }\n  .gap-xxl-4 {\n    gap: 1.5rem !important;\n  }\n  .gap-xxl-5 {\n    gap: 3rem !important;\n  }\n  .row-gap-xxl-0 {\n    row-gap: 0 !important;\n  }\n  .row-gap-xxl-1 {\n    row-gap: 0.25rem !important;\n  }\n  .row-gap-xxl-2 {\n    row-gap: 0.5rem !important;\n  }\n  .row-gap-xxl-3 {\n    row-gap: 1rem !important;\n  }\n  .row-gap-xxl-4 {\n    row-gap: 1.5rem !important;\n  }\n  .row-gap-xxl-5 {\n    row-gap: 3rem !important;\n  }\n  .column-gap-xxl-0 {\n    column-gap: 0 !important;\n  }\n  .column-gap-xxl-1 {\n    column-gap: 0.25rem !important;\n  }\n  .column-gap-xxl-2 {\n    column-gap: 0.5rem !important;\n  }\n  .column-gap-xxl-3 {\n    column-gap: 1rem !important;\n  }\n  .column-gap-xxl-4 {\n    column-gap: 1.5rem !important;\n  }\n  .column-gap-xxl-5 {\n    column-gap: 3rem !important;\n  }\n  .text-xxl-start {\n    text-align: left !important;\n  }\n  .text-xxl-end {\n    text-align: right !important;\n  }\n  .text-xxl-center {\n    text-align: center !important;\n  }\n}\n@media (min-width: 1200px) {\n  .fs-1 {\n    font-size: 2.5rem !important;\n  }\n  .fs-2 {\n    font-size: 2rem !important;\n  }\n  .fs-3 {\n    font-size: 1.75rem !important;\n  }\n  .fs-4 {\n    font-size: 1.5rem !important;\n  }\n}\n@media print {\n  .d-print-inline {\n    display: inline !important;\n  }\n  .d-print-inline-block {\n    display: inline-block !important;\n  }\n  .d-print-block {\n    display: block !important;\n  }\n  .d-print-grid {\n    display: grid !important;\n  }\n  .d-print-inline-grid {\n    display: inline-grid !important;\n  }\n  .d-print-table {\n    display: table !important;\n  }\n  .d-print-table-row {\n    display: table-row !important;\n  }\n  .d-print-table-cell {\n    display: table-cell !important;\n  }\n  .d-print-flex {\n    display: flex !important;\n  }\n  .d-print-inline-flex {\n    display: inline-flex !important;\n  }\n  .d-print-none {\n    display: none !important;\n  }\n}\n\n/*# sourceMappingURL=bootstrap.css.map */\n","@mixin bsBanner($file) {\n  /*!\n   * Bootstrap #{$file} v5.3.8 (https://getbootstrap.com/)\n   * Copyright 2011-2025 The Bootstrap Authors\n   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n   */\n}\n",":root,\n[data-bs-theme=\"light\"] {\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Colors\n  //\n  // Generate palettes for full colors, grays, and theme colors.\n\n  @each $color, $value in $colors {\n    --#{$prefix}#{$color}: #{$value};\n  }\n\n  @each $color, $value in $grays {\n    --#{$prefix}gray-#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-colors {\n    --#{$prefix}#{$color}: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-rgb {\n    --#{$prefix}#{$color}-rgb: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-text {\n    --#{$prefix}#{$color}-text-emphasis: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-bg-subtle {\n    --#{$prefix}#{$color}-bg-subtle: #{$value};\n  }\n\n  @each $color, $value in $theme-colors-border-subtle {\n    --#{$prefix}#{$color}-border-subtle: #{$value};\n  }\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\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  --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{inspect($font-family-base)};\n  @include rfs($font-size-base, --#{$prefix}body-font-size);\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  --#{$prefix}body-color: #{$body-color};\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg: #{$body-bg};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n  --#{$prefix}emphasis-color: #{$body-emphasis-color};\n  --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n  --#{$prefix}secondary-color: #{$body-secondary-color};\n  --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n  --#{$prefix}secondary-bg: #{$body-secondary-bg};\n  --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n  --#{$prefix}tertiary-color: #{$body-tertiary-color};\n  --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n  --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n  --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  --#{$prefix}link-color: #{$link-color};\n  --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n  --#{$prefix}link-decoration: #{$link-decoration};\n\n  --#{$prefix}link-hover-color: #{$link-hover-color};\n  --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n  @if $link-hover-decoration != null {\n    --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n  }\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n  --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  --#{$prefix}focus-ring-width: #{$focus-ring-width};\n  --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n  --#{$prefix}focus-ring-color: #{$focus-ring-color};\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}body-color: #{$body-color-dark};\n    --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n    --#{$prefix}body-bg: #{$body-bg-dark};\n    --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n    --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n    --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n    --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n    --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n    --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n    --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n    --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n    --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n    @each $color, $value in $theme-colors-text-dark {\n      --#{$prefix}#{$color}-text-emphasis: #{$value};\n    }\n\n    @each $color, $value in $theme-colors-bg-subtle-dark {\n      --#{$prefix}#{$color}-bg-subtle: #{$value};\n    }\n\n    @each $color, $value in $theme-colors-border-subtle-dark {\n      --#{$prefix}#{$color}-border-subtle: #{$value};\n    }\n\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}link-color: #{$link-color-dark};\n    --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n    --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n    --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n    --#{$prefix}code-color: #{$code-color-dark};\n    --#{$prefix}highlight-color: #{$mark-color-dark};\n    --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n  @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n  @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n  @error \"`#{$rfs-factor}` is not a valid  $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n  $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n  $dividend: abs($dividend);\n  $divisor: abs($divisor);\n  @if $dividend == 0 {\n    @return 0;\n  }\n  @if $divisor == 0 {\n    @error \"Cannot divide by 0\";\n  }\n  $remainder: $dividend;\n  $result: 0;\n  $factor: 10;\n  @while ($remainder > 0 and $precision >= 0) {\n    $quotient: 0;\n    @while ($remainder >= $divisor) {\n      $remainder: $remainder - $divisor;\n      $quotient: $quotient + 1;\n    }\n    $result: $result * 10 + $quotient;\n    $factor: $factor * .1;\n    $remainder: $remainder * 10;\n    $precision: $precision - 1;\n    @if ($precision < 0 and $remainder >= $divisor * 5) {\n      $result: $result + 1;\n    }\n  }\n  $result: $result * $factor * $sign;\n  $dividend-unit: unit($dividend);\n  $divisor-unit: unit($divisor);\n  $unit-map: (\n    \"px\": 1px,\n    \"rem\": 1rem,\n    \"em\": 1em,\n    \"%\": 1%\n  );\n  @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n    $result: $result * map-get($unit-map, $dividend-unit);\n  }\n  @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n  $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n  $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n  $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n  $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n  @if $rfs-two-dimensional {\n    @if $rfs-mode == max-media-query {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n    @else {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n  }\n  @else {\n    @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n      @content;\n    }\n  }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n  @if $rfs-class == disable and $rfs-mode == max-media-query {\n    // Adding an extra class increases specificity, which prevents the media query to override the property\n    &,\n    .disable-rfs &,\n    &.disable-rfs {\n      @content;\n    }\n  }\n  @else if $rfs-class == enable and $rfs-mode == min-media-query {\n    .enable-rfs &,\n    &.enable-rfs {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n  @if $rfs-class == enable {\n    @if $rfs-mode == min-media-query {\n      @content;\n    }\n\n    @include _rfs-media-query () {\n      .enable-rfs &,\n      &.enable-rfs {\n        @content;\n      }\n    }\n  }\n  @else {\n    @if $rfs-class == disable and $rfs-mode == min-media-query {\n      .disable-rfs &,\n      &.disable-rfs {\n        @content;\n      }\n    }\n    @include _rfs-media-query () {\n      @content;\n    }\n  }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n  // Convert to list\n  $values: if(type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    }\n    @else {\n      // Cache $value unit\n      $unit: if(type-of($value) == \"number\", unit($value), false);\n\n      @if $unit == px {\n        // Convert to rem if needed\n        $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n      }\n      @else if $unit == rem {\n        // Convert to px if needed\n        $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n      } @else {\n        // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n        $val: $val + \" \" + $value;\n      }\n    }\n  }\n\n  // Remove first space\n  @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n  // Convert to list\n  $values: if(type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    } @else {\n      // Cache $value unit\n      $unit: if(type-of($value) == \"number\", unit($value), false);\n\n      // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n      @if not $unit or $unit != px and $unit != rem {\n        $val: $val + \" \" + $value;\n      } @else {\n        // Remove unit from $value for calculations\n        $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n        // Only add the media query if the value is greater than the minimum value\n        @if abs($value) <= $rfs-base-value or not $enable-rfs {\n          $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n        }\n        @else {\n          // Calculate the minimum value\n          $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n          // Calculate difference between $value and the minimum value\n          $value-diff: abs($value) - $value-min;\n\n          // Base value formatting\n          $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n          // Use negative value if needed\n          $min-width: if($value < 0, -$min-width, $min-width);\n\n          // Use `vmin` if two-dimensional is enabled\n          $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n          // Calculate the variable width between 0 and $rfs-breakpoint\n          $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n          // Return the calculated value\n          $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n        }\n      }\n    }\n  }\n\n  // Remove first space\n  @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n  @if $values != null {\n    $val: rfs-value($values);\n    $fluid-val: rfs-fluid-value($values);\n\n    // Do not print the media query if responsive & non-responsive values are the same\n    @if $val == $fluid-val {\n      #{$property}: $val;\n    }\n    @else {\n      @include _rfs-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n        // Include safari iframe resize fix if needed\n        min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n      }\n\n      @include _rfs-media-query-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n      }\n    }\n  }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n  @include rfs($value);\n}\n\n@mixin padding($value) {\n  @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n  @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n  @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n  @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n  @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n  @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n  @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n  @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n  @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n  @include rfs($value, margin-left);\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","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\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    @include font-size(var(--#{$prefix}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\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\nbody {\n  margin: 0; // 1\n  font-family: var(--#{$prefix}body-font-family);\n  @include font-size(var(--#{$prefix}body-font-size));\n  font-weight: var(--#{$prefix}body-font-weight);\n  line-height: var(--#{$prefix}body-line-height);\n  color: var(--#{$prefix}body-color);\n  text-align: var(--#{$prefix}body-text-align);\n  background-color: var(--#{$prefix}body-bg); // 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\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n  margin: $hr-margin-y 0;\n  color: $hr-color; // 1\n  border: 0;\n  border-top: $hr-border-width solid $hr-border-color;\n  opacity: $hr-opacity;\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(--#{$prefix}heading-color);\n}\n\nh1 {\n  @extend %heading;\n  @include font-size($h1-font-size);\n}\n\nh2 {\n  @extend %heading;\n  @include font-size($h2-font-size);\n}\n\nh3 {\n  @extend %heading;\n  @include font-size($h3-font-size);\n}\n\nh4 {\n  @extend %heading;\n  @include font-size($h4-font-size);\n}\n\nh5 {\n  @extend %heading;\n  @include font-size($h5-font-size);\n}\n\nh6 {\n  @extend %heading;\n  @include 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\np {\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\nabbr[title] {\n  text-decoration: underline dotted; // 1\n  cursor: help; // 2\n  text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n  margin-bottom: 1rem;\n  font-style: normal;\n  line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n  padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n  margin-top: 0;\n  margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n  margin-bottom: 0;\n}\n\ndt {\n  font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n  margin-bottom: .5rem;\n  margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n  margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n  font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n  @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n  padding: $mark-padding;\n  color: var(--#{$prefix}highlight-color);\n  background-color: var(--#{$prefix}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\nsub,\nsup {\n  position: relative;\n  @include font-size($sub-sup-font-size);\n  line-height: 0;\n  vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n  color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n  text-decoration: $link-decoration;\n\n  &:hover {\n    --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n    text-decoration: $link-hover-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\na:not([href]):not([class]) {\n  &,\n  &:hover {\n    color: inherit;\n    text-decoration: none;\n  }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n  font-family: $font-family-code;\n  @include 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\npre {\n  display: block;\n  margin-top: 0; // 1\n  margin-bottom: 1rem; // 2\n  overflow: auto; // 3\n  @include 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    @include font-size(inherit);\n    color: inherit;\n    word-break: normal;\n  }\n}\n\ncode {\n  @include font-size($code-font-size);\n  color: var(--#{$prefix}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\nkbd {\n  padding: $kbd-padding-y $kbd-padding-x;\n  @include 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    @include font-size(1em);\n    font-weight: $nested-kbd-font-weight;\n  }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n  margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n  vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n  caption-side: bottom;\n  border-collapse: collapse;\n}\n\ncaption {\n  padding-top: $table-cell-padding-y;\n  padding-bottom: $table-cell-padding-y;\n  color: $table-caption-color;\n  text-align: left;\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\nth {\n  font-weight: $table-th-font-weight; // 1\n  text-align: inherit; // 2\n  text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\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\nlabel {\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\nbutton {\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\nbutton:focus:not(:focus-visible) {\n  outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n  margin: 0; // 1\n  font-family: inherit;\n  @include font-size(inherit);\n  line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\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\nselect {\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\nbutton,\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\ntextarea {\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\nfieldset {\n  min-width: 0; // 1\n  padding: 0; // 2\n  margin: 0; // 2\n  border: 0; // 2\n}\n\n// 1. By using `float: left`, 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\nlegend {\n  float: left; // 1\n  width: 100%;\n  padding: 0;\n  margin-bottom: $legend-margin-bottom;\n  font-weight: $legend-font-weight;\n  line-height: inherit;\n  @include font-size($legend-font-size);\n\n  + * {\n    clear: left; // 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// 1. A few input types should stay LTR\n// See https://rtlstyling.com/posts/rtl-styling#form-inputs\n// 2. RTL only output\n// See https://rtlcss.com/learn/usage-guide/control-directives/#raw\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n  direction: ltr;\n}\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\noutput {\n  display: inline-block;\n}\n\n// Remove border from iframe\n\niframe {\n  border: 0;\n}\n\n// Summary\n//\n// 1. Add the correct display in all browsers\n\nsummary {\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\nprogress {\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","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white:    #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black:    #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n  \"100\": $gray-100,\n  \"200\": $gray-200,\n  \"300\": $gray-300,\n  \"400\": $gray-400,\n  \"500\": $gray-500,\n  \"600\": $gray-600,\n  \"700\": $gray-700,\n  \"800\": $gray-800,\n  \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue:    #0d6efd !default;\n$indigo:  #6610f2 !default;\n$purple:  #6f42c1 !default;\n$pink:    #d63384 !default;\n$red:     #dc3545 !default;\n$orange:  #fd7e14 !default;\n$yellow:  #ffc107 !default;\n$green:   #198754 !default;\n$teal:    #20c997 !default;\n$cyan:    #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n  \"blue\":       $blue,\n  \"indigo\":     $indigo,\n  \"purple\":     $purple,\n  \"pink\":       $pink,\n  \"red\":        $red,\n  \"orange\":     $orange,\n  \"yellow\":     $yellow,\n  \"green\":      $green,\n  \"teal\":       $teal,\n  \"cyan\":       $cyan,\n  \"black\":      $black,\n  \"white\":      $white,\n  \"gray\":       $gray-600,\n  \"gray-dark\":  $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.2 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG/#contrast-minimum\n$min-contrast-ratio:   4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark:      $black !default;\n$color-contrast-light:     $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n  \"blue-100\": $blue-100,\n  \"blue-200\": $blue-200,\n  \"blue-300\": $blue-300,\n  \"blue-400\": $blue-400,\n  \"blue-500\": $blue-500,\n  \"blue-600\": $blue-600,\n  \"blue-700\": $blue-700,\n  \"blue-800\": $blue-800,\n  \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n  \"indigo-100\": $indigo-100,\n  \"indigo-200\": $indigo-200,\n  \"indigo-300\": $indigo-300,\n  \"indigo-400\": $indigo-400,\n  \"indigo-500\": $indigo-500,\n  \"indigo-600\": $indigo-600,\n  \"indigo-700\": $indigo-700,\n  \"indigo-800\": $indigo-800,\n  \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n  \"purple-100\": $purple-100,\n  \"purple-200\": $purple-200,\n  \"purple-300\": $purple-300,\n  \"purple-400\": $purple-400,\n  \"purple-500\": $purple-500,\n  \"purple-600\": $purple-600,\n  \"purple-700\": $purple-700,\n  \"purple-800\": $purple-800,\n  \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n  \"pink-100\": $pink-100,\n  \"pink-200\": $pink-200,\n  \"pink-300\": $pink-300,\n  \"pink-400\": $pink-400,\n  \"pink-500\": $pink-500,\n  \"pink-600\": $pink-600,\n  \"pink-700\": $pink-700,\n  \"pink-800\": $pink-800,\n  \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n  \"red-100\": $red-100,\n  \"red-200\": $red-200,\n  \"red-300\": $red-300,\n  \"red-400\": $red-400,\n  \"red-500\": $red-500,\n  \"red-600\": $red-600,\n  \"red-700\": $red-700,\n  \"red-800\": $red-800,\n  \"red-900\": $red-900\n) !default;\n\n$oranges: (\n  \"orange-100\": $orange-100,\n  \"orange-200\": $orange-200,\n  \"orange-300\": $orange-300,\n  \"orange-400\": $orange-400,\n  \"orange-500\": $orange-500,\n  \"orange-600\": $orange-600,\n  \"orange-700\": $orange-700,\n  \"orange-800\": $orange-800,\n  \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n  \"yellow-100\": $yellow-100,\n  \"yellow-200\": $yellow-200,\n  \"yellow-300\": $yellow-300,\n  \"yellow-400\": $yellow-400,\n  \"yellow-500\": $yellow-500,\n  \"yellow-600\": $yellow-600,\n  \"yellow-700\": $yellow-700,\n  \"yellow-800\": $yellow-800,\n  \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n  \"green-100\": $green-100,\n  \"green-200\": $green-200,\n  \"green-300\": $green-300,\n  \"green-400\": $green-400,\n  \"green-500\": $green-500,\n  \"green-600\": $green-600,\n  \"green-700\": $green-700,\n  \"green-800\": $green-800,\n  \"green-900\": $green-900\n) !default;\n\n$teals: (\n  \"teal-100\": $teal-100,\n  \"teal-200\": $teal-200,\n  \"teal-300\": $teal-300,\n  \"teal-400\": $teal-400,\n  \"teal-500\": $teal-500,\n  \"teal-600\": $teal-600,\n  \"teal-700\": $teal-700,\n  \"teal-800\": $teal-800,\n  \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n  \"cyan-100\": $cyan-100,\n  \"cyan-200\": $cyan-200,\n  \"cyan-300\": $cyan-300,\n  \"cyan-400\": $cyan-400,\n  \"cyan-500\": $cyan-500,\n  \"cyan-600\": $cyan-600,\n  \"cyan-700\": $cyan-700,\n  \"cyan-800\": $cyan-800,\n  \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// scss-docs-start theme-color-variables\n$primary:       $blue !default;\n$secondary:     $gray-600 !default;\n$success:       $green !default;\n$info:          $cyan !default;\n$warning:       $yellow !default;\n$danger:        $red !default;\n$light:         $gray-100 !default;\n$dark:          $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// scss-docs-start theme-text-variables\n$primary-text-emphasis:   shade-color($primary, 60%) !default;\n$secondary-text-emphasis: shade-color($secondary, 60%) !default;\n$success-text-emphasis:   shade-color($success, 60%) !default;\n$info-text-emphasis:      shade-color($info, 60%) !default;\n$warning-text-emphasis:   shade-color($warning, 60%) !default;\n$danger-text-emphasis:    shade-color($danger, 60%) !default;\n$light-text-emphasis:     $gray-700 !default;\n$dark-text-emphasis:      $gray-700 !default;\n// scss-docs-end theme-text-variables\n\n// scss-docs-start theme-bg-subtle-variables\n$primary-bg-subtle:       tint-color($primary, 80%) !default;\n$secondary-bg-subtle:     tint-color($secondary, 80%) !default;\n$success-bg-subtle:       tint-color($success, 80%) !default;\n$info-bg-subtle:          tint-color($info, 80%) !default;\n$warning-bg-subtle:       tint-color($warning, 80%) !default;\n$danger-bg-subtle:        tint-color($danger, 80%) !default;\n$light-bg-subtle:         mix($gray-100, $white) !default;\n$dark-bg-subtle:          $gray-400 !default;\n// scss-docs-end theme-bg-subtle-variables\n\n// scss-docs-start theme-border-subtle-variables\n$primary-border-subtle:   tint-color($primary, 60%) !default;\n$secondary-border-subtle: tint-color($secondary, 60%) !default;\n$success-border-subtle:   tint-color($success, 60%) !default;\n$info-border-subtle:      tint-color($info, 60%) !default;\n$warning-border-subtle:   tint-color($warning, 60%) !default;\n$danger-border-subtle:    tint-color($danger, 60%) !default;\n$light-border-subtle:     $gray-200 !default;\n$dark-border-subtle:      $gray-500 !default;\n// scss-docs-end theme-border-subtle-variables\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$enable-important-utilities:  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\n$variable-prefix:             bs- !default; // Deprecated in v5.2.0 for the shorter `$prefix`\n$prefix:                      $variable-prefix !default;\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$body-color:                $gray-900 !default;\n$body-bg:                   $white !default;\n\n$body-secondary-color:      rgba($body-color, .75) !default;\n$body-secondary-bg:         $gray-200 !default;\n\n$body-tertiary-color:       rgba($body-color, .5) !default;\n$body-tertiary-bg:          $gray-100 !default;\n\n$body-emphasis-color:       $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              $primary !default;\n$link-decoration:                         underline !default;\n$link-shade-percentage:                   20% !default;\n$link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration:                   null !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// 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: 992px,\n  xl: 1200px,\n  xxl: 1400px\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\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: 1140px,\n  xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\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// Container padding\n\n$container-padding-x: $grid-gutter-width !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:                $gray-300 !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .375rem !default;\n$border-radius-sm:            .25rem !default;\n$border-radius-lg:            .5rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-xxl:           2rem !default;\n$border-radius-pill:          50rem !default;\n// scss-docs-end border-radius-variables\n// fusv-disable\n$border-radius-2xl:           $border-radius-xxl !default; // Deprecated in v5.3.0\n// fusv-enable\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$component-active-color:      $white !default;\n$component-active-bg:         $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      rgba($primary, $focus-ring-opacity) !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// scss-docs-start caret-variables\n$caret-width:                 .3em !default;\n$caret-vertical-align:        $caret-width * .85 !default;\n$caret-spacing:               $caret-width * .85 !default;\n// scss-docs-end caret-variables\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// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n  \"1x1\": 100%,\n  \"4x3\": calc(3 / 4 * 100%),\n  \"16x9\": calc(9 / 16 * 100%),\n  \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\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(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}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:              null !default;\n$font-size-base:              1rem !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:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n  1: $h1-font-size,\n  2: $h2-font-size,\n  3: $h3-font-size,\n  4: $h4-font-size,\n  5: $h5-font-size,\n  6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\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 display-headings\n$display-font-sizes: (\n  1: 5rem,\n  2: 4.5rem,\n  3: 4rem,\n  4: 3.5rem,\n  5: 3rem,\n  6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style:  null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size:              $font-size-base * 1.25 !default;\n$lead-font-weight:            300 !default;\n\n$small-font-size:             .875em !default;\n\n$sub-sup-font-size:           .75em !default;\n\n// fusv-disable\n$text-muted:                  var(--#{$prefix}secondary-color) !default; // Deprecated in 5.3.0\n// fusv-enable\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:     $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n// fusv-disable\n$hr-bg-color:                 null !default; // Deprecated in v5.2.0\n$hr-height:                   null !default; // Deprecated in v5.2.0\n// fusv-enable\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}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:                  $body-color !default;\n$mark-bg:                     $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\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(--#{$prefix}emphasis-color) !default;\n$table-bg:                    var(--#{$prefix}body-bg) !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:            rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor:         .2 !default;\n$table-border-width:          var(--#{$prefix}border-width) !default;\n$table-border-color:          var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale:              -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n  \"primary\":    shift-color($primary, $table-bg-scale),\n  \"secondary\":  shift-color($secondary, $table-bg-scale),\n  \"success\":    shift-color($success, $table-bg-scale),\n  \"info\":       shift-color($info, $table-bg-scale),\n  \"warning\":    shift-color($warning, $table-bg-scale),\n  \"danger\":     shift-color($danger, $table-bg-scale),\n  \"light\":      $light,\n  \"dark\":       $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\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(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}body-color) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     $gray-600 !default;\n$btn-link-focus-shadow-rgb:   to-rgb(mix(color-contrast($link-color), $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount:       15% !default;\n$btn-hover-bg-tint-amount:        15% !default;\n$btn-hover-border-shade-amount:   20% !default;\n$btn-hover-border-tint-amount:    10% !default;\n$btn-active-bg-shade-amount:      20% !default;\n$btn-active-bg-tint-amount:       20% !default;\n$btn-active-border-shade-amount:  25% !default;\n$btn-active-border-tint-amount:   10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\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(--#{$prefix}secondary-color) !default;\n// scss-docs-end form-text-variables\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// 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(--#{$prefix}body-bg) !default;\n$input-disabled-color:                  null !default;\n$input-disabled-bg:                     var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color:           null !default;\n\n$input-color:                           var(--#{$prefix}body-color) !default;\n$input-border-color:                    var(--#{$prefix}border-color) !default;\n$input-border-width:                    $input-btn-border-width !default;\n$input-box-shadow:                      var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius:                   var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm:                var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg:                var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              tint-color($component-active-bg, 50%) !default;\n$input-focus-color:                     $input-color !default;\n$input-focus-width:                     $input-btn-focus-width !default;\n$input-focus-box-shadow:                $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color:               var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color:                 var(--#{$prefix}body-color) !default;\n\n$input-height-border:                   calc(#{$input-border-width} * 2) !default; // stylelint-disable-line function-disallowed-list\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\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-check-variables\n$form-check-input-width:                  1em !default;\n$form-check-min-height:                   $font-size-base * $line-height-base !default;\n$form-check-padding-start:                $form-check-input-width + .5em !default;\n$form-check-margin-bottom:                .125rem !default;\n$form-check-label-color:                  null !default;\n$form-check-label-cursor:                 null !default;\n$form-check-transition:                   null !default;\n\n$form-check-input-active-filter:          brightness(90%) !default;\n\n$form-check-input-bg:                     $input-bg !default;\n$form-check-input-border:                 var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius:          .25em !default;\n$form-check-radio-border-radius:          50% !default;\n$form-check-input-focus-border:           $input-focus-border-color !default;\n$form-check-input-focus-box-shadow:       $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color:          $component-active-color !default;\n$form-check-input-checked-bg-color:       $component-active-bg !default;\n$form-check-input-checked-border-color:   $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color:          $component-active-color !default;\n$form-check-input-indeterminate-bg-color:       $component-active-bg !default;\n$form-check-input-indeterminate-border-color:   $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity:        .5 !default;\n$form-check-label-disabled-opacity:        $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity:    $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end:    1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color:               rgba($black, .25) !default;\n$form-switch-width:               2em !default;\n$form-switch-padding-start:       $form-switch-width + .5em !default;\n$form-switch-bg-image:            url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius:       $form-switch-width !default;\n$form-switch-transition:          background-position .15s ease-in-out !default;\n\n$form-switch-focus-color:         $input-focus-border-color !default;\n$form-switch-focus-bg-image:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color:       $component-active-color !default;\n$form-switch-checked-bg-image:    url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\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(--#{$prefix}tertiary-bg) !default;\n$input-group-addon-border-color:        $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y:             $input-padding-y !default;\n$form-select-padding-x:             $input-padding-x !default;\n$form-select-font-family:           $input-font-family !default;\n$form-select-font-size:             $input-font-size !default;\n$form-select-indicator-padding:     $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight:           $input-font-weight !default;\n$form-select-line-height:           $input-line-height !default;\n$form-select-color:                 $input-color !default;\n$form-select-bg:                    $input-bg !default;\n$form-select-disabled-color:        null !default;\n$form-select-disabled-bg:           $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position:           right $form-select-padding-x center !default;\n$form-select-bg-size:               16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color:       $gray-800 !default;\n$form-select-indicator:             url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position:    center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size:        $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width:        $input-border-width !default;\n$form-select-border-color:        $input-border-color !default;\n$form-select-border-radius:       $input-border-radius !default;\n$form-select-box-shadow:          var(--#{$prefix}box-shadow-inset) !default;\n\n$form-select-focus-border-color:  $input-focus-border-color !default;\n$form-select-focus-width:         $input-focus-width !default;\n$form-select-focus-box-shadow:    0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm:        $input-padding-y-sm !default;\n$form-select-padding-x-sm:        $input-padding-x-sm !default;\n$form-select-font-size-sm:        $input-font-size-sm !default;\n$form-select-border-radius-sm:    $input-border-radius-sm !default;\n\n$form-select-padding-y-lg:        $input-padding-y-lg !default;\n$form-select-padding-x-lg:        $input-padding-x-lg !default;\n$form-select-font-size-lg:        $input-font-size-lg !default;\n$form-select-border-radius-lg:    $input-border-radius-lg !default;\n\n$form-select-transition:          $input-transition !default;\n// scss-docs-end form-select-variables\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(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--#{$prefix}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-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--#{$prefix}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// scss-docs-start form-file-variables\n$form-file-button-color:          $input-color !default;\n$form-file-button-bg:             var(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height:                  add(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:    $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// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top:          $form-text-margin-top !default;\n$form-feedback-font-size:           $form-text-font-size !default;\n$form-feedback-font-style:          $form-text-font-style !default;\n$form-feedback-valid-color:         $success !default;\n$form-feedback-invalid-color:       $danger !default;\n\n$form-feedback-icon-valid-color:    $form-feedback-valid-color !default;\n$form-feedback-icon-valid:          url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' 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(--#{$prefix}form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}success),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-valid-border-color),\n  ),\n  \"invalid\": (\n    \"color\": var(--#{$prefix}form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}danger),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-invalid-border-color),\n  )\n) !default;\n// scss-docs-end form-validation-states\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-modal-backdrop:             1050 !default;\n$zindex-modal:                      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// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-font-size:                null !default;\n$nav-link-font-weight:              null !default;\n$nav-link-color:                    var(--#{$prefix}link-color) !default;\n$nav-link-hover-color:              var(--#{$prefix}link-hover-color) !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(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow:         $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color:             var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width:             var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius:            var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color:        var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg:           var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius:           var(--#{$prefix}border-radius) !default;\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(--#{$prefix}emphasis-color) !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\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:         .5rem !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$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-padding-y:            ($nav-link-height - $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:      $btn-border-radius !default;\n$navbar-toggler-focus-width:        $btn-focus-width !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                rgba(var(--#{$prefix}emphasis-color-rgb), .65) !default;\n$navbar-light-hover-color:          rgba(var(--#{$prefix}emphasis-color-rgb), .8) !default;\n$navbar-light-active-color:         rgba(var(--#{$prefix}emphasis-color-rgb), 1) !default;\n$navbar-light-disabled-color:       rgba(var(--#{$prefix}emphasis-color-rgb), .3) !default;\n$navbar-light-icon-color:           rgba($body-color, .75) !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: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !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\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                0 !default;\n$dropdown-padding-y:                .5rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--#{$prefix}body-color) !default;\n$dropdown-bg:                       var(--#{$prefix}body-bg) !default;\n$dropdown-border-color:             var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius:            var(--#{$prefix}border-radius) !default;\n$dropdown-border-width:             var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .5 !default;\n$dropdown-box-shadow:               var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color:               var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--#{$prefix}tertiary-bg) !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(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer !default;\n\n$dropdown-header-color:             $gray-600 !default;\n$dropdown-header-padding-x:         $dropdown-item-padding-x !default;\n$dropdown-header-padding-y:         $dropdown-padding-y !default;\n// fusv-disable\n$dropdown-header-padding:           $dropdown-header-padding-y $dropdown-header-padding-x !default; // Deprecated in v5.2.0\n// fusv-enable\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color:               $gray-300 !default;\n$dropdown-dark-bg:                  $gray-800 !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: $gray-500 !default;\n$dropdown-dark-header-color:        $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\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(--#{$prefix}link-color) !default;\n$pagination-bg:                     var(--#{$prefix}body-bg) !default;\n$pagination-border-radius:          var(--#{$prefix}border-radius) !default;\n$pagination-border-width:           var(--#{$prefix}border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$pagination-border-color:           var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg:               var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow:       $focus-ring-box-shadow !default;\n$pagination-focus-outline:          0 !default;\n\n$pagination-hover-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg:               var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color:     var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg:            var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color:  var(--#{$prefix}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(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--#{$prefix}border-radius-lg) !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\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// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y:                     $spacer !default;\n$card-spacer-x:                     $spacer !default;\n$card-title-spacer-y:               $spacer * .5 !default;\n$card-title-color:                  null !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--#{$prefix}border-width) !default;\n$card-border-color:                 var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius:                var(--#{$prefix}border-radius) !default;\n$card-box-shadow:                   null !default;\n$card-inner-border-radius:          subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y:                $card-spacer-y * .5 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y:                     1rem !default;\n$accordion-padding-x:                     1.25rem !default;\n$accordion-color:                         var(--#{$prefix}body-color) !default;\n$accordion-bg:                            var(--#{$prefix}body-bg) !default;\n$accordion-border-width:                  var(--#{$prefix}border-width) !default;\n$accordion-border-color:                  var(--#{$prefix}border-color) !default;\n$accordion-border-radius:                 var(--#{$prefix}border-radius) !default;\n$accordion-inner-border-radius:           subtract($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(--#{$prefix}body-color) !default;\n$accordion-button-bg:                     var(--#{$prefix}accordion-bg) !default;\n$accordion-transition:                    $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--#{$prefix}primary-bg-subtle) !default;\n$accordion-button-active-color:           var(--#{$prefix}primary-text-emphasis) !default;\n\n// fusv-disable\n$accordion-button-focus-border-color:     $input-focus-border-color !default; // Deprecated in v5.3.3\n// fusv-enable\n$accordion-button-focus-box-shadow:       $btn-focus-box-shadow !default;\n\n$accordion-icon-width:                    1.25rem !default;\n$accordion-icon-color:                    $body-color !default;\n$accordion-icon-active-color:             $primary-text-emphasis !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n\n$accordion-button-icon:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n$accordion-button-active-icon:  url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#{$accordion-icon-active-color}' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 $font-size-sm !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--#{$prefix}body-bg) !default;\n$tooltip-bg:                        var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius:             var(--#{$prefix}border-radius) !default;\n$tooltip-opacity:                   .9 !default;\n$tooltip-padding-y:                 $spacer * .25 !default;\n$tooltip-padding-x:                 $spacer * .5 !default;\n$tooltip-margin:                    null !default; // TODO: remove this in v6\n\n$tooltip-arrow-width:               .8rem !default;\n$tooltip-arrow-height:              .4rem !default;\n// fusv-disable\n$tooltip-arrow-color:               null !default; // Deprecated in Bootstrap 5.2.0 for CSS variables\n// fusv-enable\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// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size:                 $font-size-sm !default;\n$popover-bg:                        var(--#{$prefix}body-bg) !default;\n$popover-max-width:                 276px !default;\n$popover-border-width:              var(--#{$prefix}border-width) !default;\n$popover-border-color:              var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius:             var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default; // stylelint-disable-line function-disallowed-list\n$popover-box-shadow:                var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--#{$prefix}secondary-bg) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          .5rem !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--#{$prefix}body-color) !default;\n$popover-body-padding-y:            $spacer !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// fusv-disable\n// Deprecated in Bootstrap 5.2.0 for CSS variables\n$popover-arrow-color:               $popover-bg !default;\n$popover-arrow-outer-color:         var(--#{$prefix}border-color-translucent) !default;\n// fusv-enable\n\n\n// Toasts\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(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width:                var(--#{$prefix}border-width) !default;\n$toast-border-color:                var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius:               var(--#{$prefix}border-radius) !default;\n$toast-box-shadow:                  var(--#{$prefix}box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color:     rgba(var(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-header-border-color:         $toast-border-color !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size:                   .75em !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-color:                       $white !default;\n$badge-padding-y:                   .35em !default;\n$badge-padding-x:                   .65em !default;\n$badge-border-radius:               var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding:               $spacer !default;\n\n$modal-footer-margin-between:       .5rem !default;\n\n$modal-dialog-margin:               .5rem !default;\n$modal-dialog-margin-y-sm-up:       1.75rem !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-color:               var(--#{$prefix}body-color) !default;\n$modal-content-bg:                  var(--#{$prefix}body-bg) !default;\n$modal-content-border-color:        var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width:        var(--#{$prefix}border-width) !default;\n$modal-content-border-radius:       var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs:       var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up:    var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n\n$modal-header-border-color:         var(--#{$prefix}border-color) !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-header-padding-y:            $modal-inner-padding !default;\n$modal-header-padding-x:            $modal-inner-padding !default;\n$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg:                   null !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n\n$modal-sm:                          300px !default;\n$modal-md:                          500px !default;\n$modal-lg:                          800px !default;\n$modal-xl:                          1140px !default;\n\n$modal-fade-transform:              translate(0, -50px) !default;\n$modal-show-transform:              none !default;\n$modal-transition:                  transform .3s ease-out !default;\n$modal-scale-transform:             scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-margin-bottom:           1rem !default;\n$alert-border-radius:           var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight:        $font-weight-bold !default;\n$alert-border-width:            var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r:   $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n// fusv-disable\n$alert-bg-scale:                -80% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-border-scale:            -70% !default; // Deprecated in v5.2.0, to be removed in v6\n$alert-color-scale:             40% !default; // Deprecated in v5.2.0, to be removed in v6\n// fusv-enable\n\n// Progress bars\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(--#{$prefix}secondary-bg) !default;\n$progress-border-radius:            var(--#{$prefix}border-radius) !default;\n$progress-box-shadow:               var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   $primary !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// List group\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--#{$prefix}body-color) !default;\n$list-group-bg:                     var(--#{$prefix}body-bg) !default;\n$list-group-border-color:           var(--#{$prefix}border-color) !default;\n$list-group-border-width:           var(--#{$prefix}border-width) !default;\n$list-group-border-radius:          var(--#{$prefix}border-radius) !default;\n\n$list-group-item-padding-y:         $spacer * .5 !default;\n$list-group-item-padding-x:         $spacer !default;\n// fusv-disable\n$list-group-item-bg-scale:          -80% !default; // Deprecated in v5.3.0\n$list-group-item-color-scale:       40% !default; // Deprecated in v5.3.0\n// fusv-enable\n\n$list-group-hover-bg:               var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color:     var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color:    var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg:       var(--#{$prefix}secondary-bg) !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding:                 .25rem !default;\n$thumbnail-bg:                      var(--#{$prefix}body-bg) !default;\n$thumbnail-border-width:            var(--#{$prefix}border-width) !default;\n$thumbnail-border-color:            var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius:           var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow:              var(--#{$prefix}box-shadow-sm) !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size:          $small-font-size !default;\n$figure-caption-color:              var(--#{$prefix}secondary-color) !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\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-item-padding-x:         .5rem !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color:           var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider:                quote(\"/\") !default;\n$breadcrumb-divider-flipped:        $breadcrumb-divider !default;\n$breadcrumb-border-radius:          null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\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-dark-indicator-active-bg:  $black !default; // Deprecated in v5.3.4\n$carousel-dark-caption-color:        $black !default; // Deprecated in v5.3.4\n$carousel-dark-control-icon-filter:  invert(1) grayscale(100) !default; // Deprecated in v5.3.4\n// scss-docs-end carousel-dark-variables\n\n\n// Spinners\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// Close\n\n// scss-docs-start close-variables\n$btn-close-width:            1em !default;\n$btn-close-height:           $btn-close-width !default;\n$btn-close-padding-x:        .25em !default;\n$btn-close-padding-y:        $btn-close-padding-x !default;\n$btn-close-color:            $black !default;\n$btn-close-bg:               url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>\") !default;\n$btn-close-focus-shadow:     $focus-ring-box-shadow !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-filter:           null !default;\n$btn-close-white-filter:     invert(1) grayscale(100%) brightness(200%) !default; // Deprecated in v5.3.4\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $modal-inner-padding !default;\n$offcanvas-padding-x:               $modal-inner-padding !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            $modal-content-border-color !default;\n$offcanvas-border-width:            $modal-content-border-width !default;\n$offcanvas-title-line-height:       $modal-title-line-height !default;\n$offcanvas-bg-color:                var(--#{$prefix}body-bg) !default;\n$offcanvas-color:                   var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow:              $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg:             $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity:        $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    $small-font-size !default;\n$code-color:                        $pink !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(--#{$prefix}body-bg) !default;\n$kbd-bg:                            var(--#{$prefix}body-color) !default;\n$nested-kbd-font-weight:            null !default; // Deprecated in v5.2.0, removing in v6\n\n$pre-color:                         null !default;\n\n@import \"variables-dark\"; // TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3\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 type-of($value) == number {\n      $return: append($return, max($value, 0));\n    } @else {\n      $return: append($return, $value);\n    }\n  }\n  @return $return;\n}\n\n// 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-top-left-radius: valid-radius($radius);\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n// scss-docs-end border-radius-mixins\n","//\n// Headings\n//\n.h1 {\n  @extend h1;\n}\n\n.h2 {\n  @extend h2;\n}\n\n.h3 {\n  @extend h3;\n}\n\n.h4 {\n  @extend h4;\n}\n\n.h5 {\n  @extend h5;\n}\n\n.h6 {\n  @extend h6;\n}\n\n\n.lead {\n  @include font-size($lead-font-size);\n  font-weight: $lead-font-weight;\n}\n\n// Type display classes\n@each $display, $font-size in $display-font-sizes {\n  .display-#{$display} {\n    font-family: $display-font-family;\n    font-style: $display-font-style;\n    font-weight: $display-font-weight;\n    line-height: $display-line-height;\n    @include font-size($font-size);\n  }\n}\n\n//\n// Emphasis\n//\n.small {\n  @extend small;\n}\n\n.mark {\n  @extend mark;\n}\n\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-right: $list-inline-padding;\n  }\n}\n\n\n//\n// Misc\n//\n\n// Builds on `abbr`\n.initialism {\n  @include font-size($initialism-font-size);\n  text-transform: uppercase;\n}\n\n// Blockquotes\n.blockquote {\n  margin-bottom: $blockquote-margin-y;\n  @include 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  @include font-size($blockquote-footer-font-size);\n  color: $blockquote-footer-color;\n\n  &::before {\n    content: \"\\2014\\00A0\"; // em dash, nbsp\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-left: 0;\n  list-style: none;\n}\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  @include font-size($figure-caption-font-size);\n  color: $figure-caption-color;\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","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\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      %responsive-container-#{$breakpoint} {\n        max-width: $container-max-width;\n      }\n\n      // Extend each breakpoint which is smaller or equal to the current breakpoint\n      $extend-breakpoint: true;\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","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  width: 100%;\n  padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n  padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n  margin-right: auto;\n  margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n//    (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\n//    md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n  $n: index($breakpoint-names, $name);\n  @if not $n {\n    @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n  }\n  @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map-get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n//    >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $max: map-get($breakpoints, $name);\n  @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","// Row\n//\n// Rows contain your columns.\n\n:root {\n  @each $name, $value in $grid-breakpoints {\n    --#{$prefix}breakpoint-#{$name}: #{$value};\n  }\n}\n\n@if $enable-grid-classes {\n  .row {\n    @include make-row();\n\n    > * {\n      @include make-col-ready();\n    }\n  }\n}\n\n@if $enable-cssgrid {\n  .grid {\n    display: grid;\n    grid-template-rows: repeat(var(--#{$prefix}rows, 1), 1fr);\n    grid-template-columns: repeat(var(--#{$prefix}columns, #{$grid-columns}), 1fr);\n    gap: var(--#{$prefix}gap, #{$grid-gutter-width});\n\n    @include make-cssgrid();\n  }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n  @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}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-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list\n  margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n  margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, 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-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n  padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n  margin-top: var(--#{$prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n  @if $size {\n    flex: 0 0 auto;\n    width: percentage(divide($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: divide($size, $columns);\n  margin-left: if($num == 0, 0, 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: percentage(divide(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          --#{$prefix}gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --#{$prefix}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","//\n// Basic Bootstrap table\n//\n\n.table {\n  // Reset needed for nesting tables\n  --#{$prefix}table-color-type: initial;\n  --#{$prefix}table-bg-type: initial;\n  --#{$prefix}table-color-state: initial;\n  --#{$prefix}table-bg-state: initial;\n  // End of reset\n  --#{$prefix}table-color: #{$table-color};\n  --#{$prefix}table-bg: #{$table-bg};\n  --#{$prefix}table-border-color: #{$table-border-color};\n  --#{$prefix}table-accent-bg: #{$table-accent-bg};\n  --#{$prefix}table-striped-color: #{$table-striped-color};\n  --#{$prefix}table-striped-bg: #{$table-striped-bg};\n  --#{$prefix}table-active-color: #{$table-active-color};\n  --#{$prefix}table-active-bg: #{$table-active-bg};\n  --#{$prefix}table-hover-color: #{$table-hover-color};\n  --#{$prefix}table-hover-bg: #{$table-hover-bg};\n\n  width: 100%;\n  margin-bottom: $spacer;\n  vertical-align: $table-cell-vertical-align;\n  border-color: var(--#{$prefix}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(--#{$prefix}table-color-state, var(--#{$prefix}table-color-type, var(--#{$prefix}table-color)));\n    background-color: var(--#{$prefix}table-bg);\n    border-bottom-width: $table-border-width;\n    box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-bg-state, var(--#{$prefix}table-bg-type, var(--#{$prefix}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-top: calc(#{$table-border-width} * 2) solid $table-group-separator-color; // stylelint-disable-line function-disallowed-list\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-bottom-width: 0;\n  }\n\n  > :not(:first-child) {\n    border-top-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    --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);\n    --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);\n  }\n}\n\n// For columns\n.table-striped-columns {\n  > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n    --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);\n    --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);\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  --#{$prefix}table-color-state: var(--#{$prefix}table-active-color);\n  --#{$prefix}table-bg-state: var(--#{$prefix}table-active-bg);\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    --#{$prefix}table-color-state: var(--#{$prefix}table-hover-color);\n    --#{$prefix}table-bg-state: var(--#{$prefix}table-hover-bg);\n  }\n}\n\n\n// Table variants\n//\n// Table variants set the table cell backgrounds, border colors\n// and the colors of the striped, hovered & active tables\n\n@each $color, $value in $table-variants {\n  @include table-variant($color, $value);\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","// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n  .table-#{$state} {\n    $color: color-contrast(opaque($body-bg, $background));\n    $hover-bg: mix($color, $background, percentage($table-hover-bg-factor));\n    $striped-bg: mix($color, $background, percentage($table-striped-bg-factor));\n    $active-bg: mix($color, $background, percentage($table-active-bg-factor));\n    $table-border-color: mix($color, $background, percentage($table-border-factor));\n\n    --#{$prefix}table-color: #{$color};\n    --#{$prefix}table-bg: #{$background};\n    --#{$prefix}table-border-color: #{$table-border-color};\n    --#{$prefix}table-striped-bg: #{$striped-bg};\n    --#{$prefix}table-striped-color: #{color-contrast($striped-bg)};\n    --#{$prefix}table-active-bg: #{$active-bg};\n    --#{$prefix}table-active-color: #{color-contrast($active-bg)};\n    --#{$prefix}table-hover-bg: #{$hover-bg};\n    --#{$prefix}table-hover-color: #{color-contrast($hover-bg)};\n\n    color: var(--#{$prefix}table-color);\n    border-color: var(--#{$prefix}table-border-color);\n  }\n}\n// scss-docs-end table-variant\n","//\n// Labels\n//\n\n.form-label {\n  margin-bottom: $form-label-margin-bottom;\n  @include 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  @include 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  @include 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  @include font-size($input-font-size-sm);\n}\n","//\n// Form text\n//\n\n.form-text {\n  margin-top: $form-text-margin-top;\n  @include 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// General form controls (plus a few specific high-level interventions)\n//\n\n.form-control {\n  display: block;\n  width: 100%;\n  padding: $input-padding-y $input-padding-x;\n  font-family: $input-font-family;\n  @include font-size($input-font-size);\n  font-weight: $input-font-weight;\n  line-height: $input-line-height;\n  color: $input-color;\n  appearance: none; // Fix appearance for date inputs in Safari\n  background-color: $input-bg;\n  background-clip: padding-box;\n  border: $input-border-width solid $input-border-color;\n\n  // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n  @include border-radius($input-border-radius, 0);\n\n  @include box-shadow($input-box-shadow);\n  @include transition($input-transition);\n\n  &[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 {\n    color: $input-focus-color;\n    background-color: $input-focus-bg;\n    border-color: $input-focus-border-color;\n    outline: 0;\n    @if $enable-shadows {\n      @include box-shadow($input-box-shadow, $input-focus-box-shadow);\n    } @else {\n      // Avoid using mixin so we can pass custom focus shadow properly\n      box-shadow: $input-focus-box-shadow;\n    }\n  }\n\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    height: if(unit($input-line-height) == \"\", $input-line-height * 1em, $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    padding: $input-padding-y $input-padding-x;\n    margin: (-$input-padding-y) (-$input-padding-x);\n    margin-inline-end: $input-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: $input-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-right: 0;\n    padding-left: 0;\n  }\n}\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n.form-control-sm {\n  min-height: $input-height-sm;\n  padding: $input-padding-y-sm $input-padding-x-sm;\n  @include font-size($input-font-size-sm);\n  @include border-radius($input-border-radius-sm);\n\n  &::file-selector-button {\n    padding: $input-padding-y-sm $input-padding-x-sm;\n    margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n    margin-inline-end: $input-padding-x-sm;\n  }\n}\n\n.form-control-lg {\n  min-height: $input-height-lg;\n  padding: $input-padding-y-lg $input-padding-x-lg;\n  @include font-size($input-font-size-lg);\n  @include border-radius($input-border-radius-lg);\n\n  &::file-selector-button {\n    padding: $input-padding-y-lg $input-padding-x-lg;\n    margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n    margin-inline-end: $input-padding-x-lg;\n  }\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\ntextarea {\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","// stylelint-disable property-disallowed-list\n@mixin transition($transition...) {\n  @if length($transition) == 0 {\n    $transition: $transition-base;\n  }\n\n  @if length($transition) > 1 {\n    @each $value in $transition {\n      @if $value == null or $value == none {\n        @warn \"The keyword 'none' or 'null' must be used as a single argument.\";\n      }\n    }\n  }\n\n  @if $enable-transitions {\n    @if nth($transition, 1) != null {\n      transition: $transition;\n    }\n\n    @if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {\n      @media (prefers-reduced-motion: reduce) {\n        transition: none;\n      }\n    }\n  }\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(--#{$prefix}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: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 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: $gray-700, $end-color: $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: $gray-700, $outer-color: $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","// Select\n//\n// Replaces the browser default select with a custom one, mostly pulled from\n// https://primer.github.io/.\n\n.form-select {\n  --#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator)};\n\n  display: block;\n  width: 100%;\n  padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;\n  font-family: $form-select-font-family;\n  @include font-size($form-select-font-size);\n  font-weight: $form-select-font-weight;\n  line-height: $form-select-line-height;\n  color: $form-select-color;\n  appearance: none;\n  background-color: $form-select-bg;\n  background-image: var(--#{$prefix}form-select-bg-img), var(--#{$prefix}form-select-bg-icon, none);\n  background-repeat: no-repeat;\n  background-position: $form-select-bg-position;\n  background-size: $form-select-bg-size;\n  border: $form-select-border-width solid $form-select-border-color;\n  @include border-radius($form-select-border-radius, 0);\n  @include box-shadow($form-select-box-shadow);\n  @include transition($form-select-transition);\n\n  &:focus {\n    border-color: $form-select-focus-border-color;\n    outline: 0;\n    @if $enable-shadows {\n      @include box-shadow($form-select-box-shadow, $form-select-focus-box-shadow);\n    } @else {\n      // Avoid using mixin so we can pass custom focus shadow properly\n      box-shadow: $form-select-focus-box-shadow;\n    }\n  }\n\n  &[multiple],\n  &[size]:not([size=\"1\"]) {\n    padding-right: $form-select-padding-x;\n    background-image: none;\n  }\n\n  &:disabled {\n    color: $form-select-disabled-color;\n    background-color: $form-select-disabled-bg;\n    border-color: $form-select-disabled-border-color;\n  }\n\n  // Remove outline from select box in FF\n  &:-moz-focusring {\n    color: transparent;\n    text-shadow: 0 0 0 $form-select-color;\n  }\n}\n\n.form-select-sm {\n  padding-top: $form-select-padding-y-sm;\n  padding-bottom: $form-select-padding-y-sm;\n  padding-left: $form-select-padding-x-sm;\n  @include font-size($form-select-font-size-sm);\n  @include border-radius($form-select-border-radius-sm);\n}\n\n.form-select-lg {\n  padding-top: $form-select-padding-y-lg;\n  padding-bottom: $form-select-padding-y-lg;\n  padding-left: $form-select-padding-x-lg;\n  @include font-size($form-select-font-size-lg);\n  @include border-radius($form-select-border-radius-lg);\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark) {\n    .form-select {\n      --#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator-dark)};\n    }\n  }\n}\n","//\n// Check/radio\n//\n\n.form-check {\n  display: block;\n  min-height: $form-check-min-height;\n  padding-left: $form-check-padding-start;\n  margin-bottom: $form-check-margin-bottom;\n\n  .form-check-input {\n    float: left;\n    margin-left: $form-check-padding-start * -1;\n  }\n}\n\n.form-check-reverse {\n  padding-right: $form-check-padding-start;\n  padding-left: 0;\n  text-align: right;\n\n  .form-check-input {\n    float: right;\n    margin-right: $form-check-padding-start * -1;\n    margin-left: 0;\n  }\n}\n\n.form-check-input {\n  --#{$prefix}form-check-bg: #{$form-check-input-bg};\n\n  flex-shrink: 0;\n  width: $form-check-input-width;\n  height: $form-check-input-width;\n  margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height\n  vertical-align: top;\n  appearance: none;\n  background-color: var(--#{$prefix}form-check-bg);\n  background-image: var(--#{$prefix}form-check-bg-image);\n  background-repeat: no-repeat;\n  background-position: center;\n  background-size: contain;\n  border: $form-check-input-border;\n  print-color-adjust: exact; // Keep themed appearance for print\n  @include transition($form-check-transition);\n\n  &[type=\"checkbox\"] {\n    @include border-radius($form-check-input-border-radius);\n  }\n\n  &[type=\"radio\"] {\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: $form-check-radio-border-radius;\n  }\n\n  &:active {\n    filter: $form-check-input-active-filter;\n  }\n\n  &:focus {\n    border-color: $form-check-input-focus-border;\n    outline: 0;\n    box-shadow: $form-check-input-focus-box-shadow;\n  }\n\n  &:checked {\n    background-color: $form-check-input-checked-bg-color;\n    border-color: $form-check-input-checked-border-color;\n\n    &[type=\"checkbox\"] {\n      @if $enable-gradients {\n        --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-checked-bg-image)}, var(--#{$prefix}gradient);\n      } @else {\n        --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-checked-bg-image)};\n      }\n    }\n\n    &[type=\"radio\"] {\n      @if $enable-gradients {\n        --#{$prefix}form-check-bg-image: #{escape-svg($form-check-radio-checked-bg-image)}, var(--#{$prefix}gradient);\n      } @else {\n        --#{$prefix}form-check-bg-image: #{escape-svg($form-check-radio-checked-bg-image)};\n      }\n    }\n  }\n\n  &[type=\"checkbox\"]:indeterminate {\n    background-color: $form-check-input-indeterminate-bg-color;\n    border-color: $form-check-input-indeterminate-border-color;\n\n    @if $enable-gradients {\n      --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-indeterminate-bg-image)}, var(--#{$prefix}gradient);\n    } @else {\n      --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-indeterminate-bg-image)};\n    }\n  }\n\n  &:disabled {\n    pointer-events: none;\n    filter: none;\n    opacity: $form-check-input-disabled-opacity;\n  }\n\n  // Use disabled attribute in addition of :disabled pseudo-class\n  // See: https://github.com/twbs/bootstrap/issues/28247\n  &[disabled],\n  &:disabled {\n    ~ .form-check-label {\n      cursor: default;\n      opacity: $form-check-label-disabled-opacity;\n    }\n  }\n}\n\n.form-check-label {\n  color: $form-check-label-color;\n  cursor: $form-check-label-cursor;\n}\n\n//\n// Switch\n//\n\n.form-switch {\n  padding-left: $form-switch-padding-start;\n\n  .form-check-input {\n    --#{$prefix}form-switch-bg: #{escape-svg($form-switch-bg-image)};\n\n    width: $form-switch-width;\n    margin-left: $form-switch-padding-start * -1;\n    background-image: var(--#{$prefix}form-switch-bg);\n    background-position: left center;\n    @include border-radius($form-switch-border-radius, 0);\n    @include transition($form-switch-transition);\n\n    &:focus {\n      --#{$prefix}form-switch-bg: #{escape-svg($form-switch-focus-bg-image)};\n    }\n\n    &:checked {\n      background-position: $form-switch-checked-bg-position;\n\n      @if $enable-gradients {\n        --#{$prefix}form-switch-bg: #{escape-svg($form-switch-checked-bg-image)}, var(--#{$prefix}gradient);\n      } @else {\n        --#{$prefix}form-switch-bg: #{escape-svg($form-switch-checked-bg-image)};\n      }\n    }\n  }\n\n  &.form-check-reverse {\n    padding-right: $form-switch-padding-start;\n    padding-left: 0;\n\n    .form-check-input {\n      margin-right: $form-switch-padding-start * -1;\n      margin-left: 0;\n    }\n  }\n}\n\n.form-check-inline {\n  display: inline-block;\n  margin-right: $form-check-inline-margin-end;\n}\n\n.btn-check {\n  position: absolute;\n  clip: rect(0, 0, 0, 0);\n  pointer-events: none;\n\n  &[disabled],\n  &:disabled {\n    + .btn {\n      pointer-events: none;\n      filter: none;\n      opacity: $form-check-btn-check-disabled-opacity;\n    }\n  }\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark) {\n    .form-switch .form-check-input:not(:checked):not(:focus) {\n      --#{$prefix}form-switch-bg: #{escape-svg($form-switch-bg-image-dark)};\n    }\n  }\n}\n","// Range\n//\n// Style range inputs the same across browsers. Vendor-specific rules for pseudo\n// elements cannot be mixed. As such, there are no shared styles for focus or\n// active states on prefixed selectors.\n\n.form-range {\n  width: 100%;\n  height: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n  padding: 0; // Need to reset padding\n  appearance: none;\n  background-color: transparent;\n\n  &:focus {\n    outline: 0;\n\n    // Pseudo-elements must be split across multiple rulesets to have an effect.\n    // No box-shadow() mixin for focus accessibility.\n    &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n    &::-moz-range-thumb     { box-shadow: $form-range-thumb-focus-box-shadow; }\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",".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    top: 0;\n    left: 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: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});\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-top: $form-floating-input-padding-t;\n    padding-bottom: $form-floating-input-padding-b;\n    padding-left: $form-floating-padding-x;\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// Base styles\n//\n\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  @include 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  @include 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  @include 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  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  &: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  $validation-messages: \"\";\n  @each $state in map-keys($form-validation-states) {\n    $validation-messages: $validation-messages + \":not(.\" + unquote($state) + \"-tooltip)\" + \":not(.\" + unquote($state) + \"-feedback)\";\n  }\n\n  > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n    margin-left: calc(-1 * #{$input-border-width}); // stylelint-disable-line function-disallowed-list\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}\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(&, \"&\", \"\")}:#{$state},\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\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: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity),\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    @include font-size($form-feedback-font-size);\n    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    @include 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-right: $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-right: $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          --#{$prefix}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-left: .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// Base styles\n//\n\n.btn {\n  // scss-docs-start btn-css-vars\n  --#{$prefix}btn-padding-x: #{$btn-padding-x};\n  --#{$prefix}btn-padding-y: #{$btn-padding-y};\n  --#{$prefix}btn-font-family: #{$btn-font-family};\n  @include rfs($btn-font-size, --#{$prefix}btn-font-size);\n  --#{$prefix}btn-font-weight: #{$btn-font-weight};\n  --#{$prefix}btn-line-height: #{$btn-line-height};\n  --#{$prefix}btn-color: #{$btn-color};\n  --#{$prefix}btn-bg: transparent;\n  --#{$prefix}btn-border-width: #{$btn-border-width};\n  --#{$prefix}btn-border-color: transparent;\n  --#{$prefix}btn-border-radius: #{$btn-border-radius};\n  --#{$prefix}btn-hover-border-color: transparent;\n  --#{$prefix}btn-box-shadow: #{$btn-box-shadow};\n  --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};\n  --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);\n  // scss-docs-end btn-css-vars\n\n  display: inline-block;\n  padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);\n  font-family: var(--#{$prefix}btn-font-family);\n  @include font-size(var(--#{$prefix}btn-font-size));\n  font-weight: var(--#{$prefix}btn-font-weight);\n  line-height: var(--#{$prefix}btn-line-height);\n  color: var(--#{$prefix}btn-color);\n  text-align: center;\n  text-decoration: if($link-decoration == none, null, none);\n  white-space: $btn-white-space;\n  vertical-align: middle;\n  cursor: if($enable-button-pointers, pointer, null);\n  user-select: none;\n  border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);\n  @include border-radius(var(--#{$prefix}btn-border-radius));\n  @include gradient-bg(var(--#{$prefix}btn-bg));\n  @include box-shadow(var(--#{$prefix}btn-box-shadow));\n  @include transition($btn-transition);\n\n  &:hover {\n    color: var(--#{$prefix}btn-hover-color);\n    text-decoration: if($link-hover-decoration == underline, none, null);\n    background-color: var(--#{$prefix}btn-hover-bg);\n    border-color: var(--#{$prefix}btn-hover-border-color);\n  }\n\n  .btn-check + &:hover {\n    // override for the checkbox/radio buttons\n    color: var(--#{$prefix}btn-color);\n    background-color: var(--#{$prefix}btn-bg);\n    border-color: var(--#{$prefix}btn-border-color);\n  }\n\n  &:focus-visible {\n    color: var(--#{$prefix}btn-hover-color);\n    @include gradient-bg(var(--#{$prefix}btn-hover-bg));\n    border-color: var(--#{$prefix}btn-hover-border-color);\n    outline: 0;\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);\n    } @else {\n      box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n    }\n  }\n\n  .btn-check:focus-visible + & {\n    border-color: var(--#{$prefix}btn-hover-border-color);\n    outline: 0;\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow);\n    } @else {\n      box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n    }\n  }\n\n  .btn-check:checked + &,\n  :not(.btn-check) + &:active,\n  &:first-child:active,\n  &.active,\n  &.show {\n    color: var(--#{$prefix}btn-active-color);\n    background-color: var(--#{$prefix}btn-active-bg);\n    // Remove CSS gradients if they're enabled\n    background-image: if($enable-gradients, none, null);\n    border-color: var(--#{$prefix}btn-active-border-color);\n    @include box-shadow(var(--#{$prefix}btn-active-shadow));\n\n    &:focus-visible {\n      // Avoid using mixin so we can pass custom focus shadow properly\n      @if $enable-shadows {\n        box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);\n      } @else {\n        box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n      }\n    }\n  }\n\n  .btn-check:checked:focus-visible + & {\n    // Avoid using mixin so we can pass custom focus shadow properly\n    @if $enable-shadows {\n      box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow);\n    } @else {\n      box-shadow: var(--#{$prefix}btn-focus-box-shadow);\n    }\n  }\n\n  &:disabled,\n  &.disabled,\n  fieldset:disabled & {\n    color: var(--#{$prefix}btn-disabled-color);\n    pointer-events: none;\n    background-color: var(--#{$prefix}btn-disabled-bg);\n    background-image: if($enable-gradients, none, null);\n    border-color: var(--#{$prefix}btn-disabled-border-color);\n    opacity: var(--#{$prefix}btn-disabled-opacity);\n    @include box-shadow(none);\n  }\n}\n\n\n//\n// Alternate buttons\n//\n\n// scss-docs-start btn-variant-loops\n@each $color, $value in $theme-colors {\n  .btn-#{$color} {\n    @if $color == \"light\" {\n      @include button-variant(\n        $value,\n        $value,\n        $hover-background: shade-color($value, $btn-hover-bg-shade-amount),\n        $hover-border: shade-color($value, $btn-hover-border-shade-amount),\n        $active-background: shade-color($value, $btn-active-bg-shade-amount),\n        $active-border: shade-color($value, $btn-active-border-shade-amount)\n      );\n    } @else if $color == \"dark\" {\n      @include button-variant(\n        $value,\n        $value,\n        $hover-background: tint-color($value, $btn-hover-bg-tint-amount),\n        $hover-border: tint-color($value, $btn-hover-border-tint-amount),\n        $active-background: tint-color($value, $btn-active-bg-tint-amount),\n        $active-border: tint-color($value, $btn-active-border-tint-amount)\n      );\n    } @else {\n      @include button-variant($value, $value);\n    }\n  }\n}\n\n@each $color, $value in $theme-colors {\n  .btn-outline-#{$color} {\n    @include button-outline-variant($value);\n  }\n}\n// scss-docs-end btn-variant-loops\n\n\n//\n// Link buttons\n//\n\n// Make a button look and behave like a link\n.btn-link {\n  --#{$prefix}btn-font-weight: #{$font-weight-normal};\n  --#{$prefix}btn-color: #{$btn-link-color};\n  --#{$prefix}btn-bg: transparent;\n  --#{$prefix}btn-border-color: transparent;\n  --#{$prefix}btn-hover-color: #{$btn-link-hover-color};\n  --#{$prefix}btn-hover-border-color: transparent;\n  --#{$prefix}btn-active-color: #{$btn-link-hover-color};\n  --#{$prefix}btn-active-border-color: transparent;\n  --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};\n  --#{$prefix}btn-disabled-border-color: transparent;\n  --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows\n  --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb};\n\n  text-decoration: $link-decoration;\n  @if $enable-gradients {\n    background-image: none;\n  }\n\n  &:hover,\n  &:focus-visible {\n    text-decoration: $link-hover-decoration;\n  }\n\n  &:focus-visible {\n    color: var(--#{$prefix}btn-color);\n  }\n\n  &:hover {\n    color: var(--#{$prefix}btn-hover-color);\n  }\n\n  // No need for an active state here\n}\n\n\n//\n// Button Sizes\n//\n\n.btn-lg {\n  @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n}\n\n.btn-sm {\n  @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n// scss-docs-start btn-variant-mixin\n@mixin button-variant(\n  $background,\n  $border,\n  $color: color-contrast($background),\n  $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),\n  $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),\n  $hover-color: color-contrast($hover-background),\n  $active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),\n  $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),\n  $active-color: color-contrast($active-background),\n  $disabled-background: $background,\n  $disabled-border: $border,\n  $disabled-color: color-contrast($disabled-background)\n) {\n  --#{$prefix}btn-color: #{$color};\n  --#{$prefix}btn-bg: #{$background};\n  --#{$prefix}btn-border-color: #{$border};\n  --#{$prefix}btn-hover-color: #{$hover-color};\n  --#{$prefix}btn-hover-bg: #{$hover-background};\n  --#{$prefix}btn-hover-border-color: #{$hover-border};\n  --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix($color, $border, 15%))};\n  --#{$prefix}btn-active-color: #{$active-color};\n  --#{$prefix}btn-active-bg: #{$active-background};\n  --#{$prefix}btn-active-border-color: #{$active-border};\n  --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};\n  --#{$prefix}btn-disabled-color: #{$disabled-color};\n  --#{$prefix}btn-disabled-bg: #{$disabled-background};\n  --#{$prefix}btn-disabled-border-color: #{$disabled-border};\n}\n// scss-docs-end btn-variant-mixin\n\n// scss-docs-start btn-outline-variant-mixin\n@mixin button-outline-variant(\n  $color,\n  $color-hover: color-contrast($color),\n  $active-background: $color,\n  $active-border: $color,\n  $active-color: color-contrast($active-background)\n) {\n  --#{$prefix}btn-color: #{$color};\n  --#{$prefix}btn-border-color: #{$color};\n  --#{$prefix}btn-hover-color: #{$color-hover};\n  --#{$prefix}btn-hover-bg: #{$active-background};\n  --#{$prefix}btn-hover-border-color: #{$active-border};\n  --#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};\n  --#{$prefix}btn-active-color: #{$active-color};\n  --#{$prefix}btn-active-bg: #{$active-background};\n  --#{$prefix}btn-active-border-color: #{$active-border};\n  --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};\n  --#{$prefix}btn-disabled-color: #{$color};\n  --#{$prefix}btn-disabled-bg: transparent;\n  --#{$prefix}btn-disabled-border-color: #{$color};\n  --#{$prefix}gradient: none;\n}\n// scss-docs-end btn-outline-variant-mixin\n\n// scss-docs-start btn-size-mixin\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n  --#{$prefix}btn-padding-y: #{$padding-y};\n  --#{$prefix}btn-padding-x: #{$padding-x};\n  @include rfs($font-size, --#{$prefix}btn-font-size);\n  --#{$prefix}btn-border-radius: #{$border-radius};\n}\n// scss-docs-end btn-size-mixin\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","// The dropdown wrapper (`<div>`)\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n  position: relative;\n}\n\n.dropdown-toggle {\n  white-space: nowrap;\n\n  // Generate the caret automatically\n  @include caret();\n}\n\n// The dropdown menu\n.dropdown-menu {\n  // scss-docs-start dropdown-css-vars\n  --#{$prefix}dropdown-zindex: #{$zindex-dropdown};\n  --#{$prefix}dropdown-min-width: #{$dropdown-min-width};\n  --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x};\n  --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y};\n  --#{$prefix}dropdown-spacer: #{$dropdown-spacer};\n  @include rfs($dropdown-font-size, --#{$prefix}dropdown-font-size);\n  --#{$prefix}dropdown-color: #{$dropdown-color};\n  --#{$prefix}dropdown-bg: #{$dropdown-bg};\n  --#{$prefix}dropdown-border-color: #{$dropdown-border-color};\n  --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius};\n  --#{$prefix}dropdown-border-width: #{$dropdown-border-width};\n  --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius};\n  --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg};\n  --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y};\n  --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow};\n  --#{$prefix}dropdown-link-color: #{$dropdown-link-color};\n  --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color};\n  --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg};\n  --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color};\n  --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg};\n  --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color};\n  --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x};\n  --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y};\n  --#{$prefix}dropdown-header-color: #{$dropdown-header-color};\n  --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x};\n  --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y};\n  // scss-docs-end dropdown-css-vars\n\n  position: absolute;\n  z-index: var(--#{$prefix}dropdown-zindex);\n  display: none; // none by default, but block on \"open\" of the menu\n  min-width: var(--#{$prefix}dropdown-min-width);\n  padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x);\n  margin: 0; // Override default margin of ul\n  @include font-size(var(--#{$prefix}dropdown-font-size));\n  color: var(--#{$prefix}dropdown-color);\n  text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n  list-style: none;\n  background-color: var(--#{$prefix}dropdown-bg);\n  background-clip: padding-box;\n  border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color);\n  @include border-radius(var(--#{$prefix}dropdown-border-radius));\n  @include box-shadow(var(--#{$prefix}dropdown-box-shadow));\n\n  &[data-bs-popper] {\n    top: 100%;\n    left: 0;\n    margin-top: var(--#{$prefix}dropdown-spacer);\n  }\n\n  @if $dropdown-padding-y == 0 {\n    > .dropdown-item:first-child,\n    > li:first-child .dropdown-item {\n      @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius));\n    }\n    > .dropdown-item:last-child,\n    > li:last-child .dropdown-item {\n      @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius));\n    }\n\n  }\n}\n\n// scss-docs-start responsive-breakpoints\n// We deliberately hardcode the `bs-` prefix because we check\n// this custom property in JS to determine Popper's positioning\n\n@each $breakpoint in map-keys($grid-breakpoints) {\n  @include media-breakpoint-up($breakpoint) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    .dropdown-menu#{$infix}-start {\n      --bs-position: start;\n\n      &[data-bs-popper] {\n        right: auto;\n        left: 0;\n      }\n    }\n\n    .dropdown-menu#{$infix}-end {\n      --bs-position: end;\n\n      &[data-bs-popper] {\n        right: 0;\n        left: auto;\n      }\n    }\n  }\n}\n// scss-docs-end responsive-breakpoints\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n// Just add .dropup after the standard .dropdown class and you're set.\n.dropup {\n  .dropdown-menu[data-bs-popper] {\n    top: auto;\n    bottom: 100%;\n    margin-top: 0;\n    margin-bottom: var(--#{$prefix}dropdown-spacer);\n  }\n\n  .dropdown-toggle {\n    @include caret(up);\n  }\n}\n\n.dropend {\n  .dropdown-menu[data-bs-popper] {\n    top: 0;\n    right: auto;\n    left: 100%;\n    margin-top: 0;\n    margin-left: var(--#{$prefix}dropdown-spacer);\n  }\n\n  .dropdown-toggle {\n    @include caret(end);\n    &::after {\n      vertical-align: 0;\n    }\n  }\n}\n\n.dropstart {\n  .dropdown-menu[data-bs-popper] {\n    top: 0;\n    right: 100%;\n    left: auto;\n    margin-top: 0;\n    margin-right: var(--#{$prefix}dropdown-spacer);\n  }\n\n  .dropdown-toggle {\n    @include caret(start);\n    &::before {\n      vertical-align: 0;\n    }\n  }\n}\n\n\n// Dividers (basically an `<hr>`) within the dropdown\n.dropdown-divider {\n  height: 0;\n  margin: var(--#{$prefix}dropdown-divider-margin-y) 0;\n  overflow: hidden;\n  border-top: 1px solid var(--#{$prefix}dropdown-divider-bg);\n  opacity: 1; // Revisit in v6 to de-dupe styles that conflict with <hr> element\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: block;\n  width: 100%; // For `<button>`s\n  padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n  clear: both;\n  font-weight: $font-weight-normal;\n  color: var(--#{$prefix}dropdown-link-color);\n  text-align: inherit; // For `<button>`s\n  text-decoration: if($link-decoration == none, null, 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(--#{$prefix}dropdown-item-border-radius, 0));\n\n  &:hover,\n  &:focus {\n    color: var(--#{$prefix}dropdown-link-hover-color);\n    text-decoration: if($link-hover-decoration == underline, none, null);\n    @include gradient-bg(var(--#{$prefix}dropdown-link-hover-bg));\n  }\n\n  &.active,\n  &:active {\n    color: var(--#{$prefix}dropdown-link-active-color);\n    text-decoration: none;\n    @include gradient-bg(var(--#{$prefix}dropdown-link-active-bg));\n  }\n\n  &.disabled,\n  &:disabled {\n    color: var(--#{$prefix}dropdown-link-disabled-color);\n    pointer-events: none;\n    background-color: transparent;\n    // Remove CSS gradients if they're enabled\n    background-image: if($enable-gradients, none, null);\n  }\n}\n\n.dropdown-menu.show {\n  display: block;\n}\n\n// Dropdown section headers\n.dropdown-header {\n  display: block;\n  padding: var(--#{$prefix}dropdown-header-padding-y) var(--#{$prefix}dropdown-header-padding-x);\n  margin-bottom: 0; // for use with heading elements\n  @include font-size($font-size-sm);\n  color: var(--#{$prefix}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(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n  color: var(--#{$prefix}dropdown-link-color);\n}\n\n// Dark dropdowns\n.dropdown-menu-dark {\n  // scss-docs-start dropdown-dark-css-vars\n  --#{$prefix}dropdown-color: #{$dropdown-dark-color};\n  --#{$prefix}dropdown-bg: #{$dropdown-dark-bg};\n  --#{$prefix}dropdown-border-color: #{$dropdown-dark-border-color};\n  --#{$prefix}dropdown-box-shadow: #{$dropdown-dark-box-shadow};\n  --#{$prefix}dropdown-link-color: #{$dropdown-dark-link-color};\n  --#{$prefix}dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};\n  --#{$prefix}dropdown-divider-bg: #{$dropdown-dark-divider-bg};\n  --#{$prefix}dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};\n  --#{$prefix}dropdown-link-active-color: #{$dropdown-dark-link-active-color};\n  --#{$prefix}dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};\n  --#{$prefix}dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};\n  --#{$prefix}dropdown-header-color: #{$dropdown-dark-header-color};\n  // scss-docs-end dropdown-dark-css-vars\n}\n","// scss-docs-start caret-mixins\n@mixin caret-down($width: $caret-width) {\n  border-top: $width solid;\n  border-right: $width solid transparent;\n  border-bottom: 0;\n  border-left: $width solid transparent;\n}\n\n@mixin caret-up($width: $caret-width) {\n  border-top: 0;\n  border-right: $width solid transparent;\n  border-bottom: $width solid;\n  border-left: $width solid transparent;\n}\n\n@mixin caret-end($width: $caret-width) {\n  border-top: $width solid transparent;\n  border-right: 0;\n  border-bottom: $width solid transparent;\n  border-left: $width solid;\n}\n\n@mixin caret-start($width: $caret-width) {\n  border-top: $width solid transparent;\n  border-right: $width solid;\n  border-bottom: $width solid transparent;\n}\n\n@mixin caret(\n  $direction: down,\n  $width: $caret-width,\n  $spacing: $caret-spacing,\n  $vertical-align: $caret-vertical-align\n) {\n  @if $enable-caret {\n    &::after {\n      display: inline-block;\n      margin-left: $spacing;\n      vertical-align: $vertical-align;\n      content: \"\";\n      @if $direction == down {\n        @include caret-down($width);\n      } @else if $direction == up {\n        @include caret-up($width);\n      } @else if $direction == end {\n        @include caret-end($width);\n      }\n    }\n\n    @if $direction == start {\n      &::after {\n        display: none;\n      }\n\n      &::before {\n        display: inline-block;\n        margin-right: $spacing;\n        vertical-align: $vertical-align;\n        content: \"\";\n        @include caret-start($width);\n      }\n    }\n\n    &:empty::after {\n      margin-left: 0;\n    }\n  }\n}\n// scss-docs-end caret-mixins\n","// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n  position: relative;\n  display: inline-flex;\n  vertical-align: middle; // match .btn alignment given font-size hack above\n\n  > .btn {\n    position: relative;\n    flex: 1 1 auto;\n  }\n\n  // Bring the hover, focused, and \"active\" buttons to the front to overlay\n  // the borders properly\n  > .btn-check:checked + .btn,\n  > .btn-check:focus + .btn,\n  > .btn:hover,\n  > .btn:focus,\n  > .btn:active,\n  > .btn.active {\n    z-index: 1;\n  }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n  display: flex;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n\n  .input-group {\n    width: auto;\n  }\n}\n\n.btn-group {\n  @include border-radius($btn-border-radius);\n\n  // Prevent double borders when buttons are next to each other\n  > :not(.btn-check:first-child) + .btn,\n  > .btn-group:not(:first-child) {\n    margin-left: calc(-1 * #{$btn-border-width}); // stylelint-disable-line function-disallowed-list\n  }\n\n  // Reset rounded corners\n  > .btn:not(:last-child):not(.dropdown-toggle),\n  > .btn.dropdown-toggle-split:first-child,\n  > .btn-group:not(:last-child) > .btn {\n    @include border-end-radius(0);\n  }\n\n  // The left radius should be 0 if the button is:\n  // - the \"third or more\" child\n  // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n  // - part of a btn-group which isn't the first child\n  > .btn:nth-child(n + 3),\n  > :not(.btn-check) + .btn,\n  > .btn-group:not(:first-child) > .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 > .btn { @extend .btn-sm; }\n.btn-group-lg > .btn { @extend .btn-lg; }\n\n\n//\n// Split button dropdowns\n//\n\n.dropdown-toggle-split {\n  padding-right: $btn-padding-x * .75;\n  padding-left: $btn-padding-x * .75;\n\n  &::after,\n  .dropup &::after,\n  .dropend &::after {\n    margin-left: 0;\n  }\n\n  .dropstart &::before {\n    margin-right: 0;\n  }\n}\n\n.btn-sm + .dropdown-toggle-split {\n  padding-right: $btn-padding-x-sm * .75;\n  padding-left: $btn-padding-x-sm * .75;\n}\n\n.btn-lg + .dropdown-toggle-split {\n  padding-right: $btn-padding-x-lg * .75;\n  padding-left: $btn-padding-x-lg * .75;\n}\n\n\n// The clickable button for toggling the menu\n// Set the same inset shadow as the :active state\n.btn-group.show .dropdown-toggle {\n  @include box-shadow($btn-active-box-shadow);\n\n  // Show no shadow for `.btn-link` since it has no other button styles.\n  &.btn-link {\n    @include box-shadow(none);\n  }\n}\n\n\n//\n// Vertical button groups\n//\n\n.btn-group-vertical {\n  flex-direction: column;\n  align-items: flex-start;\n  justify-content: center;\n\n  > .btn,\n  > .btn-group {\n    width: 100%;\n  }\n\n  > .btn:not(:first-child),\n  > .btn-group:not(:first-child) {\n    margin-top: calc(-1 * #{$btn-border-width}); // stylelint-disable-line function-disallowed-list\n  }\n\n  // Reset rounded corners\n  > .btn:not(:last-child):not(.dropdown-toggle),\n  > .btn-group:not(:last-child) > .btn {\n    @include border-bottom-radius(0);\n  }\n\n  // The top radius should be 0 if the button is:\n  // - the \"third or more\" child\n  // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n  // - part of a btn-group which isn't the first child\n  > .btn:nth-child(n + 3),\n  > :not(.btn-check) + .btn,\n  > .btn-group:not(:first-child) > .btn {\n    @include border-top-radius(0);\n  }\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.nav {\n  // scss-docs-start nav-css-vars\n  --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};\n  --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n  @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n  --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n  --#{$prefix}nav-link-color: #{$nav-link-color};\n  --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};\n  --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};\n  // scss-docs-end nav-css-vars\n\n  display: flex;\n  flex-wrap: wrap;\n  padding-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n}\n\n.nav-link {\n  display: block;\n  padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);\n  @include font-size(var(--#{$prefix}nav-link-font-size));\n  font-weight: var(--#{$prefix}nav-link-font-weight);\n  color: var(--#{$prefix}nav-link-color);\n  text-decoration: if($link-decoration == none, null, none);\n  background: none;\n  border: 0;\n  @include transition($nav-link-transition);\n\n  &:hover,\n  &:focus {\n    color: var(--#{$prefix}nav-link-hover-color);\n    text-decoration: if($link-hover-decoration == underline, none, null);\n  }\n\n  &:focus-visible {\n    outline: 0;\n    box-shadow: $nav-link-focus-box-shadow;\n  }\n\n  // Disabled state lightens text\n  &.disabled,\n  &:disabled {\n    color: var(--#{$prefix}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  --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};\n  --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};\n  --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};\n  --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n  --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n  --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n  --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n  // scss-docs-end nav-tabs-css-vars\n\n  border-bottom: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);\n\n  .nav-link {\n    margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list\n    border: var(--#{$prefix}nav-tabs-border-width) solid transparent;\n    @include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));\n\n    &:hover,\n    &:focus {\n      // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n      isolation: isolate;\n      border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);\n    }\n  }\n\n  .nav-link.active,\n  .nav-item.show .nav-link {\n    color: var(--#{$prefix}nav-tabs-link-active-color);\n    background-color: var(--#{$prefix}nav-tabs-link-active-bg);\n    border-color: var(--#{$prefix}nav-tabs-link-active-border-color);\n  }\n\n  .dropdown-menu {\n    // Make dropdown border overlap tab border\n    margin-top: calc(-1 * var(--#{$prefix}nav-tabs-border-width)); // stylelint-disable-line function-disallowed-list\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  --#{$prefix}nav-pills-border-radius: #{$nav-pills-border-radius};\n  --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};\n  --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n  // scss-docs-end nav-pills-css-vars\n\n  .nav-link {\n    @include border-radius(var(--#{$prefix}nav-pills-border-radius));\n  }\n\n  .nav-link.active,\n  .show > .nav-link {\n    color: var(--#{$prefix}nav-pills-link-active-color);\n    @include gradient-bg(var(--#{$prefix}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  --#{$prefix}nav-underline-gap: #{$nav-underline-gap};\n  --#{$prefix}nav-underline-border-width: #{$nav-underline-border-width};\n  --#{$prefix}nav-underline-link-active-color: #{$nav-underline-link-active-color};\n  // scss-docs-end nav-underline-css-vars\n\n  gap: var(--#{$prefix}nav-underline-gap);\n\n  .nav-link {\n    padding-right: 0;\n    padding-left: 0;\n    border-bottom: var(--#{$prefix}nav-underline-border-width) solid transparent;\n\n    &:hover,\n    &:focus {\n      border-bottom-color: currentcolor;\n    }\n  }\n\n  .nav-link.active,\n  .show > .nav-link {\n    font-weight: $font-weight-bold;\n    color: var(--#{$prefix}nav-underline-link-active-color);\n    border-bottom-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","// Navbar\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n  // scss-docs-start navbar-css-vars\n  --#{$prefix}navbar-padding-x: #{if($navbar-padding-x == null, 0, $navbar-padding-x)};\n  --#{$prefix}navbar-padding-y: #{$navbar-padding-y};\n  --#{$prefix}navbar-color: #{$navbar-light-color};\n  --#{$prefix}navbar-hover-color: #{$navbar-light-hover-color};\n  --#{$prefix}navbar-disabled-color: #{$navbar-light-disabled-color};\n  --#{$prefix}navbar-active-color: #{$navbar-light-active-color};\n  --#{$prefix}navbar-brand-padding-y: #{$navbar-brand-padding-y};\n  --#{$prefix}navbar-brand-margin-end: #{$navbar-brand-margin-end};\n  --#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size};\n  --#{$prefix}navbar-brand-color: #{$navbar-light-brand-color};\n  --#{$prefix}navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n  --#{$prefix}navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n  --#{$prefix}navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n  --#{$prefix}navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n  --#{$prefix}navbar-toggler-font-size: #{$navbar-toggler-font-size};\n  --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n  --#{$prefix}navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n  --#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n  --#{$prefix}navbar-toggler-focus-width: #{$navbar-toggler-focus-width};\n  --#{$prefix}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(--#{$prefix}navbar-padding-y) var(--#{$prefix}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(--#{$prefix}navbar-brand-padding-y);\n  padding-bottom: var(--#{$prefix}navbar-brand-padding-y);\n  margin-right: var(--#{$prefix}navbar-brand-margin-end);\n  @include font-size(var(--#{$prefix}navbar-brand-font-size));\n  color: var(--#{$prefix}navbar-brand-color);\n  text-decoration: if($link-decoration == none, null, none);\n  white-space: nowrap;\n\n  &:hover,\n  &:focus {\n    color: var(--#{$prefix}navbar-brand-hover-color);\n    text-decoration: if($link-hover-decoration == underline, none, null);\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  --#{$prefix}nav-link-padding-x: 0;\n  --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n  @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n  --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n  --#{$prefix}nav-link-color: var(--#{$prefix}navbar-color);\n  --#{$prefix}nav-link-hover-color: var(--#{$prefix}navbar-hover-color);\n  --#{$prefix}nav-link-disabled-color: var(--#{$prefix}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-left: 0;\n  margin-bottom: 0;\n  list-style: none;\n\n  .nav-link {\n    &.active,\n    &.show {\n      color: var(--#{$prefix}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  padding-top: $nav-link-padding-y;\n  padding-bottom: $nav-link-padding-y;\n  color: var(--#{$prefix}navbar-color);\n\n  a,\n  a:hover,\n  a:focus  {\n    color: var(--#{$prefix}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(--#{$prefix}navbar-toggler-padding-y) var(--#{$prefix}navbar-toggler-padding-x);\n  @include font-size(var(--#{$prefix}navbar-toggler-font-size));\n  line-height: 1;\n  color: var(--#{$prefix}navbar-color);\n  background-color: transparent; // remove default button style\n  border: var(--#{$prefix}border-width) solid var(--#{$prefix}navbar-toggler-border-color); // remove default button style\n  @include border-radius(var(--#{$prefix}navbar-toggler-border-radius));\n  @include transition(var(--#{$prefix}navbar-toggler-transition));\n\n  &:hover {\n    text-decoration: none;\n  }\n\n  &:focus {\n    text-decoration: none;\n    outline: 0;\n    box-shadow: 0 0 0 var(--#{$prefix}navbar-toggler-focus-width);\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(--#{$prefix}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(--#{$prefix}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          flex-direction: row;\n\n          .dropdown-menu {\n            position: absolute;\n          }\n\n          .nav-link {\n            padding-right: var(--#{$prefix}navbar-nav-link-padding-x);\n            padding-left: var(--#{$prefix}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;\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-light {\n  @include deprecate(\"`.navbar-light`\", \"v5.2.0\", \"v6.0.0\", true);\n}\n\n.navbar-dark,\n.navbar[data-bs-theme=\"dark\"] {\n  // scss-docs-start navbar-dark-css-vars\n  --#{$prefix}navbar-color: #{$navbar-dark-color};\n  --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};\n  --#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color};\n  --#{$prefix}navbar-active-color: #{$navbar-dark-active-color};\n  --#{$prefix}navbar-brand-color: #{$navbar-dark-brand-color};\n  --#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n  --#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n  --#{$prefix}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      --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-dark-toggler-icon-bg)};\n    }\n  }\n}\n","//\n// Base styles\n//\n\n.card {\n  // scss-docs-start card-css-vars\n  --#{$prefix}card-spacer-y: #{$card-spacer-y};\n  --#{$prefix}card-spacer-x: #{$card-spacer-x};\n  --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};\n  --#{$prefix}card-title-color: #{$card-title-color};\n  --#{$prefix}card-subtitle-color: #{$card-subtitle-color};\n  --#{$prefix}card-border-width: #{$card-border-width};\n  --#{$prefix}card-border-color: #{$card-border-color};\n  --#{$prefix}card-border-radius: #{$card-border-radius};\n  --#{$prefix}card-box-shadow: #{$card-box-shadow};\n  --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};\n  --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};\n  --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};\n  --#{$prefix}card-cap-bg: #{$card-cap-bg};\n  --#{$prefix}card-cap-color: #{$card-cap-color};\n  --#{$prefix}card-height: #{$card-height};\n  --#{$prefix}card-color: #{$card-color};\n  --#{$prefix}card-bg: #{$card-bg};\n  --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};\n  --#{$prefix}card-group-margin: #{$card-group-margin};\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(--#{$prefix}card-height);\n  color: var(--#{$prefix}body-color);\n  word-wrap: break-word;\n  background-color: var(--#{$prefix}card-bg);\n  background-clip: border-box;\n  border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n  @include border-radius(var(--#{$prefix}card-border-radius));\n  @include box-shadow(var(--#{$prefix}card-box-shadow));\n\n  > hr {\n    margin-right: 0;\n    margin-left: 0;\n  }\n\n  > .list-group {\n    border-top: inherit;\n    border-bottom: inherit;\n\n    &:first-child {\n      border-top-width: 0;\n      @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n    }\n\n    &:last-child  {\n      border-bottom-width: 0;\n      @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n    }\n  }\n\n  // Due to specificity of the above selector (`.card > .list-group`), we must\n  // use a child selector here to prevent double borders.\n  > .card-header + .list-group,\n  > .list-group + .card-footer {\n    border-top: 0;\n  }\n}\n\n.card-body {\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  padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);\n  color: var(--#{$prefix}card-color);\n}\n\n.card-title {\n  margin-bottom: var(--#{$prefix}card-title-spacer-y);\n  color: var(--#{$prefix}card-title-color);\n}\n\n.card-subtitle {\n  margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list\n  margin-bottom: 0;\n  color: var(--#{$prefix}card-subtitle-color);\n}\n\n.card-text:last-child {\n  margin-bottom: 0;\n}\n\n.card-link {\n  &:hover {\n    text-decoration: if($link-hover-decoration == underline, none, null);\n  }\n\n  + .card-link {\n    margin-left: var(--#{$prefix}card-spacer-x);\n  }\n}\n\n//\n// Optional textual caps\n//\n\n.card-header {\n  padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n  margin-bottom: 0; // Removes the default margin-bottom of <hN>\n  color: var(--#{$prefix}card-cap-color);\n  background-color: var(--#{$prefix}card-cap-bg);\n  border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n  &:first-child {\n    @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);\n  }\n}\n\n.card-footer {\n  padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n  color: var(--#{$prefix}card-cap-color);\n  background-color: var(--#{$prefix}card-cap-bg);\n  border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n  &:last-child {\n    @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));\n  }\n}\n\n\n//\n// Header navs\n//\n\n.card-header-tabs {\n  margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n  margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list\n  margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n  border-bottom: 0;\n\n  .nav-link.active {\n    background-color: var(--#{$prefix}card-bg);\n    border-bottom-color: var(--#{$prefix}card-bg);\n  }\n}\n\n.card-header-pills {\n  margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n  margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list\n}\n\n// Card image\n.card-img-overlay {\n  position: absolute;\n  top: 0;\n  right: 0;\n  bottom: 0;\n  left: 0;\n  padding: var(--#{$prefix}card-img-overlay-padding);\n  @include border-radius(var(--#{$prefix}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}\n\n.card-img,\n.card-img-top {\n  @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n}\n\n.card-img,\n.card-img-bottom {\n  @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n}\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(--#{$prefix}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-left: 0;\n        border-left: 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            // stylelint-disable-next-line property-disallowed-list\n            border-top-right-radius: 0;\n          }\n          > .card-img-bottom,\n          > .card-footer {\n            // stylelint-disable-next-line property-disallowed-list\n            border-bottom-right-radius: 0;\n          }\n        }\n\n        &:not(:first-child) {\n          @include border-start-radius(0);\n\n          > .card-img-top,\n          > .card-header {\n            // stylelint-disable-next-line property-disallowed-list\n            border-top-left-radius: 0;\n          }\n          > .card-img-bottom,\n          > .card-footer {\n            // stylelint-disable-next-line property-disallowed-list\n            border-bottom-left-radius: 0;\n          }\n        }\n      }\n    }\n  }\n}\n","//\n// Base styles\n//\n\n.accordion {\n  // scss-docs-start accordion-css-vars\n  --#{$prefix}accordion-color: #{$accordion-color};\n  --#{$prefix}accordion-bg: #{$accordion-bg};\n  --#{$prefix}accordion-transition: #{$accordion-transition};\n  --#{$prefix}accordion-border-color: #{$accordion-border-color};\n  --#{$prefix}accordion-border-width: #{$accordion-border-width};\n  --#{$prefix}accordion-border-radius: #{$accordion-border-radius};\n  --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};\n  --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x};\n  --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};\n  --#{$prefix}accordion-btn-color: #{$accordion-button-color};\n  --#{$prefix}accordion-btn-bg: #{$accordion-button-bg};\n  --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)};\n  --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width};\n  --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};\n  --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};\n  --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)};\n  --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};\n  --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};\n  --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};\n  --#{$prefix}accordion-active-color: #{$accordion-button-active-color};\n  --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg};\n  // scss-docs-end accordion-css-vars\n}\n\n.accordion-button {\n  position: relative;\n  display: flex;\n  align-items: center;\n  width: 100%;\n  padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x);\n  @include font-size($font-size-base);\n  color: var(--#{$prefix}accordion-btn-color);\n  text-align: left; // Reset button style\n  background-color: var(--#{$prefix}accordion-btn-bg);\n  border: 0;\n  @include border-radius(0);\n  overflow-anchor: none;\n  @include transition(var(--#{$prefix}accordion-transition));\n\n  &:not(.collapsed) {\n    color: var(--#{$prefix}accordion-active-color);\n    background-color: var(--#{$prefix}accordion-active-bg);\n    box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list\n\n    &::after {\n      background-image: var(--#{$prefix}accordion-btn-active-icon);\n      transform: var(--#{$prefix}accordion-btn-icon-transform);\n    }\n  }\n\n  // Accordion icon\n  &::after {\n    flex-shrink: 0;\n    width: var(--#{$prefix}accordion-btn-icon-width);\n    height: var(--#{$prefix}accordion-btn-icon-width);\n    margin-left: auto;\n    content: \"\";\n    background-image: var(--#{$prefix}accordion-btn-icon);\n    background-repeat: no-repeat;\n    background-size: var(--#{$prefix}accordion-btn-icon-width);\n    @include transition(var(--#{$prefix}accordion-btn-icon-transition));\n  }\n\n  &:hover {\n    z-index: 2;\n  }\n\n  &:focus {\n    z-index: 3;\n    outline: 0;\n    box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);\n  }\n}\n\n.accordion-header {\n  margin-bottom: 0;\n}\n\n.accordion-item {\n  color: var(--#{$prefix}accordion-color);\n  background-color: var(--#{$prefix}accordion-bg);\n  border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color);\n\n  &:first-of-type {\n    @include border-top-radius(var(--#{$prefix}accordion-border-radius));\n\n    > .accordion-header .accordion-button {\n      @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));\n    }\n  }\n\n  &:not(:first-of-type) {\n    border-top: 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(--#{$prefix}accordion-border-radius));\n\n    > .accordion-header .accordion-button {\n      &.collapsed {\n        @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));\n      }\n    }\n\n    > .accordion-collapse {\n      @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n    }\n  }\n}\n\n.accordion-body {\n  padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}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-right: 0;\n    border-left: 0;\n    @include border-radius(0);\n\n    &:first-child { border-top: 0; }\n    &:last-child { border-bottom: 0; }\n\n    // stylelint-disable selector-max-class\n    > .accordion-collapse,\n    > .accordion-header .accordion-button,\n    > .accordion-header .accordion-button.collapsed {\n      @include border-radius(0);\n    }\n    // stylelint-enable selector-max-class\n  }\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark) {\n    .accordion-button::after {\n      --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon-dark)};\n      --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon-dark)};\n    }\n  }\n}\n",".breadcrumb {\n  // scss-docs-start breadcrumb-css-vars\n  --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};\n  --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};\n  --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};\n  @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size);\n  --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};\n  --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};\n  --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};\n  --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};\n  --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};\n  // scss-docs-end breadcrumb-css-vars\n\n  display: flex;\n  flex-wrap: wrap;\n  padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x);\n  margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom);\n  @include font-size(var(--#{$prefix}breadcrumb-font-size));\n  list-style: none;\n  background-color: var(--#{$prefix}breadcrumb-bg);\n  @include border-radius(var(--#{$prefix}breadcrumb-border-radius));\n}\n\n.breadcrumb-item {\n  // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n  + .breadcrumb-item {\n    padding-left: var(--#{$prefix}breadcrumb-item-padding-x);\n\n    &::before {\n      float: left; // Suppress inline spacings and underlining of the separator\n      padding-right: var(--#{$prefix}breadcrumb-item-padding-x);\n      color: var(--#{$prefix}breadcrumb-divider-color);\n      content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{\"/* rtl:\"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{\"*/\"};\n    }\n  }\n\n  &.active {\n    color: var(--#{$prefix}breadcrumb-item-active-color);\n  }\n}\n",".pagination {\n  // scss-docs-start pagination-css-vars\n  --#{$prefix}pagination-padding-x: #{$pagination-padding-x};\n  --#{$prefix}pagination-padding-y: #{$pagination-padding-y};\n  @include rfs($pagination-font-size, --#{$prefix}pagination-font-size);\n  --#{$prefix}pagination-color: #{$pagination-color};\n  --#{$prefix}pagination-bg: #{$pagination-bg};\n  --#{$prefix}pagination-border-width: #{$pagination-border-width};\n  --#{$prefix}pagination-border-color: #{$pagination-border-color};\n  --#{$prefix}pagination-border-radius: #{$pagination-border-radius};\n  --#{$prefix}pagination-hover-color: #{$pagination-hover-color};\n  --#{$prefix}pagination-hover-bg: #{$pagination-hover-bg};\n  --#{$prefix}pagination-hover-border-color: #{$pagination-hover-border-color};\n  --#{$prefix}pagination-focus-color: #{$pagination-focus-color};\n  --#{$prefix}pagination-focus-bg: #{$pagination-focus-bg};\n  --#{$prefix}pagination-focus-box-shadow: #{$pagination-focus-box-shadow};\n  --#{$prefix}pagination-active-color: #{$pagination-active-color};\n  --#{$prefix}pagination-active-bg: #{$pagination-active-bg};\n  --#{$prefix}pagination-active-border-color: #{$pagination-active-border-color};\n  --#{$prefix}pagination-disabled-color: #{$pagination-disabled-color};\n  --#{$prefix}pagination-disabled-bg: #{$pagination-disabled-bg};\n  --#{$prefix}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(--#{$prefix}pagination-padding-y) var(--#{$prefix}pagination-padding-x);\n  @include font-size(var(--#{$prefix}pagination-font-size));\n  color: var(--#{$prefix}pagination-color);\n  text-decoration: if($link-decoration == none, null, none);\n  background-color: var(--#{$prefix}pagination-bg);\n  border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color);\n  @include transition($pagination-transition);\n\n  &:hover {\n    z-index: 2;\n    color: var(--#{$prefix}pagination-hover-color);\n    text-decoration: if($link-hover-decoration == underline, none, null);\n    background-color: var(--#{$prefix}pagination-hover-bg);\n    border-color: var(--#{$prefix}pagination-hover-border-color);\n  }\n\n  &:focus {\n    z-index: 3;\n    color: var(--#{$prefix}pagination-focus-color);\n    background-color: var(--#{$prefix}pagination-focus-bg);\n    outline: $pagination-focus-outline;\n    box-shadow: var(--#{$prefix}pagination-focus-box-shadow);\n  }\n\n  &.active,\n  .active > & {\n    z-index: 3;\n    color: var(--#{$prefix}pagination-active-color);\n    @include gradient-bg(var(--#{$prefix}pagination-active-bg));\n    border-color: var(--#{$prefix}pagination-active-border-color);\n  }\n\n  &.disabled,\n  .disabled > & {\n    color: var(--#{$prefix}pagination-disabled-color);\n    pointer-events: none;\n    background-color: var(--#{$prefix}pagination-disabled-bg);\n    border-color: var(--#{$prefix}pagination-disabled-border-color);\n  }\n}\n\n.page-item {\n  &:not(:first-child) .page-link {\n    margin-left: $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(--#{$prefix}pagination-border-radius));\n      }\n    }\n\n    &:last-child {\n      .page-link {\n        @include border-end-radius(var(--#{$prefix}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(--#{$prefix}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","// Pagination\n\n// scss-docs-start pagination-mixin\n@mixin pagination-size($padding-y, $padding-x, $font-size, $border-radius) {\n  --#{$prefix}pagination-padding-x: #{$padding-x};\n  --#{$prefix}pagination-padding-y: #{$padding-y};\n  @include rfs($font-size, --#{$prefix}pagination-font-size);\n  --#{$prefix}pagination-border-radius: #{$border-radius};\n}\n// scss-docs-end pagination-mixin\n","// Base class\n//\n// Requires one of the contextual, color modifier classes for `color` and\n// `background-color`.\n\n.badge {\n  // scss-docs-start badge-css-vars\n  --#{$prefix}badge-padding-x: #{$badge-padding-x};\n  --#{$prefix}badge-padding-y: #{$badge-padding-y};\n  @include rfs($badge-font-size, --#{$prefix}badge-font-size);\n  --#{$prefix}badge-font-weight: #{$badge-font-weight};\n  --#{$prefix}badge-color: #{$badge-color};\n  --#{$prefix}badge-border-radius: #{$badge-border-radius};\n  // scss-docs-end badge-css-vars\n\n  display: inline-block;\n  padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);\n  @include font-size(var(--#{$prefix}badge-font-size));\n  font-weight: var(--#{$prefix}badge-font-weight);\n  line-height: 1;\n  color: var(--#{$prefix}badge-color);\n  text-align: center;\n  white-space: nowrap;\n  vertical-align: baseline;\n  @include border-radius(var(--#{$prefix}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// Base styles\n//\n\n.alert {\n  // scss-docs-start alert-css-vars\n  --#{$prefix}alert-bg: transparent;\n  --#{$prefix}alert-padding-x: #{$alert-padding-x};\n  --#{$prefix}alert-padding-y: #{$alert-padding-y};\n  --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};\n  --#{$prefix}alert-color: inherit;\n  --#{$prefix}alert-border-color: transparent;\n  --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color);\n  --#{$prefix}alert-border-radius: #{$alert-border-radius};\n  --#{$prefix}alert-link-color: inherit;\n  // scss-docs-end alert-css-vars\n\n  position: relative;\n  padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);\n  margin-bottom: var(--#{$prefix}alert-margin-bottom);\n  color: var(--#{$prefix}alert-color);\n  background-color: var(--#{$prefix}alert-bg);\n  border: var(--#{$prefix}alert-border);\n  @include border-radius(var(--#{$prefix}alert-border-radius));\n}\n\n// Headings for larger alerts\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(--#{$prefix}alert-link-color);\n}\n\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n.alert-dismissible {\n  padding-right: $alert-dismissible-padding-r;\n\n  // Adjust close link position\n  .btn-close {\n    position: absolute;\n    top: 0;\n    right: 0;\n    z-index: $stretched-link-z-index + 1;\n    padding: $alert-padding-y * 1.25 $alert-padding-x;\n  }\n}\n\n\n// scss-docs-start alert-modifiers\n// Generate contextual modifier classes for colorizing the alert\n@each $state in map-keys($theme-colors) {\n  .alert-#{$state} {\n    --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text-emphasis);\n    --#{$prefix}alert-bg: var(--#{$prefix}#{$state}-bg-subtle);\n    --#{$prefix}alert-border-color: var(--#{$prefix}#{$state}-border-subtle);\n    --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis);\n  }\n}\n// scss-docs-end alert-modifiers\n","// Disable animation if transitions are disabled\n\n// scss-docs-start progress-keyframes\n@if $enable-transitions {\n  @keyframes progress-bar-stripes {\n    0% { background-position-x: var(--#{$prefix}progress-height); }\n  }\n}\n// scss-docs-end progress-keyframes\n\n.progress,\n.progress-stacked {\n  // scss-docs-start progress-css-vars\n  --#{$prefix}progress-height: #{$progress-height};\n  @include rfs($progress-font-size, --#{$prefix}progress-font-size);\n  --#{$prefix}progress-bg: #{$progress-bg};\n  --#{$prefix}progress-border-radius: #{$progress-border-radius};\n  --#{$prefix}progress-box-shadow: #{$progress-box-shadow};\n  --#{$prefix}progress-bar-color: #{$progress-bar-color};\n  --#{$prefix}progress-bar-bg: #{$progress-bar-bg};\n  --#{$prefix}progress-bar-transition: #{$progress-bar-transition};\n  // scss-docs-end progress-css-vars\n\n  display: flex;\n  height: var(--#{$prefix}progress-height);\n  overflow: hidden; // force rounded corners by cropping it\n  @include font-size(var(--#{$prefix}progress-font-size));\n  background-color: var(--#{$prefix}progress-bg);\n  @include border-radius(var(--#{$prefix}progress-border-radius));\n  @include box-shadow(var(--#{$prefix}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(--#{$prefix}progress-bar-color);\n  text-align: center;\n  white-space: nowrap;\n  background-color: var(--#{$prefix}progress-bar-bg);\n  @include transition(var(--#{$prefix}progress-bar-transition));\n}\n\n.progress-bar-striped {\n  @include gradient-striped();\n  background-size: var(--#{$prefix}progress-height) var(--#{$prefix}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","// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n  // scss-docs-start list-group-css-vars\n  --#{$prefix}list-group-color: #{$list-group-color};\n  --#{$prefix}list-group-bg: #{$list-group-bg};\n  --#{$prefix}list-group-border-color: #{$list-group-border-color};\n  --#{$prefix}list-group-border-width: #{$list-group-border-width};\n  --#{$prefix}list-group-border-radius: #{$list-group-border-radius};\n  --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};\n  --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};\n  --#{$prefix}list-group-action-color: #{$list-group-action-color};\n  --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};\n  --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};\n  --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};\n  --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};\n  --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};\n  --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};\n  --#{$prefix}list-group-active-color: #{$list-group-active-color};\n  --#{$prefix}list-group-active-bg: #{$list-group-active-bg};\n  --#{$prefix}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-left: 0; // reset padding because ul and ol\n  margin-bottom: 0;\n  @include border-radius(var(--#{$prefix}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(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);\n  color: var(--#{$prefix}list-group-color);\n  text-decoration: if($link-decoration == none, null, none);\n  background-color: var(--#{$prefix}list-group-bg);\n  border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}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(--#{$prefix}list-group-disabled-color);\n    pointer-events: none;\n    background-color: var(--#{$prefix}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(--#{$prefix}list-group-active-color);\n    background-color: var(--#{$prefix}list-group-active-bg);\n    border-color: var(--#{$prefix}list-group-active-border-color);\n  }\n\n  // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n  & + .list-group-item {\n    border-top-width: 0;\n\n    &.active {\n      margin-top: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list\n      border-top-width: var(--#{$prefix}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(--#{$prefix}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(--#{$prefix}list-group-action-hover-color);\n      text-decoration: none;\n      background-color: var(--#{$prefix}list-group-action-hover-bg);\n    }\n\n    &:active {\n      color: var(--#{$prefix}list-group-action-active-color);\n      background-color: var(--#{$prefix}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(--#{$prefix}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(--#{$prefix}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-top-width: var(--#{$prefix}list-group-border-width);\n          border-left-width: 0;\n\n          &.active {\n            margin-left: calc(-1 * var(--#{$prefix}list-group-border-width)); // stylelint-disable-line function-disallowed-list\n            border-left-width: var(--#{$prefix}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(--#{$prefix}list-group-border-width);\n\n    &:last-child {\n      border-bottom-width: 0;\n    }\n  }\n}\n\n\n// scss-docs-start list-group-modifiers\n// List group contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n@each $state in map-keys($theme-colors) {\n  .list-group-item-#{$state} {\n    --#{$prefix}list-group-color: var(--#{$prefix}#{$state}-text-emphasis);\n    --#{$prefix}list-group-bg: var(--#{$prefix}#{$state}-bg-subtle);\n    --#{$prefix}list-group-border-color: var(--#{$prefix}#{$state}-border-subtle);\n    --#{$prefix}list-group-action-hover-color: var(--#{$prefix}emphasis-color);\n    --#{$prefix}list-group-action-hover-bg: var(--#{$prefix}#{$state}-border-subtle);\n    --#{$prefix}list-group-action-active-color: var(--#{$prefix}emphasis-color);\n    --#{$prefix}list-group-action-active-bg: var(--#{$prefix}#{$state}-border-subtle);\n    --#{$prefix}list-group-active-color: var(--#{$prefix}#{$state}-bg-subtle);\n    --#{$prefix}list-group-active-bg: var(--#{$prefix}#{$state}-text-emphasis);\n    --#{$prefix}list-group-active-border-color: var(--#{$prefix}#{$state}-text-emphasis);\n  }\n}\n// scss-docs-end list-group-modifiers\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.btn-close {\n  // scss-docs-start close-css-vars\n  --#{$prefix}btn-close-color: #{$btn-close-color};\n  --#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };\n  --#{$prefix}btn-close-opacity: #{$btn-close-opacity};\n  --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};\n  --#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow};\n  --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};\n  --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};\n  // scss-docs-end close-css-vars\n\n  box-sizing: content-box;\n  width: $btn-close-width;\n  height: $btn-close-height;\n  padding: $btn-close-padding-y $btn-close-padding-x;\n  color: var(--#{$prefix}btn-close-color);\n  background: transparent var(--#{$prefix}btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements\n  filter: var(--#{$prefix}btn-close-filter);\n  border: 0; // for button elements\n  @include border-radius();\n  opacity: var(--#{$prefix}btn-close-opacity);\n\n  // Override <a>'s hover style\n  &:hover {\n    color: var(--#{$prefix}btn-close-color);\n    text-decoration: none;\n    opacity: var(--#{$prefix}btn-close-hover-opacity);\n  }\n\n  &:focus {\n    outline: 0;\n    box-shadow: var(--#{$prefix}btn-close-focus-shadow);\n    opacity: var(--#{$prefix}btn-close-focus-opacity);\n  }\n\n  &:disabled,\n  &.disabled {\n    pointer-events: none;\n    user-select: none;\n    opacity: var(--#{$prefix}btn-close-disabled-opacity);\n  }\n}\n\n@mixin btn-close-white() {\n  --#{$prefix}btn-close-filter: #{$btn-close-filter-dark};\n}\n\n.btn-close-white {\n  @include btn-close-white();\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  --#{$prefix}btn-close-filter: #{$btn-close-filter};\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    @include btn-close-white();\n  }\n}\n",".toast {\n  // scss-docs-start toast-css-vars\n  --#{$prefix}toast-zindex: #{$zindex-toast};\n  --#{$prefix}toast-padding-x: #{$toast-padding-x};\n  --#{$prefix}toast-padding-y: #{$toast-padding-y};\n  --#{$prefix}toast-spacing: #{$toast-spacing};\n  --#{$prefix}toast-max-width: #{$toast-max-width};\n  @include rfs($toast-font-size, --#{$prefix}toast-font-size);\n  --#{$prefix}toast-color: #{$toast-color};\n  --#{$prefix}toast-bg: #{$toast-background-color};\n  --#{$prefix}toast-border-width: #{$toast-border-width};\n  --#{$prefix}toast-border-color: #{$toast-border-color};\n  --#{$prefix}toast-border-radius: #{$toast-border-radius};\n  --#{$prefix}toast-box-shadow: #{$toast-box-shadow};\n  --#{$prefix}toast-header-color: #{$toast-header-color};\n  --#{$prefix}toast-header-bg: #{$toast-header-background-color};\n  --#{$prefix}toast-header-border-color: #{$toast-header-border-color};\n  // scss-docs-end toast-css-vars\n\n  width: var(--#{$prefix}toast-max-width);\n  max-width: 100%;\n  @include font-size(var(--#{$prefix}toast-font-size));\n  color: var(--#{$prefix}toast-color);\n  pointer-events: auto;\n  background-color: var(--#{$prefix}toast-bg);\n  background-clip: padding-box;\n  border: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-border-color);\n  box-shadow: var(--#{$prefix}toast-box-shadow);\n  @include border-radius(var(--#{$prefix}toast-border-radius));\n\n  &.showing {\n    opacity: 0;\n  }\n\n  &:not(.show) {\n    display: none;\n  }\n}\n\n.toast-container {\n  --#{$prefix}toast-zindex: #{$zindex-toast};\n\n  position: absolute;\n  z-index: var(--#{$prefix}toast-zindex);\n  width: max-content;\n  max-width: 100%;\n  pointer-events: none;\n\n  > :not(:last-child) {\n    margin-bottom: var(--#{$prefix}toast-spacing);\n  }\n}\n\n.toast-header {\n  display: flex;\n  align-items: center;\n  padding: var(--#{$prefix}toast-padding-y) var(--#{$prefix}toast-padding-x);\n  color: var(--#{$prefix}toast-header-color);\n  background-color: var(--#{$prefix}toast-header-bg);\n  background-clip: padding-box;\n  border-bottom: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-header-border-color);\n  @include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));\n\n  .btn-close {\n    margin-right: calc(-.5 * var(--#{$prefix}toast-padding-x)); // stylelint-disable-line function-disallowed-list\n    margin-left: var(--#{$prefix}toast-padding-x);\n  }\n}\n\n.toast-body {\n  padding: var(--#{$prefix}toast-padding-x);\n  word-wrap: break-word;\n}\n","// stylelint-disable function-disallowed-list\n\n// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and stuff\n\n\n// Container that the modal scrolls within\n.modal {\n  // scss-docs-start modal-css-vars\n  --#{$prefix}modal-zindex: #{$zindex-modal};\n  --#{$prefix}modal-width: #{$modal-md};\n  --#{$prefix}modal-padding: #{$modal-inner-padding};\n  --#{$prefix}modal-margin: #{$modal-dialog-margin};\n  --#{$prefix}modal-color: #{$modal-content-color};\n  --#{$prefix}modal-bg: #{$modal-content-bg};\n  --#{$prefix}modal-border-color: #{$modal-content-border-color};\n  --#{$prefix}modal-border-width: #{$modal-content-border-width};\n  --#{$prefix}modal-border-radius: #{$modal-content-border-radius};\n  --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};\n  --#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};\n  --#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};\n  --#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};\n  --#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y\n  --#{$prefix}modal-header-border-color: #{$modal-header-border-color};\n  --#{$prefix}modal-header-border-width: #{$modal-header-border-width};\n  --#{$prefix}modal-title-line-height: #{$modal-title-line-height};\n  --#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};\n  --#{$prefix}modal-footer-bg: #{$modal-footer-bg};\n  --#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};\n  --#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};\n  // scss-docs-end modal-css-vars\n\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: var(--#{$prefix}modal-zindex);\n  display: none;\n  width: 100%;\n  height: 100%;\n  overflow-x: hidden;\n  overflow-y: auto;\n  // Prevent Chrome on Windows from adding a focus outline. For details, see\n  // https://github.com/twbs/bootstrap/pull/10951.\n  outline: 0;\n  // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n  // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n  // See also https://github.com/twbs/bootstrap/issues/17695\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n  position: relative;\n  width: auto;\n  margin: var(--#{$prefix}modal-margin);\n  // allow clicks to pass through for custom click handling to close modal\n  pointer-events: none;\n\n  // When fading in the modal, animate it to slide down\n  .modal.fade & {\n    transform: $modal-fade-transform;\n    @include transition($modal-transition);\n  }\n  .modal.show & {\n    transform: $modal-show-transform;\n  }\n\n  // When trying to close, animate focus to scale\n  .modal.modal-static & {\n    transform: $modal-scale-transform;\n  }\n}\n\n.modal-dialog-scrollable {\n  height: calc(100% - var(--#{$prefix}modal-margin) * 2);\n\n  .modal-content {\n    max-height: 100%;\n    overflow: hidden;\n  }\n\n  .modal-body {\n    overflow-y: auto;\n  }\n}\n\n.modal-dialog-centered {\n  display: flex;\n  align-items: center;\n  min-height: calc(100% - var(--#{$prefix}modal-margin) * 2);\n}\n\n// Actual modal\n.modal-content {\n  position: relative;\n  display: flex;\n  flex-direction: column;\n  width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n  // counteract the pointer-events: none; in the .modal-dialog\n  color: var(--#{$prefix}modal-color);\n  pointer-events: auto;\n  background-color: var(--#{$prefix}modal-bg);\n  background-clip: padding-box;\n  border: var(--#{$prefix}modal-border-width) solid var(--#{$prefix}modal-border-color);\n  @include border-radius(var(--#{$prefix}modal-border-radius));\n  @include box-shadow(var(--#{$prefix}modal-box-shadow));\n  // Remove focus outline from opened modal\n  outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n  // scss-docs-start modal-backdrop-css-vars\n  --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};\n  --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};\n  --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};\n  // scss-docs-end modal-backdrop-css-vars\n\n  @include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n  display: flex;\n  flex-shrink: 0;\n  align-items: center;\n  padding: var(--#{$prefix}modal-header-padding);\n  border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);\n  @include border-top-radius(var(--#{$prefix}modal-inner-border-radius));\n\n  .btn-close {\n    padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);\n    // Split properties to avoid invalid calc() function if value is 0\n    margin-top: calc(-.5 * var(--#{$prefix}modal-header-padding-y));\n    margin-right: calc(-.5 * var(--#{$prefix}modal-header-padding-x));\n    margin-bottom: calc(-.5 * var(--#{$prefix}modal-header-padding-y));\n    margin-left: auto;\n  }\n}\n\n// Title text within header\n.modal-title {\n  margin-bottom: 0;\n  line-height: var(--#{$prefix}modal-title-line-height);\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n  position: relative;\n  // Enable `flex-grow: 1` so that the body take up as much space as possible\n  // when there should be a fixed height on `.modal-dialog`.\n  flex: 1 1 auto;\n  padding: var(--#{$prefix}modal-padding);\n}\n\n// Footer (for actions)\n.modal-footer {\n  display: flex;\n  flex-shrink: 0;\n  flex-wrap: wrap;\n  align-items: center; // vertically center\n  justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n  padding: calc(var(--#{$prefix}modal-padding) - var(--#{$prefix}modal-footer-gap) * .5);\n  background-color: var(--#{$prefix}modal-footer-bg);\n  border-top: var(--#{$prefix}modal-footer-border-width) solid var(--#{$prefix}modal-footer-border-color);\n  @include border-bottom-radius(var(--#{$prefix}modal-inner-border-radius));\n\n  // Place margin between footer elements\n  // This solution is far from ideal because of the universal selector usage,\n  // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n  > * {\n    margin: calc(var(--#{$prefix}modal-footer-gap) * .5); // Todo in v6: replace with gap on parent class\n  }\n}\n\n// Scale up the modal\n@include media-breakpoint-up(sm) {\n  .modal {\n    --#{$prefix}modal-margin: #{$modal-dialog-margin-y-sm-up};\n    --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-sm-up};\n  }\n\n  // Automatically set modal's width for larger viewports\n  .modal-dialog {\n    max-width: var(--#{$prefix}modal-width);\n    margin-right: auto;\n    margin-left: auto;\n  }\n\n  .modal-sm {\n    --#{$prefix}modal-width: #{$modal-sm};\n  }\n}\n\n@include media-breakpoint-up(lg) {\n  .modal-lg,\n  .modal-xl {\n    --#{$prefix}modal-width: #{$modal-lg};\n  }\n}\n\n@include media-breakpoint-up(xl) {\n  .modal-xl {\n    --#{$prefix}modal-width: #{$modal-xl};\n  }\n}\n\n// scss-docs-start modal-fullscreen-loop\n@each $breakpoint in map-keys($grid-breakpoints) {\n  $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n  $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n  @include media-breakpoint-down($breakpoint) {\n    .modal-fullscreen#{$postfix} {\n      width: 100vw;\n      max-width: none;\n      height: 100%;\n      margin: 0;\n\n      .modal-content {\n        height: 100%;\n        border: 0;\n        @include border-radius(0);\n      }\n\n      .modal-header,\n      .modal-footer {\n        @include border-radius(0);\n      }\n\n      .modal-body {\n        overflow-y: auto;\n      }\n    }\n  }\n}\n// scss-docs-end modal-fullscreen-loop\n","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: $zindex;\n  width: 100vw;\n  height: 100vh;\n  background-color: $backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $backdrop-opacity; }\n}\n","// Base class\n.tooltip {\n  // scss-docs-start tooltip-css-vars\n  --#{$prefix}tooltip-zindex: #{$zindex-tooltip};\n  --#{$prefix}tooltip-max-width: #{$tooltip-max-width};\n  --#{$prefix}tooltip-padding-x: #{$tooltip-padding-x};\n  --#{$prefix}tooltip-padding-y: #{$tooltip-padding-y};\n  --#{$prefix}tooltip-margin: #{$tooltip-margin};\n  @include rfs($tooltip-font-size, --#{$prefix}tooltip-font-size);\n  --#{$prefix}tooltip-color: #{$tooltip-color};\n  --#{$prefix}tooltip-bg: #{$tooltip-bg};\n  --#{$prefix}tooltip-border-radius: #{$tooltip-border-radius};\n  --#{$prefix}tooltip-opacity: #{$tooltip-opacity};\n  --#{$prefix}tooltip-arrow-width: #{$tooltip-arrow-width};\n  --#{$prefix}tooltip-arrow-height: #{$tooltip-arrow-height};\n  // scss-docs-end tooltip-css-vars\n\n  z-index: var(--#{$prefix}tooltip-zindex);\n  display: block;\n  margin: var(--#{$prefix}tooltip-margin);\n  @include deprecate(\"`$tooltip-margin`\", \"v5\", \"v5.x\", true);\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  @include font-size(var(--#{$prefix}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(--#{$prefix}tooltip-opacity); }\n\n  .tooltip-arrow {\n    display: block;\n    width: var(--#{$prefix}tooltip-arrow-width);\n    height: var(--#{$prefix}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(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list\n\n  &::before {\n    top: -1px;\n    border-width: var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n    border-top-color: var(--#{$prefix}tooltip-bg);\n  }\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow {\n  left: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list\n  width: var(--#{$prefix}tooltip-arrow-height);\n  height: var(--#{$prefix}tooltip-arrow-width);\n\n  &::before {\n    right: -1px;\n    border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n    border-right-color: var(--#{$prefix}tooltip-bg);\n  }\n}\n\n/* rtl:end:ignore */\n\n.bs-tooltip-bottom .tooltip-arrow {\n  top: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list\n\n  &::before {\n    bottom: -1px;\n    border-width: 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height); // stylelint-disable-line function-disallowed-list\n    border-bottom-color: var(--#{$prefix}tooltip-bg);\n  }\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow {\n  right: calc(-1 * var(--#{$prefix}tooltip-arrow-height)); // stylelint-disable-line function-disallowed-list\n  width: var(--#{$prefix}tooltip-arrow-height);\n  height: var(--#{$prefix}tooltip-arrow-width);\n\n  &::before {\n    left: -1px;\n    border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height); // stylelint-disable-line function-disallowed-list\n    border-left-color: var(--#{$prefix}tooltip-bg);\n  }\n}\n\n/* rtl:end:ignore */\n\n.bs-tooltip-auto {\n  &[data-popper-placement^=\"top\"] {\n    @extend .bs-tooltip-top;\n  }\n  &[data-popper-placement^=\"right\"] {\n    @extend .bs-tooltip-end;\n  }\n  &[data-popper-placement^=\"bottom\"] {\n    @extend .bs-tooltip-bottom;\n  }\n  &[data-popper-placement^=\"left\"] {\n    @extend .bs-tooltip-start;\n  }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n  max-width: var(--#{$prefix}tooltip-max-width);\n  padding: var(--#{$prefix}tooltip-padding-y) var(--#{$prefix}tooltip-padding-x);\n  color: var(--#{$prefix}tooltip-color);\n  text-align: center;\n  background-color: var(--#{$prefix}tooltip-bg);\n  @include border-radius(var(--#{$prefix}tooltip-border-radius));\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: left; // Fallback for where `start` is not supported\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",".popover {\n  // scss-docs-start popover-css-vars\n  --#{$prefix}popover-zindex: #{$zindex-popover};\n  --#{$prefix}popover-max-width: #{$popover-max-width};\n  @include rfs($popover-font-size, --#{$prefix}popover-font-size);\n  --#{$prefix}popover-bg: #{$popover-bg};\n  --#{$prefix}popover-border-width: #{$popover-border-width};\n  --#{$prefix}popover-border-color: #{$popover-border-color};\n  --#{$prefix}popover-border-radius: #{$popover-border-radius};\n  --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};\n  --#{$prefix}popover-box-shadow: #{$popover-box-shadow};\n  --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};\n  --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};\n  @include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size);\n  --#{$prefix}popover-header-color: #{$popover-header-color};\n  --#{$prefix}popover-header-bg: #{$popover-header-bg};\n  --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};\n  --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};\n  --#{$prefix}popover-body-color: #{$popover-body-color};\n  --#{$prefix}popover-arrow-width: #{$popover-arrow-width};\n  --#{$prefix}popover-arrow-height: #{$popover-arrow-height};\n  --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);\n  // scss-docs-end popover-css-vars\n\n  z-index: var(--#{$prefix}popover-zindex);\n  display: block;\n  max-width: var(--#{$prefix}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  @include font-size(var(--#{$prefix}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(--#{$prefix}popover-bg);\n  background-clip: padding-box;\n  border: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n  @include border-radius(var(--#{$prefix}popover-border-radius));\n  @include box-shadow(var(--#{$prefix}popover-box-shadow));\n\n  .popover-arrow {\n    display: block;\n    width: var(--#{$prefix}popover-arrow-width);\n    height: var(--#{$prefix}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(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n\n    &::before,\n    &::after {\n      border-width: var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n    }\n\n    &::before {\n      bottom: 0;\n      border-top-color: var(--#{$prefix}popover-arrow-border);\n    }\n\n    &::after {\n      bottom: var(--#{$prefix}popover-border-width);\n      border-top-color: var(--#{$prefix}popover-bg);\n    }\n  }\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end {\n  > .popover-arrow {\n    left: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n    width: var(--#{$prefix}popover-arrow-height);\n    height: var(--#{$prefix}popover-arrow-width);\n\n    &::before,\n    &::after {\n      border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0; // stylelint-disable-line function-disallowed-list\n    }\n\n    &::before {\n      left: 0;\n      border-right-color: var(--#{$prefix}popover-arrow-border);\n    }\n\n    &::after {\n      left: var(--#{$prefix}popover-border-width);\n      border-right-color: var(--#{$prefix}popover-bg);\n    }\n  }\n}\n\n/* rtl:end:ignore */\n\n.bs-popover-bottom {\n  > .popover-arrow {\n    top: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n\n    &::before,\n    &::after {\n      border-width: 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height); // stylelint-disable-line function-disallowed-list\n    }\n\n    &::before {\n      top: 0;\n      border-bottom-color: var(--#{$prefix}popover-arrow-border);\n    }\n\n    &::after {\n      top: var(--#{$prefix}popover-border-width);\n      border-bottom-color: var(--#{$prefix}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(--#{$prefix}popover-arrow-width);\n    margin-left: calc(-.5 * var(--#{$prefix}popover-arrow-width)); // stylelint-disable-line function-disallowed-list\n    content: \"\";\n    border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg);\n  }\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start {\n  > .popover-arrow {\n    right: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width)); // stylelint-disable-line function-disallowed-list\n    width: var(--#{$prefix}popover-arrow-height);\n    height: var(--#{$prefix}popover-arrow-width);\n\n    &::before,\n    &::after {\n      border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height); // stylelint-disable-line function-disallowed-list\n    }\n\n    &::before {\n      right: 0;\n      border-left-color: var(--#{$prefix}popover-arrow-border);\n    }\n\n    &::after {\n      right: var(--#{$prefix}popover-border-width);\n      border-left-color: var(--#{$prefix}popover-bg);\n    }\n  }\n}\n\n/* rtl:end:ignore */\n\n.bs-popover-auto {\n  &[data-popper-placement^=\"top\"] {\n    @extend .bs-popover-top;\n  }\n  &[data-popper-placement^=\"right\"] {\n    @extend .bs-popover-end;\n  }\n  &[data-popper-placement^=\"bottom\"] {\n    @extend .bs-popover-bottom;\n  }\n  &[data-popper-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(--#{$prefix}popover-header-padding-y) var(--#{$prefix}popover-header-padding-x);\n  margin-bottom: 0; // Reset the default from Reboot\n  @include font-size(var(--#{$prefix}popover-header-font-size));\n  color: var(--#{$prefix}popover-header-color);\n  background-color: var(--#{$prefix}popover-header-bg);\n  border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n  @include border-top-radius(var(--#{$prefix}popover-inner-border-radius));\n\n  &:empty {\n    display: none;\n  }\n}\n\n.popover-body {\n  padding: var(--#{$prefix}popover-body-padding-y) var(--#{$prefix}popover-body-padding-x);\n  color: var(--#{$prefix}popover-body-color);\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.carousel {\n  position: relative;\n}\n\n.carousel.pointer-event {\n  touch-action: pan-y;\n}\n\n.carousel-inner {\n  position: relative;\n  width: 100%;\n  overflow: hidden;\n  @include clearfix();\n}\n\n.carousel-item {\n  position: relative;\n  display: none;\n  float: left;\n  width: 100%;\n  margin-right: -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  top: 0;\n  bottom: 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(--#{$prefix}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  left: 0;\n  background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n}\n.carousel-control-next {\n  right: 0;\n  background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), 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) #{\"/*rtl:\" + escape-svg($carousel-control-next-icon-bg) + \"*/\"};\n}\n.carousel-control-next-icon {\n  background-image: escape-svg($carousel-control-next-icon-bg) #{\"/*rtl:\" + 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  right: 0;\n  bottom: 0;\n  left: 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-right: $carousel-control-width;\n  margin-bottom: 1rem;\n  margin-left: $carousel-control-width;\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-right: $carousel-indicator-spacer;\n    margin-left: $carousel-indicator-spacer;\n    text-indent: -999px;\n    cursor: pointer;\n    background-color: var(--#{$prefix}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-top: $carousel-indicator-hit-area-height solid transparent;\n    border-bottom: $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(--#{$prefix}carousel-caption-color);\n  text-align: center;\n}\n\n// Dark mode carousel\n\n@mixin carousel-dark() {\n  --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark};\n  --#{$prefix}carousel-caption-color: #{$carousel-caption-color-dark};\n  --#{$prefix}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  --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg};\n  --#{$prefix}carousel-caption-color: #{$carousel-caption-color};\n  --#{$prefix}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","// scss-docs-start clearfix\n@mixin clearfix() {\n  &::after {\n    display: block;\n    clear: both;\n    content: \"\";\n  }\n}\n// scss-docs-end clearfix\n","//\n// Rotating border\n//\n\n.spinner-grow,\n.spinner-border {\n  display: inline-block;\n  flex-shrink: 0;\n  width: var(--#{$prefix}spinner-width);\n  height: var(--#{$prefix}spinner-height);\n  vertical-align: var(--#{$prefix}spinner-vertical-align);\n  // stylelint-disable-next-line property-disallowed-list\n  border-radius: 50%;\n  animation: var(--#{$prefix}spinner-animation-speed) linear infinite var(--#{$prefix}spinner-animation-name);\n}\n\n// scss-docs-start spinner-border-keyframes\n@keyframes spinner-border {\n  to { transform: rotate(360deg) #{\"/* rtl:ignore */\"}; }\n}\n// scss-docs-end spinner-border-keyframes\n\n.spinner-border {\n  // scss-docs-start spinner-border-css-vars\n  --#{$prefix}spinner-width: #{$spinner-width};\n  --#{$prefix}spinner-height: #{$spinner-height};\n  --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n  --#{$prefix}spinner-border-width: #{$spinner-border-width};\n  --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n  --#{$prefix}spinner-animation-name: spinner-border;\n  // scss-docs-end spinner-border-css-vars\n\n  border: var(--#{$prefix}spinner-border-width) solid currentcolor;\n  border-right-color: transparent;\n}\n\n.spinner-border-sm {\n  // scss-docs-start spinner-border-sm-css-vars\n  --#{$prefix}spinner-width: #{$spinner-width-sm};\n  --#{$prefix}spinner-height: #{$spinner-height-sm};\n  --#{$prefix}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  --#{$prefix}spinner-width: #{$spinner-width};\n  --#{$prefix}spinner-height: #{$spinner-height};\n  --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n  --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n  --#{$prefix}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  --#{$prefix}spinner-width: #{$spinner-width-sm};\n  --#{$prefix}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      --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed * 2};\n    }\n  }\n}\n","// stylelint-disable function-disallowed-list\n\n%offcanvas-css-vars {\n  // scss-docs-start offcanvas-css-vars\n  --#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};\n  --#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};\n  --#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};\n  --#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};\n  --#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y};\n  --#{$prefix}offcanvas-color: #{$offcanvas-color};\n  --#{$prefix}offcanvas-bg: #{$offcanvas-bg-color};\n  --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};\n  --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};\n  --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};\n  --#{$prefix}offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};\n  --#{$prefix}offcanvas-title-line-height: #{$offcanvas-title-line-height};\n  // scss-docs-end offcanvas-css-vars\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    @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(--#{$prefix}offcanvas-zindex);\n      display: flex;\n      flex-direction: column;\n      max-width: 100%;\n      color: var(--#{$prefix}offcanvas-color);\n      visibility: hidden;\n      background-color: var(--#{$prefix}offcanvas-bg);\n      background-clip: padding-box;\n      outline: 0;\n      @include box-shadow(var(--#{$prefix}offcanvas-box-shadow));\n      @include transition(var(--#{$prefix}offcanvas-transition));\n\n      &.offcanvas-start {\n        top: 0;\n        left: 0;\n        width: var(--#{$prefix}offcanvas-width);\n        border-right: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n        transform: translateX(-100%);\n      }\n\n      &.offcanvas-end {\n        top: 0;\n        right: 0;\n        width: var(--#{$prefix}offcanvas-width);\n        border-left: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n        transform: translateX(100%);\n      }\n\n      &.offcanvas-top {\n        top: 0;\n        right: 0;\n        left: 0;\n        height: var(--#{$prefix}offcanvas-height);\n        max-height: 100%;\n        border-bottom: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n        transform: translateY(-100%);\n      }\n\n      &.offcanvas-bottom {\n        right: 0;\n        left: 0;\n        height: var(--#{$prefix}offcanvas-height);\n        max-height: 100%;\n        border-top: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}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        --#{$prefix}offcanvas-height: auto;\n        --#{$prefix}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(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n\n  .btn-close {\n    padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);\n    // Split properties to avoid invalid calc() function if value is 0\n    margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n    margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));\n    margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n    margin-left: auto;\n  }\n}\n\n.offcanvas-title {\n  margin-bottom: 0;\n  line-height: var(--#{$prefix}offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n  flex-grow: 1;\n  padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n  overflow-y: auto;\n}\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","// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n@each $color, $value in $theme-colors {\n  .text-bg-#{$color} {\n    color: color-contrast($value) if($enable-important-utilities, !important, null);\n    background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);\n  }\n}\n","// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n@each $color, $value in $theme-colors {\n  .link-#{$color} {\n    color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);\n    text-decoration-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);\n\n    @if $link-shade-percentage != 0 {\n      &:hover,\n      &:focus {\n        $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n        color: RGBA(#{to-rgb($hover-color)}, var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);\n        text-decoration-color: RGBA(to-rgb($hover-color), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);\n      }\n    }\n  }\n}\n\n// One-off special link helper as a bridge until v6\n.link-body-emphasis {\n  color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, 1)) if($enable-important-utilities, !important, null);\n  text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, 1)) if($enable-important-utilities, !important, null);\n\n  @if $link-shade-percentage != 0 {\n    &:hover,\n    &:focus {\n      color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-opacity, .75)) if($enable-important-utilities, !important, null);\n      text-decoration-color: RGBA(var(--#{$prefix}emphasis-color-rgb), var(--#{$prefix}link-underline-opacity, .75)) if($enable-important-utilities, !important, null);\n    }\n  }\n}\n",".focus-ring:focus {\n  outline: 0;\n  // By default, there is no `--bs-focus-ring-x`, `--bs-focus-ring-y`, or `--bs-focus-ring-blur`, but we provide CSS variables with fallbacks to initial `0` values\n  box-shadow: var(--#{$prefix}focus-ring-x, 0) var(--#{$prefix}focus-ring-y, 0) var(--#{$prefix}focus-ring-blur, 0) var(--#{$prefix}focus-ring-width) var(--#{$prefix}focus-ring-color);\n}\n",".icon-link {\n  display: inline-flex;\n  gap: $icon-link-gap;\n  align-items: center;\n  text-decoration-color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}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(--#{$prefix}icon-link-transform, $icon-link-icon-transform);\n    }\n  }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.ratio {\n  position: relative;\n  width: 100%;\n\n  &::before {\n    display: block;\n    padding-top: var(--#{$prefix}aspect-ratio);\n    content: \"\";\n  }\n\n  > * {\n    position: absolute;\n    top: 0;\n    left: 0;\n    width: 100%;\n    height: 100%;\n  }\n}\n\n@each $key, $ratio in $aspect-ratios {\n  .ratio-#{$key} {\n    --#{$prefix}aspect-ratio: #{$ratio};\n  }\n}\n","// Shorthand\n\n.fixed-top {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: $zindex-fixed;\n}\n\n.fixed-bottom {\n  position: fixed;\n  right: 0;\n  bottom: 0;\n  left: 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","// scss-docs-start stacks\n.hstack {\n  display: flex;\n  flex-direction: row;\n  align-items: center;\n  align-self: stretch;\n}\n\n.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// Visually hidden\n//\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n  @include visually-hidden();\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","//\n// Stretched link\n//\n\n.stretched-link {\n  &::#{$stretched-link-pseudo-element} {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    z-index: $stretched-link-z-index;\n    content: \"\";\n  }\n}\n","//\n// Text truncation\n//\n\n.text-truncate {\n  @include text-truncate();\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",".vr {\n  display: inline-block;\n  align-self: stretch;\n  width: $vr-border-width;\n  min-height: 1em;\n  background-color: currentcolor;\n  opacity: $hr-opacity;\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n  $values: map-get($utility, values);\n\n  // If the values are a list or string, convert it into a map\n  @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n    $values: zip($values, $values);\n  }\n\n  @each $key, $value in $values {\n    $properties: map-get($utility, property);\n\n    // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n    @if type-of($properties) == \"string\" {\n      $properties: append((), $properties);\n    }\n\n    // Use custom class if present\n    $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n    $property-class: if($property-class == null, \"\", $property-class);\n\n    // Use custom CSS variable name if present, otherwise default to `class`\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 pseudo-classes\n    $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n    $infix: if($property-class == \"\" 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    $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    @if map-get($utility, rfs) {\n      // Inside the media query\n      @if $is-rfs-media-query {\n        $val: rfs-value($value);\n\n        // Do not render anything if fluid and non fluid values are the same\n        $value: if($val == rfs-fluid-value($value), null, $val);\n      }\n      @else {\n        $value: rfs-fluid-value($value);\n      }\n    }\n\n    $is-css-var: map-get($utility, css-var);\n    $is-local-vars: map-get($utility, local-vars);\n    $is-rtl: map-get($utility, rtl);\n\n    @if $value != null {\n      @if $is-rtl == false {\n        /* rtl:begin:remove */\n      }\n\n      @if $is-css-var {\n        .#{$property-class + $infix + $property-class-modifier} {\n          --#{$prefix}#{$css-variable-name}: #{$value};\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            --#{$prefix}#{$css-variable-name}: #{$value};\n          }\n        }\n      } @else {\n        .#{$property-class + $infix + $property-class-modifier} {\n          @each $property in $properties {\n            @if $is-local-vars {\n              @each $local-var, $variable in $is-local-vars {\n                --#{$prefix}#{$local-var}: #{$variable};\n              }\n            }\n            #{$property}: $value if($enable-important-utilities, !important, null);\n          }\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            @each $property in $properties {\n              @if $is-local-vars {\n                @each $local-var, $variable in $is-local-vars {\n                  --#{$prefix}#{$local-var}: #{$variable};\n                }\n              }\n              #{$property}: $value if($enable-important-utilities, !important, null);\n            }\n          }\n        }\n      }\n\n      @if $is-rtl == false {\n        /* rtl:end:remove */\n      }\n    }\n  }\n}\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 type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n        @include generate-utility($utility, $infix);\n      }\n    }\n  }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n  @each $breakpoint in map-keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n    @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\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 type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n          @include generate-utility($utility, $infix, true);\n        }\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 type-of($utility) == \"map\" and map-get($utility, print) == true {\n      @include generate-utility($utility, \"-print\");\n    }\n  }\n}\n"]}
\ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../scss/_banner.scss","../../scss/_root.scss","../../scss/vendor/_rfs.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/_colors.scss","../../scss/content/_tables.scss","../../scss/layout/_breakpoints.scss","../../scss/content/_images.scss","../../scss/mixins/_image.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/_transition.scss","../../scss/mixins/_focus-ring.scss","../../scss/mixins/_gradients.scss","../../scss/forms/_form-select.scss","../../scss/forms/_form-check.scss","../../scss/forms/_form-range.scss","../../scss/forms/_floating-labels.scss","../../scss/forms/_input-group.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/_badge.scss","../../scss/_breadcrumb.scss","../../scss/_card.scss","../../scss/_carousel.scss","../../scss/_dialog.scss","../../scss/mixins/_backdrop.scss","../../scss/_dropdown.scss","../../scss/mixins/_caret.scss","../../scss/_list-group.scss","../../scss/_modal.scss","../../scss/_nav.scss","../../scss/_navbar.scss","../../scss/_offcanvas.scss","../../scss/_pagination.scss","../../scss/_placeholders.scss","../../scss/_popover.scss","../../scss/_progress.scss","../../scss/_spinners.scss","../../scss/_toasts.scss","../../scss/_transitions.scss","../../scss/helpers/_color-bg.scss","../../scss/helpers/_colored-links.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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BK;IPwNH,WALI;;EK3LN;IACE;;EAIJ;IACE;IACA,eE/BK;IPwNH,WALI;IKlLN,OGiDO;;EH/CP;IACE;;;AIqBN;EACE;IAEE;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA,eF7EK;IE8EL,gBAjG0B;IAkG1B;;EAOA;IACE;IAEA;IACA;IACA,qBAzFwB;IA0FxB;;EAGF;IACE;;EAGF;IACE;;EAIJ;IACE;;EAOF;IACE;;EAUA;IACE;;EAeF;IACE;;EAGA;IACE;;EAOJ;IACE;;EAGF;IACE;;EAUF;IACE;IACA;;EAMF;IACE;IACA;;EAQJ;IACE;IACA;;EAQA;IACE;IACA;;EAtKJ;IAOE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;;EAlBF;IAOE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;;EAlBF;IAOE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;;EAlBF;IAOE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;;EAlBF;IAOE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;;EAlBF;IAOE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;;EAlBF;IAOE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;;EAlBF;IAOE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;;EA2KE;IACE;IACA;;EC/KJ;ID6KE;MACE;MACA;;;EC/KJ;ID6KE;MACE;MACA;;;EC/KJ;ID6KE;MACE;MACA;;;EC/KJ;ID6KE;MACE;MACA;;;EC/KJ;ID6KE;MACE;MACA;;;;AE1OR;EAQE;IClBA;IAGA;;EDqBA;IACE,SA5BgC;IA6BhC,kBA5BgC;IA6BhC;IPbA;IQdF;IAGA;;EDoCA;IAEE;;EAGF;IACE;IACA;;EAGF;IX8LI,WALI;IWvLN,OA5CgC;;;AEApC;EAGI;AAAA;AAAA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IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;EACX;IACE,mBAFS;;ELjFjB;IK0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;ELjFjB;IK0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;ELjFjB;IK0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;ELjFjB;IK0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;ELjFjB;IK0EM;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IADF;MACE;;IAOF;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;IACX;MACE,mBAFS;;;EDxGnB;IACE;;EAGF;IACE;IAEA;IACA;IACA;IACA;;EAIF;IACE;;EAIF;IACE;;EAEF;IACE;;EAEF;IACE;;;AEzDJ;EACE;IACE,eAVuB;;EAmBzB;IACE;IACA;IACA;IhB+NE,WALI;IgBtNN,ab6P0B;;EazP5B;IACE;IACA;IhBqNE,WALI;;EgB5MR;IACE;IACA;IhB+ME,WALI;;;AiBxOV;EACE;IACE,YAToB;IjBoPlB,WALI;IiBlON,OAToB;;;ACKxB;EACE;IACE;IACA;IACA;IlBuOE,WALI;IkB/NN,af8P0B;Ie7P1B,afqQ0B;IepQ1B,OCwBoC;IDvBpC;IACA,kBCiBoC;IDhBpC;IACA;IdHA;IgBNE,YFeF;;EEXE;IFPJ;MEQM;;;EFYJ;IACE;;EAEA;IACE;;EAKJ;IACE,OCEkC;IDDlC,kBCJkC;IDKlC,cCUkC;IEnDpC;IAGA;;EH0CA;IAME;IAMA;IAKA;;EAKF;IACE;IACA;;EAIF;IACE,OClBkC;IDoBlC;;EAQF;IAEE,kBChDkC;IDmDlC;;EAIF;IACE;IACA;IACA,mBfmRwB;IelRxB,OCxDkC;IGzCtC,kBH4EgC;IDuB5B;IACA;IACA;IACA;IACA,yBf+RwB;Ie9RxB;IE5FA,YF6FA;;EEzFA;IF6EF;ME5EI;;;EF2FJ;IACE,kBChC4B;;EDyChC;IACE;IACA;IACA;IACA;IACA,af0J0B;IezJ1B,OCnEoC;IDoEpC;IACA;IACA;;EAEA;IACE;;EAGF;IAEE;IACA;;EAWJ;IACE,YClFoC;IDmFpC;IlB8FE,WALI;II5NN;;EcuIA;IACE;IACA;IACA,mBfmOwB;;Ee/N5B;IACE,YC9FoC;ID+FpC;IlBiFE,WALI;II5NN;;EcoJA;IACE;IACA;IACA,mBf0NwB;;EelN1B;IACE,YCjHkC;;EDoHpC;IACE,YCpHkC;;EDuHpC;IACE,YCvHkC;;ED4HtC;IACE,OCzHoC;ID0HpC,QChIoC;IDiIpC,SfgL0B;;Ee9K1B;IACE;;EAGF;IACE;IdvLF;;Ec2LA;IACE;Id5LF;;EcgMA;IAAoB,QChJgB;;EDiJpC;IAAoB,QChJgB;;;AIlBxC;EACE;IACE;IAEA;IACA;IACA;IvB4LE,WALI;IuBpLN,apBmN0B;IoBlN1B,apB0N0B;IoBzN1B,OJnBoC;IIoBpC;IACA,kBJ1BoC;II2BpC;IACA;IACA,qBA/CgC;IAgDhC,iBA/CgC;IAgDhC;InBjDA;IgBNE,YG0DF;;EHtDE;IGkCJ;MHjCM;;;EGuDJ;IACE,cJtBkC;IEnDpC;IAGA;;EE0EA;IAEE,epBoSwB;IoBnSxB;;EAGF;IAEE,kBJ/CkC;;EIoDpC;IACE;IACA;;EAIJ;IACE,apB6R0B;IoB5R1B,gBpB4R0B;IoB3R1B,cpB4R0B;IH5IxB,WALI;II5NN;;EmBsFF;IACE,apByR0B;IoBxR1B,gBpBwR0B;IoBvR1B,cpBwR0B;IHhJxB,WALI;II5NN;;EmBgGE;IACE;;;AC1DR;EACE;IACE;IACA,YArDsC;IAsDtC,cArDsC;IAsDtC,eArDsC;;EAuDtC;IACE;IACA;;EAIJ;IACE,eA/DsC;IAgEtC;IACA;;EAEA;IACE;IACA;IACA;;EAIJ;IACE;IAEA;IACA,OAhFsC;IAiFtC,QAjFsC;IAkFtC;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA,QA/EsC;IAgFtC;;EAGA;IpBlFA;;EoBsFA;IAEE,eAvFoC;;EA0FtC;IACE,QAhGoC;;EAmGtC;IACE,cL/DkC;IEnDpC;IAGA;IGiHE;;EAIF;IACE,kBhB1GG;IgB2GH,chB3GG;;EgB6GH;IAII;;EAIJ;IAII;;EAKN;IACE,kBhB/HG;IgBgIH,chBhIG;IgBqID;;EAIJ;IACE;IACA;IACA,SAzHqC;;EAgIrC;IACE;IACA,SAlImC;;EAgJzC;IACE,cAvI8B;;EAyI9B;IACE;IAEA,OA7I4B;IA8I5B;IACA;IACA;IpBzKF;IgBNE,YIiLA;;EJ7KA;IIqKF;MJpKI;;;EI8KF;IACE;;EAGF;IACE,qBA9I0B;IAmJxB;;EAKN;IACE,eAnK4B;IAoK5B;;EAEA;IACE;IACA;;EAKN;IACE;IACA,cArL8B;;EAwLhC;IACE;IACA;IACA;;EAIE;IACE;IACA;IACA,SrB6LsB;;EqBtLxB;IACE;;;ACzNR;EACE;IACE;IACA;IACA;IACA;IACA;;EAEA;IACE;;EAIA;IAA0B,YApBW;;EAqBrC;IAA0B,YArBW;;EAwBvC;IACE;;EAGF;IACE,OAnCqC;IAoCrC,QApCqC;IAqCrC;IACA;IHhDJ,kBdeO;IiBmCH,QArCqC;IrBKvC;IgBNE,YKyCA;;ELrCA;IK4BF;ML3BI;;;EKsCF;IHvDJ,kBGkByC;;EA0CvC;IACE,OA1D4B;IA2D5B,QA1D4B;IA2D5B;IACA,QA3D4B;IA4D5B,kBA3D4B;IA4D5B;IrBhDF;;EqBqDA;IACE,OA9DqC;IA+DrC,QA/DqC;IAgErC;IH1EJ,kBdeO;IiB6DH,QA/DqC;IrBKvC;IgBNE,YKmEA;;EL/DA;IKuDF;MLtDI;;;EKgEF;IHjFJ,kBGkByC;;EAoEvC;IACE,OApF4B;IAqF5B,QApF4B;IAqF5B;IACA,QArF4B;IAsF5B,kBArF4B;IAsF5B;IrB1EF;;EqB+EA;IACE;;EAEA;IACE,kBAlFmC;;EAqFrC;IACE,kBAtFmC;;;ACL3C;EACE;IACE;;EAEA;AAAA;AAAA;IAGE,QApBkC;IAqBlC,YArBkC;IAsBlC,aArBkC;;EAwBpC;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IN7BA,YM8BA;;EN1BA;IMUF;MNTI;;;EM4BJ;AAAA;IAEE;;EAEA;AAAA;IACE;;EAGF;AAAA;AAAA;IAEE,aAlDgC;IAmDhC,gBAlDgC;;EAqDlC;AAAA;IACE,aAvDgC;IAwDhC,gBAvDgC;;EA2DpC;IACE,aA7DkC;IA8DlC,gBA7DkC;IA8DlC,cvB+SwB;;EuBxSxB;AAAA;AAAA;AAAA;IACE,WAnEgC;;EAwElC;IACE,WAzEgC;;EA8ElC;AAAA;IACE;IACA;IACA;IACA,QApFgC;IAqFhC;IACA,kBPzDgC;IflBpC;;EsB+EA;IACE,kBP5DkC;;EOgElC;IACE;;EAIJ;AAAA;IAEE;;;AClGN;EACE;IACE;IACA;IACA;IACA;IACA;;EAEA;AAAA;AAAA;IAGE;IACA;IACA;IACA;;EAIF;AAAA;AAAA;IAGE;;EAMF;IACE;IACA;;EAEA;IACE;;EAWN;IACE;IACA;IACA;I3B0LE,WALI;I2BnLN,axBkN0B;IwBjN1B,axByN0B;IwBxN1B,ORpBoC;IQqBpC;IACA;IACA,kBAzDoC;IA0DpC;IvB/CA;;EuByDF;AAAA;AAAA;AAAA;IAIE;I3BoKE,WALI;II5NN;;EuBkEF;AAAA;AAAA;AAAA;IAIE;I3B2JE,WALI;II5NN;;EuB2FE;AAAA;AAAA;AAAA;IvB3EF;IACA;;EuBmFE;AAAA;AAAA;AAAA;IvBpFF;IACA;;EuBgGA;IACE;IvBpFF;IACA;;EuBuFA;AAAA;IvBxFA;IACA;;;AwBvBJ;EACE;IAEE;IACA;IACA;IACA;IACA;I5BkNE,wBALI;I4B3MN;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;ICjDF,a1BqQ4B;I0BnQ5B;IACA,a1B8Q4B;I0B7Q5B,a1BqR4B;I0BpR5B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I7ByOI,WALI;I4B1LN;IACA;;EAEA;IAAS;;EAET;IACE;IACA;IACA;;EAEA;IACE;IACA;IACA;IACA;;EAKN;IACE;;EAEA;IACE;IACA;IACA;;AAIJ;EACA;IACE;IACA;IACA;;EAEA;IACE;IACA;IACA;;AAIJ;EAEA;IACE;;EAEA;IACE;IACA;IACA;;AAIJ;EACA;IACE;IACA;IACA;;EAEA;IACE;IACA;IACA;;AAIJ;EAkBA;IACE;IACA;IACA;IACA;IACA;IxB5HA;;;A0B2JJ;EA1IE;IACE;IACA;IACA,YX2CgC;InBkK9B,WALI;I8BrMN,OX4DqB;;EWzDvB;IACE;IACA;IACA;IACA;IACA;IACA;IACA;I9BgME,WALI;I8BxLN,OX+CqB;IW9CrB,kBX8CqB;IfnFrB;;E0B0CA;AAAA;AAAA;AAAA;IAEE;;EA/CF;IAqDE,cXiCmB;IW9BjB,eXVgC;IWWhC;IACA;IACA;IACA;;EAGF;IACE,cXsBiB;IWjBf,YXiBe;;EWtFrB;IA+EI,eXjCgC;IWkChC;;EAhFJ;IAkHI;;EAlHJ;IAyHE,cXnCmB;;EWqCnB;IACE,kBXtCiB;;EWyCnB;IACE,YX1CiB;;EW6CnB;IACE,OX9CiB;;EWmDrB;IACE;;EA1IF;AAAA;AAAA;AAAA;AAAA;IAoJM;;EAhIR;IACE;IACA;IACA,YX2CgC;InBkK9B,WALI;I8BrMN,OX4DqB;;EWzDvB;IACE;IACA;IACA;IACA;IACA;IACA;IACA;I9BgME,WALI;I8BxLN,OX+CqB;IW9CrB,kBX8CqB;IfnFrB;;E0B0CA;AAAA;AAAA;AAAA;IAEE;;EA/CF;IAqDE,cXiCmB;IW9BjB,eXVgC;IWWhC;IACA;IACA;IACA;;EAGF;IACE,cXsBiB;IWjBf,YXiBe;;EWtFrB;IA+EI,eXjCgC;IWkChC;;EAhFJ;IAkHI;;EAlHJ;IAyHE,cXnCmB;;EWqCnB;IACE,kBXtCiB;;EWyCnB;IACE,YX1CiB;;EW6CnB;IACE,OX9CiB;;EWmDrB;IACE;;EA1IF;AAAA;AAAA;AAAA;AAAA;IAsJM;;;ACnFV;EACE;IAEE;IACA;IACA;I/B4JE,oBALI;I+BrJN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAIA;IACA;IACA;I/B2IE,WALI;I+BpIN;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;I3BjGA;IkBlBF,kBSqHuB;IXzGnB,YW2GF;;EXvGE;IWmEJ;MXlEM;;;EWwGJ;IACE;IAEA;IACA;;EAGF;IAEE;IACA;IACA;;EAGF;IACE;ITxIJ,kBSyIyB;IACrB;IV1IF;IAGA;IUyIE;;EAGF;IACE;IVhJF;IAGA;;EUiJA;IAKE;IACA;IAGA;;EAGA;IVhKF;IAGA;;EUkKA;IVrKA;IAGA;;EUsKA;IAGE;IACA;IACA;IAEA;IACA;;EAYF;IAnKF;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAsJE;IAnKF;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAsJE;IAnKF;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAsJE;IAnKF;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAsJE;IAnKF;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAsJE;IAnKF;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAsJE;IAnKF;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAsJE;IAnKF;IACA;IACA;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;;EAgLE;IApKF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAuJE;IApKF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAuJE;IApKF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAuJE;IApKF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAuJE;IApKF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAuJE;IApKF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAuJE;IApKF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAuJE;IApKF;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAmKA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA,iB5B/EsC;;E4ByFtC;IACE;;EAGF;IACE;;EAWJ;IArMA;IACA;I/B4KI,oBALI;I+BrKR;;EAsMA;IAzMA;IACA;I/B4KI,oBALI;I+BrKR;;;AC1EF;EAEE;AAAA;IAEE;IACA;IACA;;EAEA;AAAA;IACE;IACA;;EAKF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAKJ;IACE;IACA;IACA;;EAEA;IACE;;EAIJ;I5BjBE;;E4BqBA;AAAA;IAEE;;EAIF;AAAA;AAAA;I5BXA;IACA;;E4BoBA;AAAA;AAAA;I5BPA;IACA;;E4ByBF;IACE;IACA;;EAEA;IAGE;;EAGF;IACE;;EAIJ;IACE;IACA;;EAGF;IACE;IACA;;EAoBF;IACE;IACA;IACA;;EAEA;AAAA;IAEE;;EAGF;AAAA;IAEE;;EAIF;AAAA;I5B3FA;IACA;;E4BmGA;AAAA;AAAA;I5BlHA;IACA;;;A6BRJ;EACE;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA,OAjCyB;IAkCzB,QAlCyB;IAmCzB;IACA;IACA;IACA;IACA;I7BrBA;I6BuBA;;EAGA;IACE;IACA;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IAEE;IACA;IACA;;EAQJ;IAHE;;EAOF;AAAA;IAEE;;EhChEA;IgCuDA;;;AClCJ;EACE;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAIF;IACE;IACA;IACA;IACA;IACA;IlCqLE,WALI;IkC9KN;IACA;IACA;IACA;I9BjDA;I8BmDA;IdzDE,Yc0DF;;EdtDE;IcyCJ;MdxCM;;;EcuDJ;IACE;IACA;IACA;;EAEA;IACE;IACA;;EAKJ;IACE;IACA;IACA;IACA;IACA;IACA;IACA;Id/EA,YcgFA;;Ed5EA;IcoEF;MdnEI;;;Ec8EJ;IACE;;EAGF;IACE;IACA;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;IACA;;EAEA;I9BxFA;IACA;;E8B0FE;I9B3FF;IACA;;E8B+FA;IACE;;EAIF;I9BvFA;IACA;;E8B0FI;I9B3FJ;IACA;;E8B+FE;I9BhGF;IACA;;E8BqGF;IACE;;EASA;IACE;IACA;I9BzIF;;E8B4IE;IAAgB;;EAChB;IAAe;;EAGf;AAAA;AAAA;I9BhJF;;;A+BVJ;EACE;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;I/BTA;;E+BcF;IAEE;;EAIF;IACE,ahCyO0B;IgCxO1B;;EAQF;IACE,eA5C4B;;EA+C5B;IACE;IACA;IACA;IACA;IACA;;EAQF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;EAJF;IACE;IACA;IACA;IACA;;;AC5DN;EACE;IAEE;IACA;IpCsOE,sBALI;IoC/NN;IACA;IACA;IAGA;IACA;IpC8NE,WALI;IoCvNN;IACA;IACA;IACA;IACA;IACA;IhCVA;;EgCeA;IACE;;EAKJ;IACE;IACA;;;AC3BJ;EACE;IAEE;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IrCoNE,WALI;IqC7MN;IACA;IjChBA;;EiCsBA;IACE;;EAEA;IACE;IACA;IACA;IACA;;EAIJ;IACE;;;AC/BN;EACE;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IlCpCA;;EkCwCA;IACE;IACA;;EAGF;IACE;IACA;;EAEA;IACE;IlCzCJ;IACA;;EkC4CE;IACE;IlChCJ;IACA;;EkCsCA;AAAA;IAEE;;EAIJ;IAGE;IACA;IACA;;EAGF;IACE;IACA;;EAGF;IACE;IACA;IACA;;EAGF;IACE;;EAQA;IACE;;EAQJ;IACE;IACA;IACA;IACA;IACA;;EAEA;IlChHA;;EkCqHF;IACE;IACA;IACA;IACA;;EAEA;IlC3HA;;EkCqIF;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;;EAIJ;IACE;IACA;;EAIF;IACE;IACA;IACA;IACA;IACA;IACA;IlC7JA;;EkCiKF;AAAA;AAAA;IAGE;;EAGF;AAAA;IlC9JE;IACA;;EkCkKF;AAAA;IlCrJE;IACA;;EkCiKA;IACE;;E5BhJF;I4B4IF;MAQI;MACA;;IAGA;MACE;MACA;;IAEA;MACE;MACA;;IAKA;MlC7LN;MACA;;IkC+LQ;AAAA;MAGE;;IAEF;AAAA;MAGE;;IAIJ;MlC9LN;MACA;;IkCgMQ;AAAA;MAGE;;IAEF;AAAA;MAGE;;;;ACtMd;EACE;IACE;;EAGF;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;InB7DE,YmB8DF;;EnB1DE;ImBmDJ;MnBlDM;;;EmB4DN;AAAA;AAAA;IAGE;;EAGF;AAAA;IAEE;;EAGF;AAAA;IAEE;;EASA;IACE;IACA;IACA;;EAGF;AAAA;AAAA;IAGE;IACA;;EAGF;AAAA;IAEE;IACA;InBvGA,YmBwGA;;EnBpGA;ImBgGF;AAAA;MnB/FI;;;EmB4GN;AAAA;IAEE;IACA;IACA;IACA;IAEA;IACA;IACA;IACA,OApIiC;IAqIjC;IACA,O/BvBI;I+BwBJ;IACA;IACA;IACA;IACA,SA1IiC;InBQ/B,YmBmIF;;EnB/HE;ImB6GJ;AAAA;MnB5GM;;;EmBiIJ;AAAA;AAAA;IAEE,O/BlCE;I+BmCF;IACA;IACA,SAlJ+B;;EAqJnC;IACE;;EAGF;IACE;;EAKF;AAAA;IAEE;IACA,OAhJiC;IAiJjC,QAjJiC;IAkJjC;IACA;IACA;;EAGF;IACE;;EAEF;IACE;;EAQF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA,cAjMiC;IAkMjC;IACA,aAnMiC;;EAqMjC;IACE;IACA;IACA,OAlM+B;IAmM/B,QAlM+B;IAmM/B;IACA,cAlM+B;IAmM/B,aAnM+B;IAoM/B;IACA;IACA;IACA;IACA;IAEA;IACA;IACA,SA3M+B;InBD/B,YmB6MA;;EnBzMA;ImBwLF;MnBvLI;;;EmB2MJ;IACE,SA9M+B;;EAuNnC;IACE;IACA;IACA,QApNiC;IAqNjC;IACA,aAvNiC;IAwNjC,gBAxNiC;IAyNjC;IACA;;EAWF;IALE;IACA;IACA;;EAOF;AAAA;IAEE;IACA;IACA;;EtCvPA;IsC0OA;IACA;IACA;;;AC9OJ;EAEE;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAEA;IASA;;EANA;IACE;;EASA;IACE,WrCqc4B;IiBxf9B,YoBoDE;;EpBhDF;IoB8CA;MpB7CE;;;EoBoDF;IACE,WrC+b4B;;EqCzb9B;IACE,WrC0b4B;;EqCrblC;IACE;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IpC1EA;IoC8EA;;EAIF;IAEE;IACA;IACA;IC7GF;IACA;IACA;IACA,SD6G4B;IC5G5B;IACA;IACA,kBD0G8D;;ECvG9D;IAAS;;EACT;IAAS,SDsGmF;;EAK5F;IACE;IACA;IACA;IACA;IACA;IpC1FA;IACA;;EoC4FA;IACE;IAEA;IACA;IACA;IACA;;EAKJ;IACE;IACA;;EAKF;IACE;IAGA;IACA;;EAIF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IpClHA;IACA;;EoCuHA;IACE;;EAKF;IACE;IACA;;EAGF;IACE;;EAIJ;IAEE;IACA;IACA;;E9BzHA;I8B8HA;MACE;MACA;;IAIF;MACE;;IAGF;MACE;;;E9BzIF;I8B8IA;AAAA;MAEE;;;E9BhJF;I8BqJA;MACE;;;EAUA;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IACE;IACA;IpCrNN;;EoCyNI;AAAA;IpCzNJ;;EoC8NI;IACE;;E9BxKN;I8BmJE;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAEA;MACE;MACA;MpCrNN;;IoCyNI;AAAA;MpCzNJ;;IoC8NI;MACE;;;E9BxKN;I8BmJE;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAEA;MACE;MACA;MpCrNN;;IoCyNI;AAAA;MpCzNJ;;IoC8NI;MACE;;;E9BxKN;I8BmJE;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAEA;MACE;MACA;MpCrNN;;IoCyNI;AAAA;MpCzNJ;;IoC8NI;MACE;;;E9BxKN;I8BmJE;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAEA;MACE;MACA;MpCrNN;;IoCyNI;AAAA;MpCzNJ;;IoC8NI;MACE;;;E9BxKN;I8BmJE;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAEA;MACE;MACA;MpCrNN;;IoCyNI;AAAA;MpCzNJ;;IoC8NI;MACE;;;EAQR;IACE;IAEA;;;AEvMJ;EAEE;AAAA;AAAA;AAAA;AAAA;AAAA;IAME;;EAGF;IACE;;EC5BA;IACE;IACA,aAxCwB;IAyCxB,gBA1CwB;IA2CxB;IArCJ;IACA;IACA;IACA;;EA0DE;IACE;;EDMJ;IAEE;IACA;IACA;IACA;IACA;I1CqKE,yBALI;I0C9JN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;I1CwIE,WALI;I0CjIN;IACA;IACA;IACA;IACA;IACA;ItChGA;;EsCoGA;IACE;IACA;IACA;;EAwBA;IACE;;EAEA;IACE;IACA;;EAIJ;IACE;;EAEA;IACE;IACA;;EhCnGN;IgCqFE;MACE;;IAEA;MACE;MACA;;IAIJ;MACE;;IAEA;MACE;MACA;;;EhCnGN;IgCqFE;MACE;;IAEA;MACE;MACA;;IAIJ;MACE;;IAEA;MACE;MACA;;;EhCnGN;IgCqFE;MACE;;IAEA;MACE;MACA;;IAIJ;MACE;;IAEA;MACE;MACA;;;EhCnGN;IgCqFE;MACE;;IAEA;MACE;MACA;;IAIJ;MACE;;IAEA;MACE;MACA;;;EhCnGN;IgCqFE;MACE;;IAEA;MACE;MACA;;IAIJ;MACE;;IAEA;MACE;MACA;;;EAUN;IACE;IACA;IACA;IACA;;ECxIF;IACE;IACA,aAxCwB;IAyCxB,gBA1CwB;IA2CxB;IA9BJ;IACA;IACA;IACA;;EAmDE;IACE;;EDoHF;IACE;IACA;IACA;IACA;IACA;;ECtJF;IACE;IACA,aAxCwB;IAyCxB,gBA1CwB;IA2CxB;IAvBJ;IACA;IACA;IACA;;EA4CE;IACE;;ED8HA;IACE;;EAMJ;IACE;IACA;IACA;IACA;IACA;;ECvKF;IACE;IACA,aAxCwB;IAyCxB,gBA1CwB;IA2CxB;;EAWA;IACE;;EAGF;IACE;IACA,cA3DsB;IA4DtB,gBA7DsB;IA8DtB;IAnCN;IACA;IACA;;EAsCE;IACE;;ED+IA;IACE;;EAON;IACE;IACA;IACA;IACA;IACA;;EAMF;IACE;IACA;IACA;IACA;IACA,avCoC0B;IuCnC1B;IACA;IACA;IACA;IACA;IACA;ItC7NA;;EsCgOA;IAEE;IpBpPJ,kBoBsPyB;;EAGvB;IAEE;IACA;IpB5PJ,kBoB6PyB;;EAGvB;IAEE;IACA;IACA;;EAMJ;IACE;;EAIF;IACE;IACA;IACA;I1C/BE,WALI;I0CsCN;IACA;;EAIF;IACE;IACA;IACA;;EAIF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;AEnRJ;EACE;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IAGA;IACA;IxCnCA;;EwCuCF;IACE;IACA;;EAEA;IAEE;IACA;;EAQJ;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAEA;IxCtDA;IACA;;EwCyDA;IxC5CA;IACA;;EwC+CA;IAEE;IACA;IACA;;EAIF;IACE;IACA;IACA;IACA;;EAIF;IACE;;EAEA;IACE;IACA;;EAUN;IACE;IACA;IACA;;EAIE;IAEE;IACA;IACA;IACA;;EAGF;IACE;IACA;;EAaF;IACE;;EAGE;IxCjFN;IAZA;;EwCkGM;IxClGN;IAYA;;EwC2FM;IACE;;EAGF;IACE;IACA;;EAEA;IACE;IACA;;ElClHV;IkC0FE;MACE;;IAGE;MxCjFN;MAZA;;IwCkGM;MxClGN;MAYA;;IwC2FM;MACE;;IAGF;MACE;MACA;;IAEA;MACE;MACA;;;ElClHV;IkC0FE;MACE;;IAGE;MxCjFN;MAZA;;IwCkGM;MxClGN;MAYA;;IwC2FM;MACE;;IAGF;MACE;MACA;;IAEA;MACE;MACA;;;ElClHV;IkC0FE;MACE;;IAGE;MxCjFN;MAZA;;IwCkGM;MxClGN;MAYA;;IwC2FM;MACE;;IAGF;MACE;MACA;;IAEA;MACE;MACA;;;ElClHV;IkC0FE;MACE;;IAGE;MxCjFN;MAZA;;IwCkGM;MxClGN;MAYA;;IwC2FM;MACE;;IAGF;MACE;MACA;;IAEA;MACE;MACA;;;ElClHV;IkC0FE;MACE;;IAGE;MxCjFN;MAZA;;IwCkGM;MxClGN;MAYA;;IwC2FM;MACE;;IAGF;MACE;MACA;;IAEA;MACE;MACA;;;EAcZ;IxC1KE;;EwC6KA;IACE;;EAEA;IACE;;EAaJ;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAVF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAVF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAVF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAVF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAVF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAVF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAVF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;;ACjNN;EAEE;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;;EAOF;IACE;IACA;IACA;IAEA;;EAGA;IACE,W1Cqc8B;IiBxf9B,YyBoDA;;EzBhDA;IyB8CF;MzB7CI;;;EyBiDJ;IACE,W1Ckc8B;;E0C9bhC;IACE,W1C+b8B;;E0C3blC;IACE;;EAEA;IACE;IACA;;EAGF;IACE;;EAIJ;IACE;IACA;IACA;;EAIF;IACE;IACA;IACA;IACA;IAEA;IACA;IACA;IACA;IACA;IzCxFA;IyC4FA;;EAIF;IAEE;IACA;IACA;IJ3HF;IACA;IACA;IACA,SI2H4B;IJ1H5B;IACA;IACA,kBIwH8D;;EJrH9D;IAAS;;EACT;IAAS,SIoHmF;;EAK5F;IACE;IACA;IACA;IACA;IACA;IzCxGA;IACA;;EyC0GA;IACE;IAEA;IACA;IACA;IACA;;EAKJ;IACE;IACA;;EAKF;IACE;IAGA;IACA;;EAIF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IzChIA;IACA;;EyCqIA;IACE;;EnCpHF;ImC0HA;MACE;MACA;;IAIF;MACE;MACA;MACA;;IAGF;MACE;;;EnCvIF;ImC4IA;AAAA;MAEE;;;EnC9IF;ImCmJA;MACE;;;EAUA;IACE;IACA;IACA;IACA;;EAEA;IACE;IACA;IzChNN;;EyCoNI;AAAA;IzCpNJ;;EyCyNI;IACE;;EnCnKN;ImCiJE;MACE;MACA;MACA;MACA;;IAEA;MACE;MACA;MzChNN;;IyCoNI;AAAA;MzCpNJ;;IyCyNI;MACE;;;EnCnKN;ImCiJE;M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;;IAGF;MACE;MACA;;IAGF;MACE;;IAGF;MAEE;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;M3BpRN,Y2BsRM;;IAGA;MACE;;IAGF;MACE;MACA;MACA;MACA;;;EAtDR;IAEI;IACA;;EAEA;IACE;;EAEA;IACE;;EAGF;IACE;IACA;;EAIJ;IACE;;EAGF;IACE;IACA;;EAGF;IACE;;EAGF;IAEE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I3BpRN,Y2BsRM;;EAGA;IACE;;EAGF;IACE;IACA;IACA;IACA;;EAiBZ;AAAA;IAGE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAME;IACE;;;AC9UR;EAEE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAIF;EtCuDI;IsCzCA;MAEI;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;M5BhCF,Y4BkCE;;;E5B9BF;I4BgBF;M5BfI;;;EVwDJ;IsCzBI;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;;IAGF;MAEE;;IAGF;MAGE;;;EtC/BN;IsC5BA;MAiEM;MACA;MACA;;IAEA;MACE;;IAGF;MACE;MACA;MACA;MACA;MAEA;;;EtCtCR;IsCzCA;MAEI;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;M5BhCF,Y4BkCE;;;E5B9BF;I4BgBF;M5BfI;;;EVwDJ;IsCzBI;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;;IAGF;MAEE;;IAGF;MAGE;;;EtC/BN;IsC5BA;MAiEM;MACA;MACA;;IAEA;MACE;;IAGF;MACE;MACA;MACA;MACA;MAEA;;;EtCtCR;IsCzCA;MAEI;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;M5BhCF,Y4BkCE;;;E5B9BF;I4BgBF;M5BfI;;;EVwDJ;IsCzBI;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;;IAGF;MAEE;;IAGF;MAGE;;;EtC/BN;IsC5BA;MAiEM;MACA;MACA;;IAEA;MACE;;IAGF;MACE;MACA;MACA;MACA;MAEA;;;EtCtCR;IsCzCA;MAEI;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;M5BhCF,Y4BkCE;;;E5B9BF;I4BgBF;M5BfI;;;EVwDJ;IsCzBI;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;;IAGF;MAEE;;IAGF;MAGE;;;EtC/BN;IsC5BA;MAiEM;MACA;MACA;;IAEA;MACE;;IAGF;MACE;MACA;MACA;MACA;MAEA;;;EtCtCR;IsCzCA;MAEI;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;MACA;M5BhCF,Y4BkCE;;;E5B9BF;I4BgBF;M5BfI;;;EVwDJ;IsCzBI;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;MACA;;IAGF;MACE;MACA;MACA;MACA;MACA;MACA;;IAGF;MAEE;;IAGF;MAGE;;;EtC/BN;IsC5BA;MAiEM;MACA;MACA;;IAEA;MACE;;IAGF;MACE;MACA;MACA;MACA;MAEA;;;EA/ER;IAEI;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I5BhCF,Y4BkCE;;E5B9BF;I4BgBF;M5BfI;;;E4B+BA;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;IACA;IACA;;EAGF;IAEE;;EAGF;IAGE;;EA2BR;IP3HA;IACA;IACA;IACA,StC2ckC;IsC1clC;IACA;IACA,kBjCkHM;;EiC/GN;IAAS;;EACT;IAAS,StC8eyB;;E6CzXlC;IACE;IACA;IACA;;EAEA;IACE;IAEA;IACA;IACA;IACA;;EAIJ;IACE;IACA;;EAGF;IACE;IACA;IACA;;;AC9FJ;EACE;IAEE;IACA;IjD4LE,2BALI;IiDrLN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;I3C/EF;IACA;;E2CkFA;IACE;IACA;IACA;IjDgKE,WALI;IiDzJN;IACA;IACA;IACA;I7B5EE,Y6B6EF;;E7BzEE;I6BgEJ;M7B/DM;;;E6B0EJ;IACE;IACA;IAEA;IACA;;EAGF;IACE;IACA;IACA;IACA,SAlF8B;IAmF9B;;EAGF;IAEE;IACA;I3B9GJ,kB2B+GyB;IACrB;;EAGF;IAEE;IACA;IACA;IACA;;EAKF;IACE,aA/G8B;;EAoH5B;I7CnFJ;IACA;;E6CwFI;I7CvGJ;IACA;;E6CuHF;IA9GA;IACA;IjDsMI,2BALI;IiD/LR;;EA+GA;IAlHA;IACA;IjDsMI,2BALI;IiD/LR;;;AC5CF;EACE;IACE;IACA;IACA;IACA;IACA;IACA,SAZgC;;EAchC;IACE;IACA;;EAKJ;IACE;;EAGF;IACE;;EAGF;IACE;;EAKA;IACE;;EAIJ;IACE;MACE,SAzC8B;;;EA6ClC;IACE;IACA;IACA;;EAGF;IACE;MACE;;;;AC5BN;EACE;IAEE;IACA;InDuNE,wBALI;ImDhNN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;InD8ME,+BALI;ImDvMN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;ItBvDF,a1BqQ4B;I0BnQ5B;IACA,a1B8Q4B;I0B7Q5B,a1BqR4B;I0BpR5B;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;I7ByOI,WALI;ImDrLN;IACA;IACA;IACA;I/C1CA;;E+C8CA;IACE;IACA;IACA;;EAEA;IAEE;IACA;IACA;IACA;IACA;IACA;;EAMJ;IACE;;EAEA;IAEE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;AAKN;EAEE;IACE;IACA;IACA;;EAEA;IAEE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;AAKN;EAGE;IACE;;EAEA;IAEE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;EAKJ;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;AAIJ;EAEE;IACE;IACA;IACA;;EAEA;IAEE;;EAGF;IACE;IACA;;EAGF;IACE;IACA;;AAKN;EAkBA;IACE;IACA;InDsCE,WALI;ImD/BN;IACA;IACA;I/CtLA;IACA;;E+CwLA;IACE;;EAIJ;IACE;IACA;;;AC1MJ;EAGI;IACE;MAAK;;;EAKT;AAAA;IAGE;IpDsNE,yBALI;IoD/MN;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;IACA;IpD0ME,WALI;IoDnMN;IhDzBA;;EgD8BF;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IhC5CE,YgC6CF;;EhCzCE;IgCgCJ;MhC/BM;;;EgC2CN;I9BpBA;I8BsBE;;EAGF;IACE;;EAGF;IACE;;EAIA;IACE;;EAGE;IAJJ;MAKM;;;;ACnEV;EACE;AAAA;IAEE;IACA;IACA;IACA;IACA;IAEA;IACA;;EAIF;IACE;MAAK;;;EAIP;IAEE;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;;EAGF;IAEE;IACA;IACA;;EASF;IACE;MACE;;IAEF;MACE;MACA;;;EAKJ;IAEE;IACA;IACA;IACA;IACA;IAGA;IACA;;EAGF;IACE;IACA;;EAIA;IACE;AAAA;MAEE;;;;AC3ER;EACE;IAEE;IACA;IACA;IACA;IACA;ItD4NE,sBALI;IsDrNN;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IAGA;IACA;ItD8ME,WALI;IsDvMN;IACA;IACA;IACA;IACA;IACA;IlD1BA;;EkD6BA;IACE;;EAGF;IACE;;EAIJ;IACE;IAEA;IACA;IACA;IACA;IACA;;EAEA;IACE;;EAIJ;IACE;IACA;IACA;IACA;IACA;IACA;IACA;IlDlDA;IACA;;EkDoDA;IACE;IACA;;EAIJ;IACE;IACA;;;AC3FJ;EnCeM,YmCdJ;;AnCkBI;EmCnBN;InCoBQ;;;AmCjBN;EACE;;;AAMF;EACE;;;AAIJ;EACE;EACA;EnCFI,YmCGJ;;AnCCI;EmCJN;InCKQ;;;AmCAN;EACE;EACA;EnCPE,YmCQF;;AnCJE;EmCCJ;InCAM;;;;AoCpBR;EAGI;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;EAFF;IACE;IACA;;;ACJN;EAEI;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EATN;IACE;IACA;;EAGE;IAGE;IACA;;EAOR;IACE;IACA;;EAGE;IAEE;IACA;;;AC7BR;EACE;IACE;;;ACAJ;EACE;IACE;IACA,KxD4K0B;IwD3K1B;IACA;IACA,uBxD0K0B;IwDzK1B;;EAEA;IACE;IACA,OxDsKwB;IwDrKxB,QxDqKwB;IwDpKxB;IvCEA,YuCDA;;EvCKA;IuCVF;MvCWI;;;EuCCF;IACE;;;ACrBR;EACE;IACE;IACA;IACA;IACA;IACA,SzDocgC;;EyDjclC;IACE;IACA;IACA;IACA;IACA,SzD4bgC;;EyDpb9B;IACE;IACA;IACA,SzDgb4B;;EyD7a9B;IACE;IACA;IACA,SzD0a4B;;EO3YhC;IkDxCE;MACE;MACA;MACA,SzDgb4B;;IyD7a9B;MACE;MACA;MACA,SzD0a4B;;;EO3YhC;IkDxCE;MACE;MACA;MACA,SzDgb4B;;IyD7a9B;MACE;MACA;MACA,SzD0a4B;;;EO3YhC;IkDxCE;MACE;MACA;MACA,SzDgb4B;;IyD7a9B;MACE;MACA;MACA,SzD0a4B;;;EO3YhC;IkDxCE;MACE;MACA;MACA,SzDgb4B;;IyD7a9B;MACE;MACA;MACA,SzD0a4B;;;EO3YhC;IkDxCE;MACE;MACA;MACA,SzDgb4B;;IyD7a9B;MACE;MACA;MACA,SzD0a4B;;;;A0D9cpC;EAEE;IACE;IACA;IACA;IACA;;EAGF;IACE;IACA;IACA;IACA;;;ACXJ;EACE;AAAA;ICKA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;EAGA;AAAA;IACE;;EAIF;AAAA;IACE;;;ACtBJ;EAEI;IACE;IACA;IACA;IACA;IACA;IACA,S7DqKoC;I6DpKpC;;;ACTN;EACE;ICCA;IACA;IACA;;;ACJF;EACE;IACE;IACA;IACA,OhE6V0B;IgE5V1B;IACA;IACA,ShEuV0B;;;AiEvV9B;ECoEQ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;AArBJ;EAcA;IAOI;IAAA;;AAmBJ;EA1BA;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAKF;IAOI;;EAnBN;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;IAAA;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;E3DjBR;I2DUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;E3DjBR;I2DUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;E3DjBR;I2DUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;E3DjBR;I2DUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;E3DjBR;I2DUI;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;MAAA;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;EDvDV;ICgDM;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;;EDpCV;IC6BM;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI;;IAPJ;MAOI","file":"bootstrap.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 \"sass:meta\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"theme\" as *;\n// @use \"maps\" as *;\n@use \"vendor/rfs\" 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, helpers, custom, utilities;\n\n:root {\n  color-scheme: light dark;\n\n  @each $color-group-name, $color-group in $all-colors {\n    @if meta.type-of($color-group) == \"map\" {\n      @each $color-name, $color-value in $color-group {\n        --#{$prefix}#{$color-name}: #{$color-value};\n      }\n    } @else {\n      --#{$prefix}#{$color-group-name}: #{$color-group};\n    }\n  }\n\n  @each $color, $value in $theme-colors {\n    --#{$prefix}#{$color}: #{$value};\n  }\n\n  @each $color-name, $color-map in $new-theme-colors {\n    @each $key, $value in $color-map {\n      --#{$prefix}#{$color-name}-#{$key}: #{$value};\n    }\n  }\n\n  --#{$prefix}black: #{$black};\n  --#{$prefix}white: #{$white};\n}\n\n:root,\n[data-bs-theme=\"light\"] {\n  // Note: Custom variable values only support SassScript inside `#{}`.\n\n  // Colors\n  //\n  // Generate palettes for full colors, grays, and theme colors.\n\n  // @each $color, $value in $colors {\n  //   --#{$prefix}#{$color}: #{$value};\n  // }\n\n  // @each $color, $value in $grays {\n  //   --#{$prefix}gray-#{$color}: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors {\n  //   --#{$prefix}#{$color}: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-rgb {\n  //   --#{$prefix}#{$color}-rgb: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-text {\n  //   --#{$prefix}#{$color}-text-emphasis: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-bg-subtle {\n  //   --#{$prefix}#{$color}-bg-subtle: #{$value};\n  // }\n\n  // @each $color, $value in $theme-colors-border-subtle {\n  //   --#{$prefix}#{$color}-border-subtle: #{$value};\n  // }\n\n  --#{$prefix}white-rgb: #{to-rgb($white)};\n  --#{$prefix}black-rgb: #{to-rgb($black)};\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  --#{$prefix}font-sans-serif: #{meta.inspect($font-family-sans-serif)};\n  --#{$prefix}font-monospace: #{meta.inspect($font-family-monospace)};\n  --#{$prefix}gradient: #{$gradient};\n\n  // Root and body\n  // scss-docs-start root-body-variables\n  @if $font-size-root != null {\n    --#{$prefix}root-font-size: #{$font-size-root};\n  }\n  --#{$prefix}body-font-family: #{meta.inspect($font-family-base)};\n  @include rfs($font-size-base, --#{$prefix}body-font-size);\n  --#{$prefix}body-font-weight: #{$font-weight-base};\n  --#{$prefix}body-line-height: #{$line-height-base};\n  @if $body-text-align != null {\n    --#{$prefix}body-text-align: #{$body-text-align};\n  }\n\n  @each $key, $value in $theme-bgs {\n    $key: if($key == null, \"\", \"-\" + $key);\n    --#{$prefix}bg#{$key}: #{$value};\n  }\n\n  @each $key, $value in $theme-fgs {\n    $key: if($key == null, \"\", \"-\" + $key);\n    --#{$prefix}fg#{$key}: #{$value};\n  }\n\n  @each $key, $value in $theme-borders {\n    $key: if($key == null, \"\", \"-\" + $key);\n    --#{$prefix}border#{$key}: #{$value};\n  }\n\n  --#{$prefix}body-color: #{$body-color};\n  --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n  --#{$prefix}body-bg: #{$body-bg};\n  --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n  // --#{$prefix}emphasis-color: #{$body-emphasis-color};\n  // --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n  // --#{$prefix}secondary-color: #{$body-secondary-color};\n  // --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n  // --#{$prefix}secondary-bg: #{$body-secondary-bg};\n  // --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n  // --#{$prefix}tertiary-color: #{$body-tertiary-color};\n  // --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n  // --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n  // --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n  // scss-docs-end root-body-variables\n\n  --#{$prefix}heading-color: #{$headings-color};\n\n  // --#{$prefix}link-color: #{$link-color};\n  // --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n  // --#{$prefix}link-decoration: #{$link-decoration};\n\n  // --#{$prefix}link-hover-color: #{$link-hover-color};\n  // --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n  --#{$prefix}link-color: light-dark(var(--#{$prefix}primary-base), var(--#{$prefix}primary-text));\n  --#{$prefix}link-decoration: #{$link-decoration};\n  --#{$prefix}link-hover-color: color-mix(in oklch, var(--#{$prefix}link-color) 90%, #000);\n\n  @if $link-hover-decoration != null {\n    --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n  }\n\n  --#{$prefix}code-color: #{$code-color};\n  --#{$prefix}highlight-color: #{$mark-color};\n  --#{$prefix}highlight-bg: #{$mark-bg};\n\n  // scss-docs-start root-border-var\n  --#{$prefix}border-width: #{$border-width};\n  --#{$prefix}border-style: #{$border-style};\n  --#{$prefix}border-color: #{$border-color};\n  --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n  --#{$prefix}border-radius: #{$border-radius};\n  --#{$prefix}border-radius-sm: #{$border-radius-sm};\n  --#{$prefix}border-radius-lg: #{$border-radius-lg};\n  --#{$prefix}border-radius-xl: #{$border-radius-xl};\n  --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n  --#{$prefix}border-radius-pill: #{$border-radius-pill};\n  // scss-docs-end root-border-var\n\n  --#{$prefix}box-shadow: #{$box-shadow};\n  --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n  --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n  --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n  // Focus styles\n  // scss-docs-start root-focus-variables\n  // --#{$prefix}focus-ring-width: #{$focus-ring-width};\n  // --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n  // --#{$prefix}focus-ring-color: #{$focus-ring-color};\n\n  --#{$prefix}focus-ring-width: 3px;\n  --#{$prefix}focus-ring-offset: -1px;\n  --#{$prefix}focus-ring-color: var(--#{$prefix}primary-focus-ring);\n  --#{$prefix}focus-ring: var(--#{$prefix}focus-ring-width) solid var(--#{$prefix}focus-ring-color);\n\n  // scss-docs-end root-focus-variables\n\n  // scss-docs-start root-form-validation-variables\n  --#{$prefix}form-valid-color: #{$form-valid-color};\n  --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n  --#{$prefix}form-invalid-color: #{$form-invalid-color};\n  --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n  // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n  @include color-mode(dark, true) {\n    color-scheme: dark;\n\n    // scss-docs-start root-dark-mode-vars\n    --#{$prefix}body-color: #{$body-color-dark};\n    --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n    --#{$prefix}body-bg: #{$body-bg-dark};\n    --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n    --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n    --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n    --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n    --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n    --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n    --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n    --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n    --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n    --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n    --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n    // @each $color, $value in $theme-colors-text-dark {\n    //   --#{$prefix}#{$color}-text-emphasis: #{$value};\n    // }\n\n    // @each $color, $value in $theme-colors-bg-subtle-dark {\n    //   --#{$prefix}#{$color}-bg-subtle: #{$value};\n    // }\n\n    // @each $color, $value in $theme-colors-border-subtle-dark {\n    //   --#{$prefix}#{$color}-border-subtle: #{$value};\n    // }\n\n    --#{$prefix}heading-color: #{$headings-color-dark};\n\n    --#{$prefix}link-color: #{$link-color-dark};\n    --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n    --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n    --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n    --#{$prefix}code-color: #{$code-color-dark};\n    --#{$prefix}highlight-color: #{$mark-color-dark};\n    --#{$prefix}highlight-bg: #{$mark-bg-dark};\n\n    --#{$prefix}border-color: #{$border-color-dark};\n    --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n    --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n    --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n    --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n    --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n    // scss-docs-end root-dark-mode-vars\n  }\n}\n","@use \"sass:map\";\n@use \"sass:math\";\n@use \"sass:meta\";\n@use \"sass:string\";\n\n// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n  @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n  @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if meta.type-of($rfs-factor) != number or $rfs-factor <= 1 {\n  @error \"`#{$rfs-factor}` is not a valid  $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: math.unit($rfs-base-value);\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n  $rfs-base-value: math.div($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n  $rfs-base-value: math.div($rfs-base-value, math.div($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: math.unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n  $rfs-breakpoint: math.div($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n  $rfs-breakpoint: math.div($rfs-breakpoint, math.div($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{math.div($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n  @if $rfs-two-dimensional {\n    @if $rfs-mode == max-media-query {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n    @else {\n      @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n        @content;\n      }\n    }\n  }\n  @else {\n    @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n      @content;\n    }\n  }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n  @if $rfs-class == disable and $rfs-mode == max-media-query {\n    // Adding an extra class increases specificity, which prevents the media query to override the property\n    &,\n    .disable-rfs &,\n    &.disable-rfs {\n      @content;\n    }\n  }\n  @else if $rfs-class == enable and $rfs-mode == min-media-query {\n    .enable-rfs &,\n    &.enable-rfs {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n  @if $rfs-class == enable {\n    @if $rfs-mode == min-media-query {\n      @content;\n    }\n\n    @include _rfs-media-query () {\n      .enable-rfs &,\n      &.enable-rfs {\n        @content;\n      }\n    }\n  }\n  @else {\n    @if $rfs-class == disable and $rfs-mode == min-media-query {\n      .disable-rfs &,\n      &.disable-rfs {\n        @content;\n      }\n    }\n    @include _rfs-media-query () {\n      @content;\n    }\n  }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n  // Convert to list\n  $values: if(meta.type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    }\n    @else {\n      // Cache $value unit\n      $unit: if(meta.type-of($value) == \"number\", math.unit($value), false);\n\n      @if $unit == px {\n        // Convert to rem if needed\n        $val: $val + \" \" + if($rfs-unit == rem, #{math.div($value, $value * 0 + $rfs-rem-value)}rem, $value);\n      }\n      @else if $unit == rem {\n        // Convert to px if needed\n        $val: $val + \" \" + if($rfs-unit == px, #{math.div($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n      } @else {\n        // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n        $val: $val + \" \" + $value;\n      }\n    }\n  }\n\n  // Remove first space\n  @return string.unquote(string.slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n  // Convert to list\n  $values: if(meta.type-of($values) != list, ($values,), $values);\n\n  $val: \"\";\n\n  // Loop over each value and calculate value\n  @each $value in $values {\n    @if $value == 0 {\n      $val: $val + \" 0\";\n    } @else {\n      // Cache $value unit\n      $unit: if(meta.type-of($value) == \"number\", math.unit($value), false);\n\n      // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n      @if not $unit or $unit != px and $unit != rem {\n        $val: $val + \" \" + $value;\n      } @else {\n        // Remove unit from $value for calculations\n        $value: math.div($value, $value * 0 + if($unit == px, 1, math.div(1, $rfs-rem-value)));\n\n        // Only add the media query if the value is greater than the minimum value\n        @if abs($value) <= $rfs-base-value or not $enable-rfs {\n          $val: $val + \" \" + if($rfs-unit == rem, #{math.div($value, $rfs-rem-value)}rem, #{$value}px);\n        }\n        @else {\n          // Calculate the minimum value\n          $value-min: $rfs-base-value + math.div(abs($value) - $rfs-base-value, $rfs-factor);\n\n          // Calculate difference between $value and the minimum value\n          $value-diff: abs($value) - $value-min;\n\n          // Base value formatting\n          $min-width: if($rfs-unit == rem, #{math.div($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n          // Use negative value if needed\n          $min-width: if($value < 0, -$min-width, $min-width);\n\n          // Use `vmin` if two-dimensional is enabled\n          $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n          // Calculate the variable width between 0 and $rfs-breakpoint\n          $variable-width: #{math.div($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n          // Return the calculated value\n          $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n        }\n      }\n    }\n  }\n\n  // Remove first space\n  @return string.unquote(string.slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n  @if $values != null {\n    $val: rfs-value($values);\n    $fluid-val: rfs-fluid-value($values);\n\n    // Do not print the media query if responsive & non-responsive values are the same\n    @if $val == $fluid-val {\n      #{$property}: $val;\n    }\n    @else {\n      @include _rfs-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n        // Include safari iframe resize fix if needed\n        min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n      }\n\n      @include _rfs-media-query-rule () {\n        #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n      }\n    }\n  }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n  @include rfs($value);\n}\n\n@mixin padding($value) {\n  @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n  @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n  @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n  @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n  @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n  @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n  @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n  @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n  @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n  @include rfs($value, margin-left);\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 \"../vendor/rfs\" 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      @include font-size(var(--#{$prefix}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\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(--#{$prefix}body-font-family);\n    @include font-size(var(--#{$prefix}body-font-size));\n    font-weight: var(--#{$prefix}body-font-weight);\n    line-height: var(--#{$prefix}body-line-height);\n    color: var(--#{$prefix}body-color);\n    text-align: var(--#{$prefix}body-text-align);\n    background-color: var(--#{$prefix}body-bg); // 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\n  // Content grouping\n  //\n  // 1. Reset Firefox's gray color\n\n  hr {\n    margin: $hr-margin-y 0;\n    color: $hr-color; // 1\n    border: 0;\n    border-top: $hr-border-width solid $hr-border-color;\n    opacity: $hr-opacity;\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(--#{$prefix}heading-color);\n  }\n\n  h1,\n  .h1 {\n    @extend %heading;\n    @include font-size($h1-font-size);\n  }\n\n  h2,\n  .h2 {\n    @extend %heading;\n    @include font-size($h2-font-size);\n  }\n\n  h3,\n  .h3 {\n    @extend %heading;\n    @include font-size($h3-font-size);\n  }\n\n  h4,\n  .h4 {\n    @extend %heading;\n    @include font-size($h4-font-size);\n  }\n\n  h5,\n  .h5 {\n    @extend %heading;\n    @include font-size($h5-font-size);\n  }\n\n  h6,\n  .h6 {\n    @extend %heading;\n    @include 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-left: 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-bottom: .5rem;\n    margin-left: 0; // 1\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    @include font-size($small-font-size);\n  }\n\n\n  // Mark\n\n  mark,\n  .mark {\n    padding: $mark-padding;\n    color: var(--#{$prefix}highlight-color);\n    background-color: var(--#{$prefix}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    @include 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: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n    text-decoration: $link-decoration;\n\n    &:hover {\n      --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n      text-decoration: $link-hover-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    @include 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    @include 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      @include font-size(inherit);\n      color: inherit;\n      word-break: normal;\n    }\n  }\n\n  code {\n    @include font-size($code-font-size);\n    color: var(--#{$prefix}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    @include 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      @include 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(--#{$prefix}secondary-color);\n    text-align: left;\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    @include 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: left`, 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: left; // 1\n    width: 100%;\n    padding: 0;\n    margin-bottom: $legend-margin-bottom;\n    font-weight: $legend-font-weight;\n    line-height: inherit;\n    @include font-size($legend-font-size);\n\n    + * {\n      clear: left; // 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  // 1. A few input types should stay LTR\n  // See https://rtlstyling.com/posts/rtl-styling#form-inputs\n  // 2. RTL only output\n  // See https://rtlcss.com/learn/usage-guide/control-directives/#raw\n\n  /* rtl:raw:\n  [type=\"tel\"],\n  [type=\"url\"],\n  [type=\"email\"],\n  [type=\"number\"] {\n    direction: ltr;\n  }\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 $modal-content-box-shadow-xs.\n\n// scss-docs-start theme-color-variables\n$primary:       $purple-500 !default;\n$secondary:     $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:         $gray-100 !default;\n$dark:          $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// // scss-docs-start theme-text-variables\n// $primary-text-emphasis:   shade-color($primary, 60%) !default;\n// $secondary-text-emphasis: shade-color($secondary, 60%) !default;\n// $success-text-emphasis:   shade-color($success, 60%) !default;\n// $info-text-emphasis:      shade-color($info, 60%) !default;\n// $warning-text-emphasis:   shade-color($warning, 60%) !default;\n// $danger-text-emphasis:    shade-color($danger, 60%) !default;\n// $light-text-emphasis:     $gray-700 !default;\n// $dark-text-emphasis:      $gray-700 !default;\n// // scss-docs-end theme-text-variables\n\n// // scss-docs-start theme-bg-subtle-variables\n// $primary-bg-subtle:       tint-color($primary, 80%) !default;\n// $secondary-bg-subtle:     tint-color($secondary, 80%) !default;\n// $success-bg-subtle:       tint-color($success, 80%) !default;\n// $info-bg-subtle:          tint-color($info, 80%) !default;\n// $warning-bg-subtle:       tint-color($warning, 80%) !default;\n// $danger-bg-subtle:        tint-color($danger, 80%) !default;\n// $light-bg-subtle:         color.mix($gray-100, $white) !default;\n// $dark-bg-subtle:          $gray-400 !default;\n// // scss-docs-end theme-bg-subtle-variables\n\n// // scss-docs-start theme-border-subtle-variables\n// $primary-border-subtle:   tint-color($primary, 60%) !default;\n// $secondary-border-subtle: tint-color($secondary, 60%) !default;\n// $success-border-subtle:   tint-color($success, 60%) !default;\n// $info-border-subtle:      tint-color($info, 60%) !default;\n// $warning-border-subtle:   tint-color($warning, 60%) !default;\n// $danger-border-subtle:    tint-color($danger, 60%) !default;\n// $light-border-subtle:     $gray-200 !default;\n// $dark-border-subtle:      $gray-500 !default;\n// // scss-docs-end theme-border-subtle-variables\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// $enable-important-utilities:  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// $prefix:                      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$body-color:                $gray-900 !default;\n$body-bg:                   $white !default;\n\n$body-secondary-color:      rgba($body-color, .75) !default;\n$body-secondary-bg:         $gray-200 !default;\n\n$body-tertiary-color:       rgba($body-color, .5) !default;\n$body-tertiary-bg:          $gray-100 !default;\n\n$body-emphasis-color:       $black !default;\n\n// Links\n//\n// Style anchor elements.\n\n$link-color:                              $primary !default;\n$link-decoration:                         underline !default;\n$link-shade-percentage:                   20% !default;\n$link-hover-color:                        shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration:                   null !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:                $gray-300 !default;\n$border-color-translucent:    rgba($black, .175) !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius:               .375rem !default;\n$border-radius-sm:            .25rem !default;\n$border-radius-lg:            .5rem !default;\n$border-radius-xl:            1rem !default;\n$border-radius-xxl:           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$component-active-color:      $white !default;\n$component-active-bg:         $primary !default;\n\n// scss-docs-start focus-ring-variables\n$focus-ring-width:      .25rem !default;\n$focus-ring-opacity:    .25 !default;\n$focus-ring-color:      rgba($primary, $focus-ring-opacity) !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$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(--#{$prefix}font-sans-serif) !default;\n$font-family-code:            var(--#{$prefix}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:              null !default;\n$font-size-base:              1rem !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:                $font-size-base * 2.5 !default;\n$h2-font-size:                $font-size-base * 2 !default;\n$h3-font-size:                $font-size-base * 1.75 !default;\n$h4-font-size:                $font-size-base * 1.5 !default;\n$h5-font-size:                $font-size-base * 1.25 !default;\n$h6-font-size:                $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n  1: $h1-font-size,\n  2: $h2-font-size,\n  3: $h3-font-size,\n  4: $h4-font-size,\n  5: $h5-font-size,\n  6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\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 display-headings\n$display-font-sizes: (\n  1: 5rem,\n  2: 4.5rem,\n  3: 4rem,\n  4: 3.5rem,\n  5: 3rem,\n  6: 2.5rem\n) !default;\n\n$display-font-family: null !default;\n$display-font-style:  null !default;\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size:              $font-size-base * 1.25 !default;\n$lead-font-weight:            300 !default;\n\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:     $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y:                 $spacer !default;\n$hr-color:                    inherit !default;\n\n$hr-border-color:             null !default; // Allows for inherited colors\n$hr-border-width:             var(--#{$prefix}border-width) !default;\n$hr-opacity:                  .25 !default;\n\n// scss-docs-start vr-variables\n$vr-border-width:             var(--#{$prefix}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:                  $body-color !default;\n$mark-bg:                     $yellow-100 !default;\n// scss-docs-end type-variables\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\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(--#{$prefix}border-width) !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-color:                   var(--#{$prefix}body-color) !default;\n$btn-padding-y:               $input-btn-padding-y !default;\n$btn-padding-x:               $input-btn-padding-x !default;\n$btn-font-family:             $input-btn-font-family !default;\n$btn-font-size:               $input-btn-font-size !default;\n$btn-line-height:             $input-btn-line-height !default;\n$btn-white-space:             null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm:            $input-btn-padding-y-sm !default;\n$btn-padding-x-sm:            $input-btn-padding-x-sm !default;\n$btn-font-size-sm:            $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg:            $input-btn-padding-y-lg !default;\n$btn-padding-x-lg:            $input-btn-padding-x-lg !default;\n$btn-font-size-lg:            $input-btn-font-size-lg !default;\n\n$btn-border-width:            $input-btn-border-width !default;\n\n$btn-font-weight:             $font-weight-normal !default;\n$btn-box-shadow:              inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width:             $input-btn-focus-width !default;\n$btn-focus-box-shadow:        $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity:        .65 !default;\n$btn-active-box-shadow:       inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color:              var(--#{$prefix}link-color) !default;\n$btn-link-hover-color:        var(--#{$prefix}link-hover-color) !default;\n$btn-link-disabled-color:     $gray-600 !default;\n$btn-link-color-contrast:     color-contrast($link-color) !default;\n$btn-link-focus-shadow-rgb:   to-rgb(color.mix($btn-link-color-contrast, $link-color, 15%)) !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius:           var(--#{$prefix}border-radius) !default;\n$btn-border-radius-sm:        var(--#{$prefix}border-radius-sm) !default;\n$btn-border-radius-lg:        var(--#{$prefix}border-radius-lg) !default;\n\n$btn-transition:              color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount:       15% !default;\n$btn-hover-bg-tint-amount:        15% !default;\n$btn-hover-border-shade-amount:   20% !default;\n$btn-hover-border-tint-amount:    10% !default;\n$btn-active-bg-shade-amount:      20% !default;\n$btn-active-bg-tint-amount:       20% !default;\n$btn-active-border-shade-amount:  25% !default;\n$btn-active-border-tint-amount:   10% !default;\n// scss-docs-end btn-variables\n\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-modal-backdrop:             1050 !default;\n$zindex-modal:                      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// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding:               $spacer !default;\n\n$modal-footer-margin-between:       .5rem !default;\n\n$modal-dialog-margin:               .5rem !default;\n$modal-dialog-margin-y-sm-up:       1.75rem !default;\n\n$modal-title-line-height:           $line-height-base !default;\n\n$modal-content-color:               var(--#{$prefix}body-color) !default;\n$modal-content-bg:                  var(--#{$prefix}body-bg) !default;\n$modal-content-border-color:        var(--#{$prefix}border-color-translucent) !default;\n$modal-content-border-width:        var(--#{$prefix}border-width) !default;\n$modal-content-border-radius:       var(--#{$prefix}border-radius-lg) !default;\n$modal-content-inner-border-radius: calc(#{$modal-content-border-radius} - #{$modal-content-border-width}) !default;\n$modal-content-box-shadow-xs:       var(--#{$prefix}box-shadow-sm) !default;\n$modal-content-box-shadow-sm-up:    var(--#{$prefix}box-shadow) !default;\n\n$modal-backdrop-bg:                 $black !default;\n$modal-backdrop-opacity:            .5 !default;\n\n$modal-header-border-color:         var(--#{$prefix}border-color) !default;\n$modal-header-border-width:         $modal-content-border-width !default;\n$modal-header-padding-y:            $modal-inner-padding !default;\n$modal-header-padding-x:            $modal-inner-padding !default;\n$modal-header-padding:              $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-footer-bg:                   null !default;\n$modal-footer-border-color:         $modal-header-border-color !default;\n$modal-footer-border-width:         $modal-header-border-width !default;\n\n$modal-sm:                          300px !default;\n$modal-md:                          500px !default;\n$modal-lg:                          800px !default;\n$modal-xl:                          1140px !default;\n\n$modal-fade-transform:              translate(0, -50px) !default;\n$modal-show-transform:              none !default;\n$modal-transition:                  transform .3s ease-out !default;\n$modal-scale-transform:             scale(1.02) !default;\n// scss-docs-end modal-variables\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y:               $modal-inner-padding !default;\n$offcanvas-padding-x:               $modal-inner-padding !default;\n$offcanvas-horizontal-width:        400px !default;\n$offcanvas-vertical-height:         30vh !default;\n$offcanvas-transition-duration:     .3s !default;\n$offcanvas-border-color:            $modal-content-border-color !default;\n$offcanvas-border-width:            $modal-content-border-width !default;\n$offcanvas-title-line-height:       $modal-title-line-height !default;\n$offcanvas-bg-color:                var(--#{$prefix}body-bg) !default;\n$offcanvas-color:                   var(--#{$prefix}body-color) !default;\n$offcanvas-box-shadow:              $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg:             $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity:        $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size:                    $small-font-size !default;\n$code-color:                        $pink !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(--#{$prefix}body-bg) !default;\n$kbd-bg:                            var(--#{$prefix}body-color) !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:                   $gray-300 !default;\n$body-bg-dark:                      $gray-900 !default;\n$body-secondary-color-dark:         rgba($body-color-dark, .75) !default;\n$body-secondary-bg-dark:            $gray-800 !default;\n$body-tertiary-color-dark:          rgba($body-color-dark, .5) !default;\n$body-tertiary-bg-dark:             color.mix($gray-800, $gray-900, 50%) !default;\n$body-emphasis-color-dark:          $white !default;\n$border-color-dark:                 $gray-700 !default;\n$border-color-translucent-dark:     rgba($white, .15) !default;\n$headings-color-dark:               inherit !default;\n$link-color-dark:                   tint-color($primary, 40%) !default;\n$link-hover-color-dark:             shift-color($link-color-dark, -$link-shade-percentage) !default;\n$code-color-dark:                   tint-color($code-color, 40%) !default;\n$mark-color-dark:                   $body-color-dark !default;\n$mark-bg-dark:                      $yellow-800 !default;\n\n\n//\n// Forms\n//\n\n$form-select-indicator-color-dark:  $body-color-dark !default;\n$form-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='#{$form-select-indicator-color-dark}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n$form-switch-color-dark:            rgba($white, .25) !default;\n$form-switch-bg-image-dark:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color-dark}'/></svg>\") !default;\n\n// scss-docs-start form-validation-colors-dark\n$form-valid-color-dark:             $green-300 !default;\n$form-valid-border-color-dark:      $green-300 !default;\n$form-invalid-color-dark:           $red-300 !default;\n$form-invalid-border-color-dark:    $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-top-left-radius: valid-radius($radius);\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n    border-bottom-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-left-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-top-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-top-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-end-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-right-radius: valid-radius($radius);\n  }\n}\n\n@mixin border-bottom-start-radius($radius: $border-radius) {\n  @if $enable-rounded {\n    border-bottom-left-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@use \"../vendor/rfs\" as *;\n\n@layer content {\n  .lead {\n    @include font-size($lead-font-size);\n    font-weight: $lead-font-weight;\n  }\n\n  // Type display classes\n  @each $display, $font-size in $display-font-sizes {\n    .display-#{$display} {\n      font-family: $display-font-family;\n      font-style: $display-font-style;\n      font-weight: $display-font-weight;\n      line-height: $display-line-height;\n      @include font-size($font-size);\n    }\n  }\n\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-right: $list-inline-padding;\n    }\n  }\n\n\n  //\n  // Misc\n  //\n\n  // Builds on `abbr`\n  .initialism {\n    @include font-size($initialism-font-size);\n    text-transform: uppercase;\n  }\n\n  // Blockquotes\n  .blockquote {\n    margin-bottom: $blockquote-margin-y;\n    @include 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    @include 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-left: 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$prefix: bs- !default;\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:              true !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$enable-important-utilities:  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// 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: 992px,\n  xl: 1200px,\n  xxl: 1400px\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: 1140px,\n  xxl: 1320px\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","$blue: #0d6efd !default;\n$blue-100: #cfe2ff !default;\n$blue-200: #9ec5fe !default;\n$blue-300: #6ea8fe !default;\n$blue-400: #3d8bfd !default;\n$blue-500: $blue !default;\n$blue-600: #0a58ca !default;\n$blue-700: #084298 !default;\n$blue-800: #052c65 !default;\n$blue-900: #031633 !default;\n\n$indigo: #6610f2 !default;\n$indigo-100: #e0cffc !default;\n$indigo-200: #c29ffa !default;\n$indigo-300: #a370f7 !default;\n$indigo-400: #8540f5 !default;\n$indigo-500: $indigo !default;\n$indigo-600: #520dc2 !default;\n$indigo-700: #3d0a91 !default;\n$indigo-800: #290661 !default;\n$indigo-900: #140330 !default;\n\n$purple: #6f42c1 !default;\n$purple-100: #e2d9f3 !default;\n$purple-200: #c5b3e6 !default;\n$purple-300: #a98eda !default;\n$purple-400: #8c68cd !default;\n$purple-500: $purple !default;\n$purple-600: #59359a !default;\n$purple-700: #432874 !default;\n$purple-800: #2c1a4d !default;\n$purple-900: #160d27 !default;\n\n$pink: #d63384 !default;\n$pink-100: #f7d6e6 !default;\n$pink-200: #efadce !default;\n$pink-300: #e685b5 !default;\n$pink-400: #de5c9d !default;\n$pink-500: $pink !default;\n$pink-600: #ab296a !default;\n$pink-700: #801f4f !default;\n$pink-800: #561435 !default;\n$pink-900: #2b0a1a !default;\n\n$red: #dc3545 !default;\n$red-100: #f8d7da !default;\n$red-200: #f1aeb5 !default;\n$red-300: #ea868f !default;\n$red-400: #e35d6a !default;\n$red-500: $red !default;\n$red-600: #b02a37 !default;\n$red-700: #842029 !default;\n$red-800: #58151c !default;\n$red-900: #2c0b0e !default;\n\n$orange: #fd7e14 !default;\n$orange-100: #ffe5d0 !default;\n$orange-200: #fecba1 !default;\n$orange-300: #feb272 !default;\n$orange-400: #fd9843 !default;\n$orange-500: $orange !default;\n$orange-600: #ca6510 !default;\n$orange-700: #984c0c !default;\n$orange-800: #653208 !default;\n$orange-900: #331904 !default;\n\n$yellow: #ffc107 !default;\n$yellow-100: #fff3cd !default;\n$yellow-200: #ffe69c !default;\n$yellow-300: #ffda6a !default;\n$yellow-400: #ffcd39 !default;\n$yellow-500: $yellow !default;\n$yellow-600: #cc9a06 !default;\n$yellow-700: #997404 !default;\n$yellow-800: #664d03 !default;\n$yellow-900: #332701 !default;\n\n$green: #198754 !default;\n$green-100: #d1e7dd !default;\n$green-200: #a3cfbb !default;\n$green-300: #75b798 !default;\n$green-400: #479f76 !default;\n$green-500: $green !default;\n$green-600: #146c43 !default;\n$green-700: #0f5132 !default;\n$green-800: #0a3622 !default;\n$green-900: #051b11 !default;\n\n$teal: #20c997 !default;\n$teal-100: #d2f4ea !default;\n$teal-200: #a6e9d5 !default;\n$teal-300: #79dfc1 !default;\n$teal-400: #4dd4ac !default;\n$teal-500: $teal !default;\n$teal-600: #1aa179 !default;\n$teal-700: #13795b !default;\n$teal-800: #0d503c !default;\n$teal-900: #06281e !default;\n\n$cyan: #0dcaf0 !default;\n$cyan-100: #cff4fc !default;\n$cyan-200: #9eeaf9 !default;\n$cyan-300: #6edff6 !default;\n$cyan-400: #3dd5f3 !default;\n$cyan-500: $cyan !default;\n$cyan-600: #0aa2c0 !default;\n$cyan-700: #087990 !default;\n$cyan-800: #055160 !default;\n$cyan-900: #032830 !default;\n\n$gray: #adb5bd !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: $gray !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n\n$white: #fff !default;\n$black: #000 !default;\n\n$blues: (\n  \"blue-100\": $blue-100,\n  \"blue-200\": $blue-200,\n  \"blue-300\": $blue-300,\n  \"blue-400\": $blue-400,\n  \"blue-500\": $blue-500,\n  \"blue-600\": $blue-600,\n  \"blue-700\": $blue-700,\n  \"blue-800\": $blue-800,\n  \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n  \"indigo-100\": $indigo-100,\n  \"indigo-200\": $indigo-200,\n  \"indigo-300\": $indigo-300,\n  \"indigo-400\": $indigo-400,\n  \"indigo-500\": $indigo-500,\n  \"indigo-600\": $indigo-600,\n  \"indigo-700\": $indigo-700,\n  \"indigo-800\": $indigo-800,\n  \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n  \"purple-100\": $purple-100,\n  \"purple-200\": $purple-200,\n  \"purple-300\": $purple-300,\n  \"purple-400\": $purple-400,\n  \"purple-500\": $purple-500,\n  \"purple-600\": $purple-600,\n  \"purple-700\": $purple-700,\n  \"purple-800\": $purple-800,\n  \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n  \"pink-100\": $pink-100,\n  \"pink-200\": $pink-200,\n  \"pink-300\": $pink-300,\n  \"pink-400\": $pink-400,\n  \"pink-500\": $pink-500,\n  \"pink-600\": $pink-600,\n  \"pink-700\": $pink-700,\n  \"pink-800\": $pink-800,\n  \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n  \"red-100\": $red-100,\n  \"red-200\": $red-200,\n  \"red-300\": $red-300,\n  \"red-400\": $red-400,\n  \"red-500\": $red-500,\n  \"red-600\": $red-600,\n  \"red-700\": $red-700,\n  \"red-800\": $red-800,\n  \"red-900\": $red-900\n) !default;\n\n$oranges: (\n  \"orange-100\": $orange-100,\n  \"orange-200\": $orange-200,\n  \"orange-300\": $orange-300,\n  \"orange-400\": $orange-400,\n  \"orange-500\": $orange-500,\n  \"orange-600\": $orange-600,\n  \"orange-700\": $orange-700,\n  \"orange-800\": $orange-800,\n  \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n  \"yellow-100\": $yellow-100,\n  \"yellow-200\": $yellow-200,\n  \"yellow-300\": $yellow-300,\n  \"yellow-400\": $yellow-400,\n  \"yellow-500\": $yellow-500,\n  \"yellow-600\": $yellow-600,\n  \"yellow-700\": $yellow-700,\n  \"yellow-800\": $yellow-800,\n  \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n  \"green-100\": $green-100,\n  \"green-200\": $green-200,\n  \"green-300\": $green-300,\n  \"green-400\": $green-400,\n  \"green-500\": $green-500,\n  \"green-600\": $green-600,\n  \"green-700\": $green-700,\n  \"green-800\": $green-800,\n  \"green-900\": $green-900\n) !default;\n\n$teals: (\n  \"teal-100\": $teal-100,\n  \"teal-200\": $teal-200,\n  \"teal-300\": $teal-300,\n  \"teal-400\": $teal-400,\n  \"teal-500\": $teal-500,\n  \"teal-600\": $teal-600,\n  \"teal-700\": $teal-700,\n  \"teal-800\": $teal-800,\n  \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n  \"cyan-100\": $cyan-100,\n  \"cyan-200\": $cyan-200,\n  \"cyan-300\": $cyan-300,\n  \"cyan-400\": $cyan-400,\n  \"cyan-500\": $cyan-500,\n  \"cyan-600\": $cyan-600,\n  \"cyan-700\": $cyan-700,\n  \"cyan-800\": $cyan-800,\n  \"cyan-900\": $cyan-900\n) !default;\n\n$grays: (\n  \"gray-100\": $gray-100,\n  \"gray-200\": $gray-200,\n  \"gray-300\": $gray-300,\n  \"gray-400\": $gray-400,\n  \"gray-500\": $gray-500,\n  \"gray-600\": $gray-600,\n  \"gray-700\": $gray-700,\n  \"gray-800\": $gray-800,\n  \"gray-900\": $gray-900\n) !default;\n\n$colors: (\n  \"blue\": $blue,\n  \"indigo\": $indigo,\n  \"purple\": $purple,\n  \"pink\": $pink,\n  \"red\": $red,\n  \"orange\": $orange,\n  \"yellow\": $yellow,\n  \"green\": $green,\n  \"teal\": $teal,\n  \"cyan\": $cyan\n) !default;\n\n$all-colors: (\n  \"grays\": $grays,\n  \"blues\": $blues,\n  \"indigos\": $indigos,\n  \"purples\": $purples,\n  \"pinks\": $pinks,\n  \"reds\": $reds,\n  \"oranges\": $oranges,\n  \"yellows\": $yellows,\n  \"greens\": $greens,\n  \"teals\": $teals,\n  \"cyans\": $cyans\n) !default;\n","@use \"sass:color\";\n@use \"sass:map\";\n@use \"sass:math\";\n@use \"../config\" as *;\n@use \"../colors\" 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(--#{$prefix}emphasis-color) !default;\n$table-bg:                    var(--#{$prefix}body-bg) !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:            rgba(var(--#{$prefix}emphasis-color-rgb), $table-striped-bg-factor) !default;\n\n$table-active-color:          $table-color !default;\n$table-active-bg-factor:      .1 !default;\n$table-active-bg:             rgba(var(--#{$prefix}emphasis-color-rgb), $table-active-bg-factor) !default;\n\n$table-hover-color:           $table-color !default;\n$table-hover-bg-factor:       .075 !default;\n$table-hover-bg:              rgba(var(--#{$prefix}emphasis-color-rgb), $table-hover-bg-factor) !default;\n\n$table-border-factor:         .2 !default;\n$table-border-width:          var(--#{$prefix}border-width) !default;\n$table-border-color:          var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n\n$table-bg-scale:              -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n  \"primary\":    shift-color($primary, $table-bg-scale),\n  \"secondary\":  shift-color($secondary, $table-bg-scale),\n  \"success\":    shift-color($success, $table-bg-scale),\n  \"info\":       shift-color($info, $table-bg-scale),\n  \"warning\":    shift-color($warning, $table-bg-scale),\n  \"danger\":     shift-color($danger, $table-bg-scale),\n  \"light\":      $light,\n  \"dark\":       $dark,\n) !default;\n// scss-docs-end table-loop\n\n// scss-docs-start table-variant\n@mixin table-variant($state, $background) {\n  .table-#{$state} {\n    $color: color-contrast(opaque($body-bg, $background));\n    $hover-bg: color.mix($color, $background, math.percentage($table-hover-bg-factor));\n    $striped-bg: color.mix($color, $background, math.percentage($table-striped-bg-factor));\n    $active-bg: color.mix($color, $background, math.percentage($table-active-bg-factor));\n    $table-border-color: color.mix($color, $background, math.percentage($table-border-factor));\n\n    --#{$prefix}table-color: #{$color};\n    --#{$prefix}table-bg: #{$background};\n    --#{$prefix}table-border-color: #{$table-border-color};\n    --#{$prefix}table-striped-bg: #{$striped-bg};\n    --#{$prefix}table-striped-color: #{color-contrast($striped-bg)};\n    --#{$prefix}table-active-bg: #{$active-bg};\n    --#{$prefix}table-active-color: #{color-contrast($active-bg)};\n    --#{$prefix}table-hover-bg: #{$hover-bg};\n    --#{$prefix}table-hover-color: #{color-contrast($hover-bg)};\n\n    color: var(--#{$prefix}table-color);\n    border-color: var(--#{$prefix}table-border-color);\n  }\n}\n// scss-docs-end table-variant\n\n//\n// Basic Bootstrap table\n//\n\n@layer content {\n  .table {\n    // Reset needed for nesting tables\n    --#{$prefix}table-color-type: initial;\n    --#{$prefix}table-bg-type: initial;\n    --#{$prefix}table-color-state: initial;\n    --#{$prefix}table-bg-state: initial;\n    // End of reset\n    --#{$prefix}table-color: #{$table-color};\n    --#{$prefix}table-bg: #{$table-bg};\n    --#{$prefix}table-border-color: #{$table-border-color};\n    --#{$prefix}table-accent-bg: #{$table-accent-bg};\n    --#{$prefix}table-striped-color: #{$table-striped-color};\n    --#{$prefix}table-striped-bg: #{$table-striped-bg};\n    --#{$prefix}table-active-color: #{$table-active-color};\n    --#{$prefix}table-active-bg: #{$table-active-bg};\n    --#{$prefix}table-hover-color: #{$table-hover-color};\n    --#{$prefix}table-hover-bg: #{$table-hover-bg};\n\n    width: 100%;\n    margin-bottom: $spacer;\n    vertical-align: $table-cell-vertical-align;\n    border-color: var(--#{$prefix}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(--#{$prefix}table-color-state, var(--#{$prefix}table-color-type, var(--#{$prefix}table-color)));\n      background-color: var(--#{$prefix}table-bg);\n      border-bottom-width: $table-border-width;\n      box-shadow: inset 0 0 0 9999px var(--#{$prefix}table-bg-state, var(--#{$prefix}table-bg-type, var(--#{$prefix}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-top: 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-bottom-width: 0;\n    }\n\n    > :not(:first-child) {\n      border-top-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      --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);\n      --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);\n    }\n  }\n\n  // For columns\n  .table-striped-columns {\n    > :not(caption) > tr > :nth-child(#{$table-striped-columns-order}) {\n      --#{$prefix}table-color-type: var(--#{$prefix}table-striped-color);\n      --#{$prefix}table-bg-type: var(--#{$prefix}table-striped-bg);\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    --#{$prefix}table-color-state: var(--#{$prefix}table-active-color);\n    --#{$prefix}table-bg-state: var(--#{$prefix}table-active-bg);\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      --#{$prefix}table-color-state: var(--#{$prefix}table-hover-color);\n      --#{$prefix}table-bg-state: var(--#{$prefix}table-hover-bg);\n    }\n  }\n\n\n  // Table variants\n  //\n  // Table variants set the table cell backgrounds, border colors\n  // and the colors of the striped, hovered & active tables\n\n  @each $color, $value in $table-variants {\n    @include table-variant($color, $value);\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: 992px, xl: 1200px, xxl: 1400px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n//    >> breakpoint-next(sm)\n//    md\n//    >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    md\n//    >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl xxl))\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 `#{$breakpoints}`\";\n  }\n  @return if($n < list.length($breakpoint-names), list.nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n//    >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n  $min: map.get($breakpoints, $name);\n  @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n//    >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n  $max: map.get($breakpoints, $name);\n  @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n//    >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"\"  (Returns a blank string)\n//    >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px, xxl: 1400px))\n//    \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n  @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($name, $breakpoints);\n  @if $min {\n    @media (min-width: $min) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n  $max: breakpoint-max($name, $breakpoints);\n  @if $max {\n    @media (max-width: $max) {\n      @content;\n    }\n  } @else {\n    @content;\n  }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n  $min: breakpoint-min($lower, $breakpoints);\n  $max: breakpoint-max($upper, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($lower, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($upper, $breakpoints) {\n      @content;\n    }\n  }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n  $min:  breakpoint-min($name, $breakpoints);\n  $next: breakpoint-next($name, $breakpoints);\n  $max:  breakpoint-max($next, $breakpoints);\n\n  @if $min != null and $max != null {\n    @media (min-width: $min) and (max-width: $max) {\n      @content;\n    }\n  } @else if $max == null {\n    @include media-breakpoint-up($name, $breakpoints) {\n      @content;\n    }\n  } @else if $min == null {\n    @include media-breakpoint-down($next, $breakpoints) {\n      @content;\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../vendor/rfs\" 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(--#{$prefix}body-bg) !default;\n$thumbnail-border-width:            var(--#{$prefix}border-width) !default;\n$thumbnail-border-color:            var(--#{$prefix}border-color) !default;\n$thumbnail-border-radius:           var(--#{$prefix}border-radius) !default;\n$thumbnail-box-shadow:              var(--#{$prefix}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(--#{$prefix}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    @include 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 \"../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  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}gutter-y: 0;\n  width: 100%;\n  padding-right: calc(var(--#{$prefix}gutter-x) * .5);\n  padding-left: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-right: auto;\n  margin-left: 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        %responsive-container-#{$breakpoint} {\n          max-width: $container-max-width;\n        }\n\n        // Extend each breakpoint which is smaller or equal to the current breakpoint\n        $extend-breakpoint: true;\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    --#{$prefix}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      --#{$prefix}columns: #{$grid-columns};\n      --#{$prefix}rows: 1;\n      --#{$prefix}gap: #{$grid-gutter-width};\n\n      display: grid;\n      grid-template-rows: repeat(var(--#{$prefix}rows), 1fr);\n      grid-template-columns: repeat(var(--#{$prefix}columns), 1fr);\n      gap: var(--#{$prefix}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    --#{$prefix}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(--#{$prefix}gap);\n  }\n\n  // mdo-do: add to utilities?\n  .g-col-auto {\n    grid-column: auto/auto;\n  }\n\n  // mdo-do: add to utilities?\n  .grid-cols-3 {\n    --#{$prefix}columns: 3;\n  }\n  .grid-cols-4 {\n    --#{$prefix}columns: 4;\n  }\n  .grid-cols-6 {\n    --#{$prefix}columns: 6;\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  --#{$prefix}gutter-x: #{$gutter};\n  --#{$prefix}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-top: calc(-1 * var(--#{$prefix}gutter-y));\n  margin-right: calc(-.5 * var(--#{$prefix}gutter-x));\n  margin-left: calc(-.5 * var(--#{$prefix}gutter-x));\n}\n\n@mixin make-col-ready() {\n  // Add box sizing if only the grid is loaded\n  box-sizing: if(meta.variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, 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-right: calc(var(--#{$prefix}gutter-x) * .5);\n  padding-left: calc(var(--#{$prefix}gutter-x) * .5);\n  margin-top: var(--#{$prefix}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  margin-left: if($num == 0, 0, 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          --#{$prefix}gutter-x: #{$value};\n        }\n\n        .g#{$infix}-#{$key},\n        .gy#{$infix}-#{$key} {\n          --#{$prefix}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 \"../vendor/rfs\" 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    @include 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    @include 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    @include 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    @include font-size($input-font-size-sm);\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../vendor/rfs\" 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(--#{$prefix}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    @include 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 \"../vendor/rfs\" 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 \"form-variables\" as *;\n\n//\n// General form controls (plus a few specific high-level interventions)\n//\n\n@layer forms {\n  .form-control {\n    display: block;\n    width: 100%;\n    padding: $input-padding-y $input-padding-x;\n    font-family: $input-font-family;\n    @include font-size($input-font-size);\n    font-weight: $input-font-weight;\n    line-height: $input-line-height;\n    color: $input-color;\n    appearance: none; // Fix appearance for date inputs in Safari\n    background-color: $input-bg;\n    background-clip: padding-box;\n    border: $input-border-width solid $input-border-color;\n\n    // Note: This has no effect on <select>s in some browsers, due to the limited stylability of `<select>`s in CSS.\n    @include border-radius($input-border-radius, 0);\n\n    @include box-shadow($input-box-shadow);\n    @include transition($input-transition);\n\n    &[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      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      height: if(math.unit($input-line-height) == \"\", $input-line-height * 1em, $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      padding: $input-padding-y $input-padding-x;\n      margin: (-$input-padding-y) (-$input-padding-x);\n      margin-inline-end: $input-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: $input-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-right: 0;\n      padding-left: 0;\n    }\n  }\n\n  // Form control sizing\n  //\n  // Build on `.form-control` with modifier classes to decrease or increase the\n  // height and font-size of form controls.\n  //\n  // Repeated in `_input_group.scss` to avoid Sass extend issues.\n\n  .form-control-sm {\n    min-height: $input-height-sm;\n    padding: $input-padding-y-sm $input-padding-x-sm;\n    @include font-size($input-font-size-sm);\n    @include border-radius($input-border-radius-sm);\n\n    &::file-selector-button {\n      padding: $input-padding-y-sm $input-padding-x-sm;\n      margin: (-$input-padding-y-sm) (-$input-padding-x-sm);\n      margin-inline-end: $input-padding-x-sm;\n    }\n  }\n\n  .form-control-lg {\n    min-height: $input-height-lg;\n    padding: $input-padding-y-lg $input-padding-x-lg;\n    @include font-size($input-font-size-lg);\n    @include border-radius($input-border-radius-lg);\n\n    &::file-selector-button {\n      padding: $input-padding-y-lg $input-padding-x-lg;\n      margin: (-$input-padding-y-lg) (-$input-padding-x-lg);\n      margin-inline-end: $input-padding-x-lg;\n    }\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","@use \"../config\" as *;\n@use \"../variables\" as *;\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(--#{$prefix}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(--#{$prefix}body-bg) !default;\n$input-disabled-color:                  null !default;\n$input-disabled-bg:                     var(--#{$prefix}secondary-bg) !default;\n$input-disabled-border-color:           null !default;\n\n$input-color:                           var(--#{$prefix}body-color) !default;\n$input-border-color:                    var(--#{$prefix}border-color) !default;\n$input-border-width:                    $input-btn-border-width !default;\n$input-box-shadow:                      var(--#{$prefix}box-shadow-inset) !default;\n\n$input-border-radius:                   var(--#{$prefix}border-radius) !default;\n$input-border-radius-sm:                var(--#{$prefix}border-radius-sm) !default;\n$input-border-radius-lg:                var(--#{$prefix}border-radius-lg) !default;\n\n$input-focus-bg:                        $input-bg !default;\n$input-focus-border-color:              var(--#{$prefix}primary-border) !default;\n$input-focus-color:                     $input-color !default;\n$input-focus-width:                     $input-btn-focus-width !default;\n$input-focus-box-shadow:                $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color:               var(--#{$prefix}secondary-color) !default;\n$input-plaintext-color:                 var(--#{$prefix}body-color) !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\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(--#{$prefix}tertiary-bg) !default;\n$form-file-button-hover-bg:       var(--#{$prefix}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(--#{$prefix}success) !default;\n$form-feedback-invalid-color:       var(--#{$prefix}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(--#{$prefix}form-valid-color),\n    \"icon\": $form-feedback-icon-valid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}success),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}success-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-valid-border-color),\n  ),\n  \"invalid\": (\n    \"color\": var(--#{$prefix}form-invalid-color),\n    \"icon\": $form-feedback-icon-invalid,\n    \"tooltip-color\": #fff,\n    \"tooltip-bg-color\": var(--#{$prefix}danger),\n    \"focus-box-shadow\": 0 0 $input-btn-focus-blur $input-focus-width rgba(var(--#{$prefix}danger-rgb), $input-btn-focus-color-opacity),\n    \"border-color\": var(--#{$prefix}form-invalid-border-color),\n  )\n) !default;\n// scss-docs-end form-validation-states\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 \"../variables\" as *;\n\n@mixin focus-ring($offset: false, $color: null) {\n  @if $color != null {\n    outline: var(--#{$prefix}focus-ring-width) solid #{$color};\n  } @else {\n    outline: var(--#{$prefix}focus-ring);\n  }\n  @if $offset {\n    outline-offset: var(--#{$prefix}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(--#{$prefix}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: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {\n  background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);\n}\n\n// Vertical gradient, from top to bottom\n//\n// Creates two color stops, start and end, by specifying a color and position for each color stop.\n@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 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: $gray-700, $end-color: $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: $gray-700, $outer-color: $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 \"../vendor/rfs\" 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// scss-docs-start form-select-variables\n$form-select-padding-y:             $input-padding-y !default;\n$form-select-padding-x:             $input-padding-x !default;\n$form-select-font-family:           $input-font-family !default;\n$form-select-font-size:             $input-font-size !default;\n$form-select-indicator-padding:     $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight:           $input-font-weight !default;\n$form-select-line-height:           $input-line-height !default;\n$form-select-color:                 $input-color !default;\n$form-select-bg:                    $input-bg !default;\n$form-select-disabled-color:        null !default;\n$form-select-disabled-bg:           $input-disabled-bg !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position:           right $form-select-padding-x center !default;\n$form-select-bg-size:               16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color:       $gray-800 !default;\n$form-select-indicator:             url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path fill='none' stroke='#{$form-select-indicator-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/></svg>\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position:    center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size:        $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width:        $input-border-width !default;\n$form-select-border-color:        $input-border-color !default;\n$form-select-border-radius:       $input-border-radius !default;\n$form-select-box-shadow:          var(--#{$prefix}box-shadow-inset) !default;\n\n$form-select-focus-border-color:  $input-focus-border-color !default;\n$form-select-focus-width:         $input-focus-width !default;\n// $form-select-focus-box-shadow:    0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm:        $input-padding-y-sm !default;\n$form-select-padding-x-sm:        $input-padding-x-sm !default;\n$form-select-font-size-sm:        $input-font-size-sm !default;\n$form-select-border-radius-sm:    $input-border-radius-sm !default;\n\n$form-select-padding-y-lg:        $input-padding-y-lg !default;\n$form-select-padding-x-lg:        $input-padding-x-lg !default;\n$form-select-font-size-lg:        $input-font-size-lg !default;\n$form-select-border-radius-lg:    $input-border-radius-lg !default;\n\n$form-select-transition:          $input-transition !default;\n// scss-docs-end form-select-variables\n\n@layer forms {\n  .form-select {\n    --#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator)};\n\n    display: block;\n    width: 100%;\n    padding: $form-select-padding-y $form-select-indicator-padding $form-select-padding-y $form-select-padding-x;\n    font-family: $form-select-font-family;\n    @include font-size($form-select-font-size);\n    font-weight: $form-select-font-weight;\n    line-height: $form-select-line-height;\n    color: $form-select-color;\n    appearance: none;\n    background-color: $form-select-bg;\n    background-image: var(--#{$prefix}form-select-bg-img), var(--#{$prefix}form-select-bg-icon, none);\n    background-repeat: no-repeat;\n    background-position: $form-select-bg-position;\n    background-size: $form-select-bg-size;\n    border: $form-select-border-width solid $form-select-border-color;\n    @include border-radius($form-select-border-radius, 0);\n    @include box-shadow($form-select-box-shadow);\n    @include transition($form-select-transition);\n\n    &:focus-visible {\n      border-color: $form-select-focus-border-color;\n      @include focus-ring(true);\n    }\n\n    &[multiple],\n    &[size]:not([size=\"1\"]) {\n      padding-right: $form-select-padding-x;\n      background-image: none;\n    }\n\n    &:disabled {\n      color: $form-select-disabled-color;\n      background-color: $form-select-disabled-bg;\n      border-color: $form-select-disabled-border-color;\n    }\n\n    // Remove outline from select box in FF\n    &:-moz-focusring {\n      color: transparent;\n      text-shadow: 0 0 0 $form-select-color;\n    }\n  }\n\n  .form-select-sm {\n    padding-top: $form-select-padding-y-sm;\n    padding-bottom: $form-select-padding-y-sm;\n    padding-left: $form-select-padding-x-sm;\n    @include font-size($form-select-font-size-sm);\n    @include border-radius($form-select-border-radius-sm);\n  }\n\n  .form-select-lg {\n    padding-top: $form-select-padding-y-lg;\n    padding-bottom: $form-select-padding-y-lg;\n    padding-left: $form-select-padding-x-lg;\n    @include font-size($form-select-font-size-lg);\n    @include border-radius($form-select-border-radius-lg);\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark) {\n      .form-select {\n        --#{$prefix}form-select-bg-img: #{escape-svg($form-select-indicator-dark)};\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../vendor/rfs\" 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// scss-docs-start form-check-variables\n$form-check-input-width:                  1em !default;\n$form-check-min-height:                   $font-size-base * $line-height-base !default;\n$form-check-padding-start:                $form-check-input-width + .5em !default;\n$form-check-margin-bottom:                .125rem !default;\n$form-check-label-color:                  null !default;\n$form-check-label-cursor:                 null !default;\n$form-check-transition:                   null !default;\n\n$form-check-input-active-filter:          brightness(90%) !default;\n\n$form-check-input-bg:                     $input-bg !default;\n$form-check-input-border:                 var(--#{$prefix}border-width) solid var(--#{$prefix}border-color) !default;\n$form-check-input-border-radius:          .25em !default;\n$form-check-radio-border-radius:          50% !default;\n$form-check-input-focus-border:           $input-focus-border-color !default;\n$form-check-input-focus-box-shadow:       $focus-ring-box-shadow !default;\n\n$form-check-input-checked-color:          $component-active-color !default;\n$form-check-input-checked-bg-color:       $component-active-bg !default;\n$form-check-input-checked-border-color:   $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-checked-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/></svg>\") !default;\n$form-check-radio-checked-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='2' fill='#{$form-check-input-checked-color}'/></svg>\") !default;\n\n$form-check-input-indeterminate-color:          $component-active-color !default;\n$form-check-input-indeterminate-bg-color:       $component-active-bg !default;\n$form-check-input-indeterminate-border-color:   $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image:       url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='none' stroke='#{$form-check-input-indeterminate-color}' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/></svg>\") !default;\n\n$form-check-input-disabled-opacity:        .5 !default;\n$form-check-label-disabled-opacity:        $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity:    $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end:    1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color:               rgba($black, .25) !default;\n$form-switch-width:               1.5em !default;\n$form-switch-padding-start:       $form-switch-width + .5em !default;\n$form-switch-bg-image:            url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-color}'/></svg>\") !default;\n$form-switch-border-radius:       $form-switch-width !default;\n$form-switch-transition:          background-position .15s ease-in-out !default;\n\n$form-switch-focus-color:         $input-focus-border-color !default;\n$form-switch-focus-bg-image:      url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-focus-color}'/></svg>\") !default;\n\n$form-switch-checked-color:       $component-active-color !default;\n$form-switch-checked-bg-image:    url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='#{$form-switch-checked-color}'/></svg>\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n@layer forms {\n  .form-check {\n    display: block;\n    min-height: $form-check-min-height;\n    padding-left: $form-check-padding-start;\n    margin-bottom: $form-check-margin-bottom;\n\n    .form-check-input {\n      float: left;\n      margin-left: $form-check-padding-start * -1;\n    }\n  }\n\n  .form-check-reverse {\n    padding-right: $form-check-padding-start;\n    padding-left: 0;\n    text-align: right;\n\n    .form-check-input {\n      float: right;\n      margin-right: $form-check-padding-start * -1;\n      margin-left: 0;\n    }\n  }\n\n  .form-check-input {\n    --#{$prefix}form-check-bg: #{$form-check-input-bg};\n\n    flex-shrink: 0;\n    width: $form-check-input-width;\n    height: $form-check-input-width;\n    margin-top: ($line-height-base - $form-check-input-width) * .5; // line-height minus check height\n    vertical-align: top;\n    appearance: none;\n    background-color: var(--#{$prefix}form-check-bg);\n    background-image: var(--#{$prefix}form-check-bg-image);\n    background-repeat: no-repeat;\n    background-position: center;\n    background-size: contain;\n    border: $form-check-input-border;\n    print-color-adjust: exact; // Keep themed appearance for print\n    @include transition($form-check-transition);\n\n    &[type=\"checkbox\"] {\n      @include border-radius($form-check-input-border-radius);\n    }\n\n    &[type=\"radio\"] {\n      // stylelint-disable-next-line property-disallowed-list\n      border-radius: $form-check-radio-border-radius;\n    }\n\n    &:active {\n      filter: $form-check-input-active-filter;\n    }\n\n    &:focus-visible {\n      border-color: $form-check-input-focus-border;\n      @include focus-ring(true);\n      --#{$prefix}focus-ring-offset: 1px;\n      // box-shadow: $form-check-input-focus-box-shadow;\n    }\n\n    &:checked {\n      background-color: $form-check-input-checked-bg-color;\n      border-color: $form-check-input-checked-border-color;\n\n      &[type=\"checkbox\"] {\n        @if $enable-gradients {\n          --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-checked-bg-image)}, var(--#{$prefix}gradient);\n        } @else {\n          --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-checked-bg-image)};\n        }\n      }\n\n      &[type=\"radio\"] {\n        @if $enable-gradients {\n          --#{$prefix}form-check-bg-image: #{escape-svg($form-check-radio-checked-bg-image)}, var(--#{$prefix}gradient);\n        } @else {\n          --#{$prefix}form-check-bg-image: #{escape-svg($form-check-radio-checked-bg-image)};\n        }\n      }\n    }\n\n    &[type=\"checkbox\"]:indeterminate {\n      background-color: $form-check-input-indeterminate-bg-color;\n      border-color: $form-check-input-indeterminate-border-color;\n\n      @if $enable-gradients {\n        --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-indeterminate-bg-image)}, var(--#{$prefix}gradient);\n      } @else {\n        --#{$prefix}form-check-bg-image: #{escape-svg($form-check-input-indeterminate-bg-image)};\n      }\n    }\n\n    &:disabled {\n      pointer-events: none;\n      filter: none;\n      opacity: $form-check-input-disabled-opacity;\n    }\n\n    // Use disabled attribute in addition of :disabled pseudo-class\n    // See: https://github.com/twbs/bootstrap/issues/28247\n    &[disabled],\n    &:disabled {\n      ~ .form-check-label {\n        cursor: default;\n        opacity: $form-check-label-disabled-opacity;\n      }\n    }\n  }\n\n  .form-check-label {\n    color: $form-check-label-color;\n    cursor: $form-check-label-cursor;\n  }\n\n  //\n  // Switch\n  //\n\n  .form-switch {\n    padding-left: $form-switch-padding-start;\n\n    .form-check-input {\n      --#{$prefix}form-switch-bg: #{escape-svg($form-switch-bg-image)};\n\n      width: $form-switch-width;\n      margin-left: $form-switch-padding-start * -1;\n      background-image: var(--#{$prefix}form-switch-bg);\n      background-position: left center;\n      @include border-radius($form-switch-border-radius, 0);\n      @include transition($form-switch-transition);\n\n      &:focus {\n        --#{$prefix}form-switch-bg: #{escape-svg($form-switch-focus-bg-image)};\n      }\n\n      &:checked {\n        background-position: $form-switch-checked-bg-position;\n\n        @if $enable-gradients {\n          --#{$prefix}form-switch-bg: #{escape-svg($form-switch-checked-bg-image)}, var(--#{$prefix}gradient);\n        } @else {\n          --#{$prefix}form-switch-bg: #{escape-svg($form-switch-checked-bg-image)};\n        }\n      }\n    }\n\n    &.form-check-reverse {\n      padding-right: $form-switch-padding-start;\n      padding-left: 0;\n\n      .form-check-input {\n        margin-right: $form-switch-padding-start * -1;\n        margin-left: 0;\n      }\n    }\n  }\n\n  .form-check-inline {\n    display: inline-block;\n    margin-right: $form-check-inline-margin-end;\n  }\n\n  .btn-check {\n    position: absolute;\n    clip: rect(0, 0, 0, 0);\n    pointer-events: none;\n\n    &[disabled],\n    &:disabled {\n      + .btn {\n        pointer-events: none;\n        filter: none;\n        opacity: $form-check-btn-check-disabled-opacity;\n      }\n    }\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark) {\n      .form-switch .form-check-input:not(:checked):not(:focus) {\n        --#{$prefix}form-switch-bg: #{escape-svg($form-switch-bg-image-dark)};\n      }\n    }\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/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(--#{$prefix}secondary-bg) !default;\n$form-range-track-border-radius:  1rem !default;\n$form-range-track-box-shadow:     var(--#{$prefix}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-focus-box-shadow:        0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width:  $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg:               tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg:             var(--#{$prefix}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: add($form-range-thumb-height, $form-range-thumb-focus-box-shadow-width * 2);\n    padding: 0; // Need to reset padding\n    appearance: none;\n    background-color: transparent;\n\n    &:focus {\n      outline: 0;\n\n      // Pseudo-elements must be split across multiple rulesets to have an effect.\n      // No box-shadow() mixin for focus accessibility.\n      &::-webkit-slider-thumb { box-shadow: $form-range-thumb-focus-box-shadow; }\n      &::-moz-range-thumb     { box-shadow: $form-range-thumb-focus-box-shadow; }\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 \"../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:    $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      top: 0;\n      left: 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: rgba(var(--#{$prefix}body-color-rgb), #{$form-floating-label-opacity});\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-top: $form-floating-input-padding-t;\n      padding-bottom: $form-floating-input-padding-b;\n      padding-left: $form-floating-padding-x;\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 \"../vendor/rfs\" 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(--#{$prefix}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    @include 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    @include 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    @include 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    &: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    $validation-messages: \"\";\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    > :not(:first-child):not(.dropdown-menu)#{$validation-messages} {\n      margin-left: 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  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"vendor/rfs\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size:                 $font-size-sm !default;\n$tooltip-max-width:                 200px !default;\n$tooltip-color:                     var(--#{$prefix}body-bg) !default;\n$tooltip-bg:                        var(--#{$prefix}emphasis-color) !default;\n$tooltip-border-radius:             var(--#{$prefix}border-radius) !default;\n$tooltip-opacity:                   .9 !default;\n$tooltip-padding-y:                 $spacer * .25 !default;\n$tooltip-padding-x:                 $spacer * .5 !default;\n$tooltip-margin:                    null !default; // TODO: remove this in v6\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    --#{$prefix}tooltip-zindex: #{$zindex-tooltip};\n    --#{$prefix}tooltip-max-width: #{$tooltip-max-width};\n    --#{$prefix}tooltip-padding-x: #{$tooltip-padding-x};\n    --#{$prefix}tooltip-padding-y: #{$tooltip-padding-y};\n    --#{$prefix}tooltip-margin: #{$tooltip-margin};\n    @include rfs($tooltip-font-size, --#{$prefix}tooltip-font-size);\n    --#{$prefix}tooltip-color: #{$tooltip-color};\n    --#{$prefix}tooltip-bg: #{$tooltip-bg};\n    --#{$prefix}tooltip-border-radius: #{$tooltip-border-radius};\n    --#{$prefix}tooltip-opacity: #{$tooltip-opacity};\n    --#{$prefix}tooltip-arrow-width: #{$tooltip-arrow-width};\n    --#{$prefix}tooltip-arrow-height: #{$tooltip-arrow-height};\n    // scss-docs-end tooltip-css-vars\n\n    z-index: var(--#{$prefix}tooltip-zindex);\n    display: block;\n    margin: var(--#{$prefix}tooltip-margin);\n    @include deprecate(\"`$tooltip-margin`\", \"v5\", \"v5.x\", true);\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    @include font-size(var(--#{$prefix}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(--#{$prefix}tooltip-opacity); }\n\n    .tooltip-arrow {\n      display: block;\n      width: var(--#{$prefix}tooltip-arrow-width);\n      height: var(--#{$prefix}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(--#{$prefix}tooltip-arrow-height));\n\n    &::before {\n      top: -1px;\n      border-width: var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0;\n      border-top-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  /* rtl:begin:ignore */\n  .bs-tooltip-end .tooltip-arrow {\n    left: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n    width: var(--#{$prefix}tooltip-arrow-height);\n    height: var(--#{$prefix}tooltip-arrow-width);\n\n    &::before {\n      right: -1px;\n      border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height) calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0;\n      border-right-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  /* rtl:end:ignore */\n\n  .bs-tooltip-bottom .tooltip-arrow {\n    top: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n\n    &::before {\n      bottom: -1px;\n      border-width: 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height);\n      border-bottom-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  /* rtl:begin:ignore */\n  .bs-tooltip-start .tooltip-arrow {\n    right: calc(-1 * var(--#{$prefix}tooltip-arrow-height));\n    width: var(--#{$prefix}tooltip-arrow-height);\n    height: var(--#{$prefix}tooltip-arrow-width);\n\n    &::before {\n      left: -1px;\n      border-width: calc(var(--#{$prefix}tooltip-arrow-width) * .5) 0 calc(var(--#{$prefix}tooltip-arrow-width) * .5) var(--#{$prefix}tooltip-arrow-height);\n      border-left-color: var(--#{$prefix}tooltip-bg);\n    }\n  }\n\n  /* rtl:end:ignore */\n\n  .bs-tooltip-auto {\n    &[data-popper-placement^=\"top\"] {\n      @extend .bs-tooltip-top;\n    }\n    &[data-popper-placement^=\"right\"] {\n      @extend .bs-tooltip-end;\n    }\n    &[data-popper-placement^=\"bottom\"] {\n      @extend .bs-tooltip-bottom;\n    }\n    &[data-popper-placement^=\"left\"] {\n      @extend .bs-tooltip-start;\n    }\n  }\n\n  // Wrapper for the tooltip content\n  .tooltip-inner {\n    max-width: var(--#{$prefix}tooltip-max-width);\n    padding: var(--#{$prefix}tooltip-padding-y) var(--#{$prefix}tooltip-padding-x);\n    color: var(--#{$prefix}tooltip-color);\n    text-align: center;\n    background-color: var(--#{$prefix}tooltip-bg);\n    @include border-radius(var(--#{$prefix}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: left; // Fallback for where `start` is not supported\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 \"../vendor/rfs\" 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(&, \"&\", \"\")}:#{$state},\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  } @else {\n    #{if(&, \"&\", \"\")}.is-#{$state} {\n      @content;\n    }\n  }\n}\n\n@mixin form-validation-state(\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: 0 0 $input-btn-focus-blur $input-focus-width rgba($color, $input-btn-focus-color-opacity),\n  $border-color: $color\n) {\n  .#{$state}-feedback {\n    display: none;\n    width: 100%;\n    margin-top: $form-feedback-margin-top;\n    @include font-size($form-feedback-font-size);\n    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    @include 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-right: $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-right: $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  //         --#{$prefix}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-left: .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 \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../functions\" as *;\n@use \"../vendor/rfs\" 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// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n// scss-docs-start btn-variant-mixin\n@mixin button-variant(\n  $background,\n  $border,\n  $color: color-contrast($background),\n  $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),\n  $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),\n  $hover-color: color-contrast($hover-background),\n  $active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),\n  $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),\n  $active-color: color-contrast($active-background),\n  $disabled-background: $background,\n  $disabled-border: $border,\n  $disabled-color: color-contrast($disabled-background)\n) {\n  --#{$prefix}btn-color: #{$color};\n  --#{$prefix}btn-bg: #{$background};\n  --#{$prefix}btn-border-color: #{$border};\n  --#{$prefix}btn-hover-color: #{$hover-color};\n  --#{$prefix}btn-hover-bg: #{$hover-background};\n  --#{$prefix}btn-hover-border-color: #{$hover-border};\n  // --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(color.mix($color, $border, 15%))};\n  --#{$prefix}btn-active-color: #{$active-color};\n  --#{$prefix}btn-active-bg: #{$active-background};\n  --#{$prefix}btn-active-border-color: #{$active-border};\n  --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};\n  --#{$prefix}btn-disabled-color: #{$disabled-color};\n  --#{$prefix}btn-disabled-bg: #{$disabled-background};\n  --#{$prefix}btn-disabled-border-color: #{$disabled-border};\n}\n// scss-docs-end btn-variant-mixin\n\n// scss-docs-start btn-outline-variant-mixin\n@mixin button-outline-variant(\n  $color,\n  $color-hover: color-contrast($color),\n  $active-background: $color,\n  $active-border: $color,\n  $active-color: color-contrast($active-background)\n) {\n  --#{$prefix}btn-color: #{$color};\n  --#{$prefix}btn-border-color: #{$color};\n  --#{$prefix}btn-hover-color: #{$color-hover};\n  --#{$prefix}btn-hover-bg: #{$active-background};\n  --#{$prefix}btn-hover-border-color: #{$active-border};\n  --#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};\n  --#{$prefix}btn-active-color: #{$active-color};\n  --#{$prefix}btn-active-bg: #{$active-background};\n  --#{$prefix}btn-active-border-color: #{$active-border};\n  --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};\n  --#{$prefix}btn-disabled-color: #{$color};\n  --#{$prefix}btn-disabled-bg: transparent;\n  --#{$prefix}btn-disabled-border-color: #{$color};\n  --#{$prefix}gradient: none;\n}\n// scss-docs-end btn-outline-variant-mixin\n\n// scss-docs-start btn-size-mixin\n@mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {\n  --#{$prefix}btn-padding-y: #{$padding-y};\n  --#{$prefix}btn-padding-x: #{$padding-x};\n  @include rfs($font-size, --#{$prefix}btn-font-size);\n  --#{$prefix}btn-border-radius: #{$border-radius};\n}\n// scss-docs-end btn-size-mixin\n\n\n//\n// Base styles\n//\n\n@layer components {\n  .btn {\n    // scss-docs-start btn-css-vars\n    --#{$prefix}btn-padding-x: #{$btn-padding-x};\n    --#{$prefix}btn-padding-y: #{$btn-padding-y};\n    --#{$prefix}btn-font-family: #{$btn-font-family};\n    @include rfs($btn-font-size, --#{$prefix}btn-font-size);\n    --#{$prefix}btn-font-weight: #{$btn-font-weight};\n    --#{$prefix}btn-line-height: #{$btn-line-height};\n    --#{$prefix}btn-color: #{$btn-color};\n    --#{$prefix}btn-bg: transparent;\n    --#{$prefix}btn-border-width: #{$btn-border-width};\n    --#{$prefix}btn-border-color: transparent;\n    --#{$prefix}btn-border-radius: #{$btn-border-radius};\n    --#{$prefix}btn-hover-border-color: transparent;\n    --#{$prefix}btn-box-shadow: #{$btn-box-shadow};\n    --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity};\n    // --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5);\n    // scss-docs-end btn-css-vars\n\n    display: inline-block;\n    padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x);\n    font-family: var(--#{$prefix}btn-font-family);\n    @include font-size(var(--#{$prefix}btn-font-size));\n    font-weight: var(--#{$prefix}btn-font-weight);\n    line-height: var(--#{$prefix}btn-line-height);\n    color: var(--#{$prefix}btn-color);\n    text-align: center;\n    text-decoration: if($link-decoration == none, null, none);\n    white-space: $btn-white-space;\n    vertical-align: middle;\n    cursor: if($enable-button-pointers, pointer, null);\n    user-select: none;\n    border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color);\n    @include border-radius(var(--#{$prefix}btn-border-radius));\n    @include gradient-bg(var(--#{$prefix}btn-bg));\n    @include box-shadow(var(--#{$prefix}btn-box-shadow));\n    @include transition($btn-transition);\n\n    &:hover {\n      color: var(--#{$prefix}btn-hover-color);\n      text-decoration: if($link-hover-decoration == underline, none, null);\n      background-color: var(--#{$prefix}btn-hover-bg);\n      border-color: var(--#{$prefix}btn-hover-border-color);\n    }\n\n    .btn-check + &:hover {\n      // override for the checkbox/radio buttons\n      color: var(--#{$prefix}btn-color);\n      background-color: var(--#{$prefix}btn-bg);\n      border-color: var(--#{$prefix}btn-border-color);\n    }\n\n    &:focus-visible {\n      color: var(--#{$prefix}btn-hover-color);\n      @include gradient-bg(var(--#{$prefix}btn-hover-bg));\n      border-color: var(--#{$prefix}btn-hover-border-color);\n      @include focus-ring(true);\n      --#{$prefix}focus-ring-offset: 1px;\n    }\n\n    .btn-check:focus-visible + & {\n      border-color: var(--#{$prefix}btn-hover-border-color);\n      @include focus-ring(true);\n    }\n\n    .btn-check:checked + &,\n    :not(.btn-check) + &:active,\n    &:first-child:active,\n    &.active,\n    &.show {\n      color: var(--#{$prefix}btn-active-color);\n      background-color: var(--#{$prefix}btn-active-bg);\n      // Remove CSS gradients if they're enabled\n      background-image: if($enable-gradients, none, null);\n      border-color: var(--#{$prefix}btn-active-border-color);\n      @include box-shadow(var(--#{$prefix}btn-active-shadow));\n\n      &:focus-visible {\n        @include focus-ring(true);\n      }\n    }\n\n    .btn-check:checked:focus-visible + & {\n      @include focus-ring(true);\n    }\n\n    &:disabled,\n    &.disabled,\n    fieldset:disabled & {\n      color: var(--#{$prefix}btn-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}btn-disabled-bg);\n      background-image: if($enable-gradients, none, null);\n      border-color: var(--#{$prefix}btn-disabled-border-color);\n      opacity: var(--#{$prefix}btn-disabled-opacity);\n      @include box-shadow(none);\n    }\n  }\n\n\n  //\n  // Alternate buttons\n  //\n\n  // scss-docs-start btn-variant-loops\n  @each $color, $value in $theme-colors {\n    .btn-#{$color} {\n      @if $color == \"light\" {\n        @include button-variant(\n          $value,\n          $value,\n          $hover-background: shade-color($value, $btn-hover-bg-shade-amount),\n          $hover-border: shade-color($value, $btn-hover-border-shade-amount),\n          $active-background: shade-color($value, $btn-active-bg-shade-amount),\n          $active-border: shade-color($value, $btn-active-border-shade-amount)\n        );\n      } @else if $color == \"dark\" {\n        @include button-variant(\n          $value,\n          $value,\n          $hover-background: tint-color($value, $btn-hover-bg-tint-amount),\n          $hover-border: tint-color($value, $btn-hover-border-tint-amount),\n          $active-background: tint-color($value, $btn-active-bg-tint-amount),\n          $active-border: tint-color($value, $btn-active-border-tint-amount)\n        );\n      } @else {\n        @include button-variant($value, $value);\n      }\n    }\n  }\n\n  @each $color, $value in $theme-colors {\n    .btn-outline-#{$color} {\n      @include button-outline-variant($value);\n    }\n  }\n  // scss-docs-end btn-variant-loops\n\n\n  //\n  // Link buttons\n  //\n\n  // Make a button look and behave like a link\n  .btn-link {\n    --#{$prefix}btn-font-weight: #{$font-weight-normal};\n    --#{$prefix}btn-color: #{$btn-link-color};\n    --#{$prefix}btn-bg: transparent;\n    --#{$prefix}btn-border-color: transparent;\n    --#{$prefix}btn-hover-color: #{$btn-link-hover-color};\n    --#{$prefix}btn-hover-border-color: transparent;\n    --#{$prefix}btn-active-color: #{$btn-link-hover-color};\n    --#{$prefix}btn-active-border-color: transparent;\n    --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color};\n    --#{$prefix}btn-disabled-border-color: transparent;\n    --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows\n    // --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb};\n\n    text-decoration: $link-decoration;\n    @if $enable-gradients {\n      background-image: none;\n    }\n\n    &:hover,\n    &:focus-visible {\n      text-decoration: $link-hover-decoration;\n    }\n\n    &:focus-visible {\n      color: var(--#{$prefix}btn-color);\n    }\n\n    &:hover {\n      color: var(--#{$prefix}btn-hover-color);\n    }\n\n    // No need for an active state here\n  }\n\n\n  //\n  // Button Sizes\n  //\n\n  .btn-lg {\n    @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg);\n  }\n\n  .btn-sm {\n    @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm);\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    > .btn {\n      position: relative;\n      flex: 1 1 auto;\n    }\n\n    // Bring the hover, focused, and \"active\" buttons to the front to overlay\n    // the borders properly\n    > .btn-check:checked + .btn,\n    > .btn-check:focus + .btn,\n    > .btn:hover,\n    > .btn:focus,\n    > .btn:active,\n    > .btn.active {\n      z-index: 1;\n    }\n  }\n\n  // Optional: Group multiple button groups together for a toolbar\n  .btn-toolbar {\n    display: flex;\n    flex-wrap: wrap;\n    justify-content: flex-start;\n\n    .input-group {\n      width: auto;\n    }\n  }\n\n  .btn-group {\n    @include border-radius($btn-border-radius);\n\n    // Prevent double borders when buttons are next to each other\n    > :not(.btn-check:first-child) + .btn,\n    > .btn-group:not(:first-child) {\n      margin-left: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > .btn:not(:last-child):not(.dropdown-toggle),\n    > .btn.dropdown-toggle-split:first-child,\n    > .btn-group:not(:last-child) > .btn {\n      @include border-end-radius(0);\n    }\n\n    // The left radius should be 0 if the button is:\n    // - the \"third or more\" child\n    // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n    // - part of a btn-group which isn't the first child\n    > .btn:nth-child(n + 3),\n    > :not(.btn-check) + .btn,\n    > .btn-group:not(:first-child) > .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 > .btn { @extend .btn-sm; }\n  .btn-group-lg > .btn { @extend .btn-lg; }\n\n\n  //\n  // Split button dropdowns\n  //\n\n  .dropdown-toggle-split {\n    padding-right: $btn-padding-x * .75;\n    padding-left: $btn-padding-x * .75;\n\n    &::after,\n    .dropup &::after,\n    .dropend &::after {\n      margin-left: 0;\n    }\n\n    .dropstart &::before {\n      margin-right: 0;\n    }\n  }\n\n  .btn-sm + .dropdown-toggle-split {\n    padding-right: $btn-padding-x-sm * .75;\n    padding-left: $btn-padding-x-sm * .75;\n  }\n\n  .btn-lg + .dropdown-toggle-split {\n    padding-right: $btn-padding-x-lg * .75;\n    padding-left: $btn-padding-x-lg * .75;\n  }\n\n\n  // The clickable button for toggling the menu\n  // Set the same inset shadow as the :active state\n  .btn-group.show .dropdown-toggle {\n    @include box-shadow($btn-active-box-shadow);\n\n    // Show no shadow for `.btn-link` since it has no other button styles.\n    &.btn-link {\n      @include box-shadow(none);\n    }\n  }\n\n\n  //\n  // Vertical button groups\n  //\n\n  .btn-group-vertical {\n    flex-direction: column;\n    align-items: flex-start;\n    justify-content: center;\n\n    > .btn,\n    > .btn-group {\n      width: 100%;\n    }\n\n    > .btn:not(:first-child),\n    > .btn-group:not(:first-child) {\n      margin-top: calc(-1 * #{$btn-border-width});\n    }\n\n    // Reset rounded corners\n    > .btn:not(:last-child):not(.dropdown-toggle),\n    > .btn-group:not(:last-child) > .btn {\n      @include border-bottom-radius(0);\n    }\n\n    // The top radius should be 0 if the button is:\n    // - the \"third or more\" child\n    // - the second child and the previous element isn't `.btn-check` (making it the first child visually)\n    // - part of a btn-group which isn't the first child\n    > .btn:nth-child(n + 3),\n    > :not(.btn-check) + .btn,\n    > .btn-group:not(:first-child) > .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\n// scss-docs-start close-variables\n$btn-close-width:            1em !default;\n$btn-close-height:           $btn-close-width !default;\n$btn-close-padding-x:        .25em !default;\n$btn-close-padding-y:        $btn-close-padding-x !default;\n$btn-close-color:            $black !default;\n$btn-close-bg:               url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='#{$btn-close-color}'><path d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/></svg>\") !default;\n$btn-close-focus-shadow:     $focus-ring-box-shadow !default;\n$btn-close-opacity:          .5 !default;\n$btn-close-hover-opacity:    .75 !default;\n$btn-close-focus-opacity:    1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-filter:           null !default;\n$btn-close-filter-dark: invert(1) grayscale(100%) brightness(200%) !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    --#{$prefix}btn-close-color: #{$btn-close-color};\n    --#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) };\n    --#{$prefix}btn-close-opacity: #{$btn-close-opacity};\n    --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity};\n    --#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow};\n    --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity};\n    --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity};\n    // scss-docs-end close-css-vars\n\n    box-sizing: content-box;\n    width: $btn-close-width;\n    height: $btn-close-height;\n    padding: $btn-close-padding-y $btn-close-padding-x;\n    color: var(--#{$prefix}btn-close-color);\n    background: transparent var(--#{$prefix}btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements\n    filter: var(--#{$prefix}btn-close-filter);\n    border: 0; // for button elements\n    @include border-radius();\n    opacity: var(--#{$prefix}btn-close-opacity);\n\n    // Override <a>'s hover style\n    &:hover {\n      color: var(--#{$prefix}btn-close-color);\n      text-decoration: none;\n      opacity: var(--#{$prefix}btn-close-hover-opacity);\n    }\n\n    &:focus {\n      outline: 0;\n      box-shadow: var(--#{$prefix}btn-close-focus-shadow);\n      opacity: var(--#{$prefix}btn-close-focus-opacity);\n    }\n\n    &:disabled,\n    &.disabled {\n      pointer-events: none;\n      user-select: none;\n      opacity: var(--#{$prefix}btn-close-disabled-opacity);\n    }\n  }\n\n  @mixin btn-close-white() {\n    --#{$prefix}btn-close-filter: #{$btn-close-filter-dark};\n  }\n\n  .btn-close-white {\n    @include btn-close-white();\n  }\n\n  :root,\n  [data-bs-theme=\"light\"] {\n    --#{$prefix}btn-close-filter: #{$btn-close-filter};\n  }\n\n  @if $enable-dark-mode {\n    @include color-mode(dark, true) {\n      @include btn-close-white();\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"vendor/rfs\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/color-mode\" 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(--#{$prefix}body-color) !default;\n$accordion-bg:                            var(--#{$prefix}body-bg) !default;\n$accordion-border-width:                  var(--#{$prefix}border-width) !default;\n$accordion-border-color:                  var(--#{$prefix}border-color) !default;\n$accordion-border-radius:                 var(--#{$prefix}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(--#{$prefix}fg-2) !default;\n$accordion-button-bg:                     var(--#{$prefix}accordion-bg) !default;\n$accordion-transition:                    $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg:              var(--#{$prefix}bg-2) !default;\n$accordion-button-active-color:           var(--#{$prefix}fg) !default;\n\n$accordion-button-focus-box-shadow:       $btn-focus-box-shadow !default;\n\n$accordion-icon-width:                    1.25rem !default;\n$accordion-icon-transition:               transform .2s ease-in-out !default;\n$accordion-icon-transform:                rotate(-180deg) !default;\n$accordion-button-icon:         url(\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='#000' stroke-linecap='round' stroke-linejoin='round'><path d='m2 5 6 6 6-6'/></svg>\") !default;\n// scss-docs-end accordion-variables\n\n@layer componenents {\n  .accordion {\n    // scss-docs-start accordion-css-vars\n    --#{$prefix}accordion-color: #{$accordion-color};\n    --#{$prefix}accordion-bg: #{$accordion-bg};\n    --#{$prefix}accordion-transition: #{$accordion-transition};\n    --#{$prefix}accordion-border-color: #{$accordion-border-color};\n    --#{$prefix}accordion-border-width: #{$accordion-border-width};\n    --#{$prefix}accordion-border-radius: #{$accordion-border-radius};\n    --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius};\n    --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x};\n    --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y};\n    --#{$prefix}accordion-btn-color: #{$accordion-button-color};\n    --#{$prefix}accordion-btn-bg: #{$accordion-button-bg};\n    --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)};\n    --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width};\n    --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform};\n    --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition};\n    --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow};\n    --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x};\n    --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y};\n    --#{$prefix}accordion-active-color: #{$accordion-button-active-color};\n    --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg};\n    // scss-docs-end accordion-css-vars\n  }\n\n  .accordion-button {\n    position: relative;\n    display: flex;\n    align-items: center;\n    width: 100%;\n    padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x);\n    @include font-size($font-size-base);\n    color: var(--#{$prefix}accordion-btn-color);\n    text-align: left; // Reset button style\n    background-color: var(--#{$prefix}accordion-btn-bg);\n    border: 0;\n    @include border-radius(0);\n    overflow-anchor: none;\n    @include transition(var(--#{$prefix}accordion-transition));\n\n    &:not(.collapsed) {\n      color: var(--#{$prefix}accordion-active-color);\n      background-color: var(--#{$prefix}accordion-active-bg);\n      box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color);\n\n      &::after {\n        background-image: var(--#{$prefix}accordion-btn-active-icon);\n        transform: var(--#{$prefix}accordion-btn-icon-transform);\n      }\n    }\n\n    // Accordion icon\n    &::after {\n      flex-shrink: 0;\n      width: var(--#{$prefix}accordion-btn-icon-width);\n      height: var(--#{$prefix}accordion-btn-icon-width);\n      margin-left: auto;\n      content: \"\";\n      background-color: var(--#{$prefix}accordion-btn-color);\n      mask: var(--#{$prefix}accordion-btn-icon) no-repeat center 100%;\n      @include transition(var(--#{$prefix}accordion-btn-icon-transition));\n    }\n\n    &:hover {\n      z-index: 2;\n    }\n\n    &:focus {\n      z-index: 3;\n      outline: 0;\n      box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow);\n    }\n  }\n\n  .accordion-header {\n    margin-bottom: 0;\n  }\n\n  .accordion-item {\n    color: var(--#{$prefix}accordion-color);\n    background-color: var(--#{$prefix}accordion-bg);\n    border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color);\n\n    &:first-of-type {\n      @include border-top-radius(var(--#{$prefix}accordion-border-radius));\n\n      > .accordion-header .accordion-button {\n        @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius));\n      }\n    }\n\n    &:not(:first-of-type) {\n      border-top: 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(--#{$prefix}accordion-border-radius));\n\n      > .accordion-header .accordion-button {\n        &.collapsed {\n          @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius));\n        }\n      }\n\n      > .accordion-collapse {\n        @include border-bottom-radius(var(--#{$prefix}accordion-border-radius));\n      }\n    }\n  }\n\n  .accordion-body {\n    padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}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-right: 0;\n      border-left: 0;\n      @include border-radius(0);\n\n      &:first-child { border-top: 0; }\n      &:last-child { border-bottom: 0; }\n\n      // stylelint-disable selector-max-class\n      > .accordion-collapse,\n      > .accordion-header .accordion-button,\n      > .accordion-header .accordion-button.collapsed {\n        @include border-radius(0);\n      }\n      // stylelint-enable selector-max-class\n    }\n  }\n\n  // @if $enable-dark-mode {\n  //   @include color-mode(dark) {\n  //     .accordion-button::after {\n  //       --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon-dark)};\n  //       --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon-dark)};\n  //     }\n  //   }\n  // }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n\n// scss-docs-start alert-variables\n$alert-padding-y:               $spacer !default;\n$alert-padding-x:               $spacer !default;\n$alert-margin-bottom:           1rem !default;\n$alert-border-radius:           var(--#{$prefix}border-radius) !default;\n$alert-link-font-weight:        $font-weight-bold !default;\n$alert-border-width:            var(--#{$prefix}border-width) !default;\n$alert-dismissible-padding-r:   $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n@layer components {\n  .alert {\n    // scss-docs-start alert-css-vars\n    --#{$prefix}alert-bg: transparent;\n    --#{$prefix}alert-padding-x: #{$alert-padding-x};\n    --#{$prefix}alert-padding-y: #{$alert-padding-y};\n    --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom};\n    --#{$prefix}alert-color: inherit;\n    --#{$prefix}alert-border-color: transparent;\n    --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color);\n    --#{$prefix}alert-border-radius: #{$alert-border-radius};\n    --#{$prefix}alert-link-color: inherit;\n    // scss-docs-end alert-css-vars\n\n    position: relative;\n    padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x);\n    margin-bottom: var(--#{$prefix}alert-margin-bottom);\n    color: var(--#{$prefix}alert-color);\n    background-color: var(--#{$prefix}alert-bg);\n    border: var(--#{$prefix}alert-border);\n    @include border-radius(var(--#{$prefix}alert-border-radius));\n  }\n\n  // Headings for larger alerts\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(--#{$prefix}alert-link-color);\n  }\n\n\n  // Dismissible alerts\n  //\n  // Expand the right padding and account for the close button's positioning.\n\n  .alert-dismissible {\n    padding-right: $alert-dismissible-padding-r;\n\n    // Adjust close link position\n    .btn-close {\n      position: absolute;\n      top: 0;\n      right: 0;\n      z-index: $stretched-link-z-index + 1;\n      padding: $alert-padding-y * 1.25 $alert-padding-x;\n    }\n  }\n\n\n  // scss-docs-start alert-modifiers\n  // Generate contextual modifier classes for colorizing the alert\n  @each $state in map.keys($theme-colors) {\n    .alert-#{$state} {\n      --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text-emphasis);\n      --#{$prefix}alert-bg: var(--#{$prefix}#{$state}-bg-subtle);\n      --#{$prefix}alert-border-color: var(--#{$prefix}#{$state}-border-subtle);\n      --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis);\n    }\n  }\n  // scss-docs-end alert-modifiers\n}\n","@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/gradients\" as *;\n@use \"vendor/rfs\" as *;\n\n// scss-docs-start badge-variables\n$badge-font-size:                   .75em !default;\n$badge-font-weight:                 $font-weight-bold !default;\n$badge-color:                       $white !default;\n$badge-padding-y:                   .35em !default;\n$badge-padding-x:                   .65em !default;\n$badge-border-radius:               var(--#{$prefix}border-radius) !default;\n// scss-docs-end badge-variables\n\n@layer components {\n  .badge {\n    // scss-docs-start badge-css-vars\n    --#{$prefix}badge-padding-x: #{$badge-padding-x};\n    --#{$prefix}badge-padding-y: #{$badge-padding-y};\n    @include rfs($badge-font-size, --#{$prefix}badge-font-size);\n    --#{$prefix}badge-font-weight: #{$badge-font-weight};\n    --#{$prefix}badge-color: #{$badge-color};\n    --#{$prefix}badge-border-radius: #{$badge-border-radius};\n    // scss-docs-end badge-css-vars\n\n    display: inline-block;\n    padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);\n    @include font-size(var(--#{$prefix}badge-font-size));\n    font-weight: var(--#{$prefix}badge-font-weight);\n    line-height: 1;\n    color: var(--#{$prefix}badge-color);\n    text-align: center;\n    white-space: nowrap;\n    vertical-align: baseline;\n    @include border-radius(var(--#{$prefix}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","@use \"sass:string\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"functions\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"vendor/rfs\" 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-item-padding-x:         .5rem !default;\n$breadcrumb-margin-bottom:          1rem !default;\n$breadcrumb-bg:                     null !default;\n$breadcrumb-divider-color:          var(--#{$prefix}secondary-color) !default;\n$breadcrumb-active-color:           var(--#{$prefix}secondary-color) !default;\n$breadcrumb-divider:                string.quote(\"/\") !default;\n$breadcrumb-divider-flipped:        $breadcrumb-divider !default;\n$breadcrumb-border-radius:          null !default;\n// scss-docs-end breadcrumb-variables\n\n@layer components {\n  .breadcrumb {\n    // scss-docs-start breadcrumb-css-vars\n    --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x};\n    --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y};\n    --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom};\n    @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size);\n    --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg};\n    --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius};\n    --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color};\n    --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x};\n    --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color};\n    // scss-docs-end breadcrumb-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x);\n    margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom);\n    @include font-size(var(--#{$prefix}breadcrumb-font-size));\n    list-style: none;\n    background-color: var(--#{$prefix}breadcrumb-bg);\n    @include border-radius(var(--#{$prefix}breadcrumb-border-radius));\n  }\n\n  .breadcrumb-item {\n    // The separator between breadcrumbs (by default, a forward-slash: \"/\")\n    + .breadcrumb-item {\n      padding-left: var(--#{$prefix}breadcrumb-item-padding-x);\n\n      &::before {\n        float: left; // Suppress inline spacings and underlining of the separator\n        padding-right: var(--#{$prefix}breadcrumb-item-padding-x);\n        color: var(--#{$prefix}breadcrumb-divider-color);\n        content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{\"/* rtl:\"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{\"*/\"};\n      }\n    }\n\n    &.active {\n      color: var(--#{$prefix}breadcrumb-item-active-color);\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-title-spacer-y:               $spacer * .5 !default;\n$card-title-color:                  null !default;\n$card-subtitle-color:               null !default;\n$card-border-width:                 var(--#{$prefix}border-width) !default;\n$card-border-color:                 var(--#{$prefix}border-color-translucent) !default;\n$card-border-radius:                var(--#{$prefix}border-radius) !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 * .5 !default;\n$card-cap-padding-x:                $card-spacer-x !default;\n$card-cap-bg:                       rgba(var(--#{$prefix}body-color-rgb), .03) !default;\n$card-cap-color:                    null !default;\n$card-height:                       null !default;\n$card-color:                        null !default;\n$card-bg:                           var(--#{$prefix}body-bg) !default;\n$card-img-overlay-padding:          $spacer !default;\n$card-group-margin:                 $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n@layer components {\n  .card {\n    // scss-docs-start card-css-vars\n    --#{$prefix}card-spacer-y: #{$card-spacer-y};\n    --#{$prefix}card-spacer-x: #{$card-spacer-x};\n    --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y};\n    --#{$prefix}card-title-color: #{$card-title-color};\n    --#{$prefix}card-subtitle-color: #{$card-subtitle-color};\n    --#{$prefix}card-border-width: #{$card-border-width};\n    --#{$prefix}card-border-color: #{$card-border-color};\n    --#{$prefix}card-border-radius: #{$card-border-radius};\n    --#{$prefix}card-box-shadow: #{$card-box-shadow};\n    --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius};\n    --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y};\n    --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x};\n    --#{$prefix}card-cap-bg: #{$card-cap-bg};\n    --#{$prefix}card-cap-color: #{$card-cap-color};\n    --#{$prefix}card-height: #{$card-height};\n    --#{$prefix}card-color: #{$card-color};\n    --#{$prefix}card-bg: #{$card-bg};\n    --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding};\n    --#{$prefix}card-group-margin: #{$card-group-margin};\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(--#{$prefix}card-height);\n    color: var(--#{$prefix}body-color);\n    word-wrap: break-word;\n    background-color: var(--#{$prefix}card-bg);\n    background-clip: border-box;\n    border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n    @include border-radius(var(--#{$prefix}card-border-radius));\n    @include box-shadow(var(--#{$prefix}card-box-shadow));\n\n    > hr {\n      margin-right: 0;\n      margin-left: 0;\n    }\n\n    > .list-group {\n      border-top: inherit;\n      border-bottom: inherit;\n\n      &:first-child {\n        border-top-width: 0;\n        @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n      }\n\n      &:last-child  {\n        border-bottom-width: 0;\n        @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n      }\n    }\n\n    // Due to specificity of the above selector (`.card > .list-group`), we must\n    // use a child selector here to prevent double borders.\n    > .card-header + .list-group,\n    > .list-group + .card-footer {\n      border-top: 0;\n    }\n  }\n\n  .card-body {\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    padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x);\n    color: var(--#{$prefix}card-color);\n  }\n\n  .card-title {\n    margin-bottom: var(--#{$prefix}card-title-spacer-y);\n    color: var(--#{$prefix}card-title-color);\n  }\n\n  .card-subtitle {\n    margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y));\n    margin-bottom: 0;\n    color: var(--#{$prefix}card-subtitle-color);\n  }\n\n  .card-text:last-child {\n    margin-bottom: 0;\n  }\n\n  .card-link {\n    &:hover {\n      text-decoration: if($link-hover-decoration == underline, none, null);\n    }\n\n    + .card-link {\n      margin-left: var(--#{$prefix}card-spacer-x);\n    }\n  }\n\n  //\n  // Optional textual caps\n  //\n\n  .card-header {\n    padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n    margin-bottom: 0; // Removes the default margin-bottom of <hN>\n    color: var(--#{$prefix}card-cap-color);\n    background-color: var(--#{$prefix}card-cap-bg);\n    border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n    &:first-child {\n      @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0);\n    }\n  }\n\n  .card-footer {\n    padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x);\n    color: var(--#{$prefix}card-cap-color);\n    background-color: var(--#{$prefix}card-cap-bg);\n    border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color);\n\n    &:last-child {\n      @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius));\n    }\n  }\n\n\n  //\n  // Header navs\n  //\n\n  .card-header-tabs {\n    margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x));\n    margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y));\n    margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x));\n    border-bottom: 0;\n\n    .nav-link.active {\n      background-color: var(--#{$prefix}card-bg);\n      border-bottom-color: var(--#{$prefix}card-bg);\n    }\n  }\n\n  .card-header-pills {\n    margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x));\n    margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x));\n  }\n\n  // Card image\n  .card-img-overlay {\n    position: absolute;\n    top: 0;\n    right: 0;\n    bottom: 0;\n    left: 0;\n    padding: var(--#{$prefix}card-img-overlay-padding);\n    @include border-radius(var(--#{$prefix}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  }\n\n  .card-img,\n  .card-img-top {\n    @include border-top-radius(var(--#{$prefix}card-inner-border-radius));\n  }\n\n  .card-img,\n  .card-img-bottom {\n    @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius));\n  }\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(--#{$prefix}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-left: 0;\n          border-left: 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              // stylelint-disable-next-line property-disallowed-list\n              border-top-right-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              // stylelint-disable-next-line property-disallowed-list\n              border-bottom-right-radius: 0;\n            }\n          }\n\n          &:not(:first-child) {\n            @include border-start-radius(0);\n\n            > .card-img-top,\n            > .card-header {\n              // stylelint-disable-next-line property-disallowed-list\n              border-top-left-radius: 0;\n            }\n            > .card-img-bottom,\n            > .card-footer {\n              // stylelint-disable-next-line property-disallowed-list\n              border-bottom-left-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@use \"vendor/rfs\" 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: left;\n    width: 100%;\n    margin-right: -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    top: 0;\n    bottom: 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(--#{$prefix}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    left: 0;\n    background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null);\n  }\n  .carousel-control-next {\n    right: 0;\n    background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), 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) #{\"/*rtl:\" + escape-svg($carousel-control-next-icon-bg) + \"*/\"};\n  }\n  .carousel-control-next-icon {\n    background-image: escape-svg($carousel-control-next-icon-bg) #{\"/*rtl:\" + 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    right: 0;\n    bottom: 0;\n    left: 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-right: $carousel-control-width;\n    margin-bottom: 1rem;\n    margin-left: $carousel-control-width;\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-right: $carousel-indicator-spacer;\n      margin-left: $carousel-indicator-spacer;\n      text-indent: -999px;\n      cursor: pointer;\n      background-color: var(--#{$prefix}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-top: $carousel-indicator-hit-area-height solid transparent;\n      border-bottom: $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(--#{$prefix}carousel-caption-color);\n    text-align: center;\n  }\n\n  // Dark mode carousel\n\n  @mixin carousel-dark() {\n    --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark};\n    --#{$prefix}carousel-caption-color: #{$carousel-caption-color-dark};\n    --#{$prefix}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    --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg};\n    --#{$prefix}carousel-caption-color: #{$carousel-caption-color};\n    --#{$prefix}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","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"vendor/rfs\" as *;\n@use \"layout/breakpoints\" as *;\n\n// .dialog-open     - body class for killing the scroll\n// dialog           - native HTML dialog element\n// .dialog-content  - actual dialog w/ bg and corners and stuff\n\n@layer components {\n  // Native HTML dialog element\n  dialog {\n    // scss-docs-start dialog-css-vars\n    --#{$prefix}dialog-zindex: #{$zindex-modal};\n    --#{$prefix}dialog-width: #{$modal-md};\n    --#{$prefix}dialog-padding: #{$modal-inner-padding};\n    --#{$prefix}dialog-margin: #{$modal-dialog-margin};\n    --#{$prefix}dialog-color: #{$modal-content-color};\n    --#{$prefix}dialog-bg: #{$modal-content-bg};\n    --#{$prefix}dialog-border-color: #{$modal-content-border-color};\n    --#{$prefix}dialog-border-width: #{$modal-content-border-width};\n    --#{$prefix}dialog-border-radius: #{$modal-content-border-radius};\n    --#{$prefix}dialog-box-shadow: #{$modal-content-box-shadow-xs};\n    --#{$prefix}dialog-inner-border-radius: #{$modal-content-inner-border-radius};\n    --#{$prefix}dialog-header-padding-x: #{$modal-header-padding-x};\n    --#{$prefix}dialog-header-padding-y: #{$modal-header-padding-y};\n    --#{$prefix}dialog-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y\n    --#{$prefix}dialog-header-border-color: #{$modal-header-border-color};\n    --#{$prefix}dialog-header-border-width: #{$modal-header-border-width};\n    --#{$prefix}dialog-title-line-height: #{$modal-title-line-height};\n    --#{$prefix}dialog-footer-gap: #{$modal-footer-margin-between};\n    --#{$prefix}dialog-footer-bg: #{$modal-footer-bg};\n    --#{$prefix}dialog-footer-border-color: #{$modal-footer-border-color};\n    --#{$prefix}dialog-footer-border-width: #{$modal-footer-border-width};\n    // scss-docs-end dialog-css-vars\n\n    position: fixed;\n    top: 50%;\n    left: 50%;\n    transform: translate(-50%, -50%);\n    margin: 0;\n    padding: 0;\n    border: none;\n    background: transparent;\n    color: inherit;\n    width: auto;\n    height: auto;\n    max-width: calc(100vw - var(--#{$prefix}dialog-margin) * 2);\n    max-height: calc(100vh - var(--#{$prefix}dialog-margin) * 2);\n    // Use scrollbar-gutter instead of manual scrollbar detection\n    scrollbar-gutter: stable;\n    \n    // Remove default dialog backdrop\n    &::backdrop {\n      display: none;\n    }\n\n    // Prevent Chrome on Windows from adding a focus outline. For details, see\n    // https://github.com/twbs/bootstrap/pull/10951.\n    outline: 0;\n\n    // When fading in the dialog, animate it to slide down\n    &.fade {\n      .dialog-content {\n        transform: $modal-fade-transform;\n        @include transition($modal-transition);\n      }\n    }\n    \n    &.show {\n      .dialog-content {\n        transform: $modal-show-transform;\n      }\n    }\n\n    // When trying to close, animate focus to scale\n    &.dialog-static {\n      .dialog-content {\n        transform: $modal-scale-transform;\n      }\n    }\n  }\n\n  .dialog-content {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    width: var(--#{$prefix}dialog-width);\n    // counteract the pointer-events: none; in the native dialog\n    color: var(--#{$prefix}dialog-color);\n    pointer-events: auto;\n    background-color: var(--#{$prefix}dialog-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}dialog-border-width) solid var(--#{$prefix}dialog-border-color);\n    @include border-radius(var(--#{$prefix}dialog-border-radius));\n    @include box-shadow(var(--#{$prefix}dialog-box-shadow));\n    // Remove focus outline from opened dialog\n    outline: 0;\n  }\n\n  // Use existing modal backdrop for consistency\n  .dialog-backdrop {\n    // scss-docs-start dialog-backdrop-css-vars\n    --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};\n    --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};\n    --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};\n    // scss-docs-end dialog-backdrop-css-vars\n\n    @include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));\n  }\n\n  // Dialog header\n  // Top section of the dialog w/ title and dismiss\n  .dialog-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--#{$prefix}dialog-header-padding);\n    border-bottom: var(--#{$prefix}dialog-header-border-width) solid var(--#{$prefix}dialog-header-border-color);\n    @include border-top-radius(var(--#{$prefix}dialog-inner-border-radius));\n\n    .btn-close {\n      padding: calc(var(--#{$prefix}dialog-header-padding-y) * .5) calc(var(--#{$prefix}dialog-header-padding-x) * .5);\n      // Split properties to avoid invalid calc() function if value is 0\n      margin-top: calc(-.5 * var(--#{$prefix}dialog-header-padding-y));\n      margin-right: calc(-.5 * var(--#{$prefix}dialog-header-padding-x));\n      margin-bottom: calc(-.5 * var(--#{$prefix}dialog-header-padding-y));\n      margin-left: auto;\n    }\n  }\n\n  // Title text within header\n  .dialog-title {\n    margin-bottom: 0;\n    line-height: var(--#{$prefix}dialog-title-line-height);\n  }\n\n  // Dialog body\n  // Where all dialog content resides (sibling of .dialog-header and .dialog-footer)\n  .dialog-body {\n    position: relative;\n    // Enable `flex-grow: 1` so that the body take up as much space as possible\n    // when there should be a fixed height on dialog content.\n    flex: 1 1 auto;\n    padding: var(--#{$prefix}dialog-padding);\n  }\n\n  // Footer (for actions)\n  .dialog-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    align-items: center; // vertically center\n    justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n    padding: calc(var(--#{$prefix}dialog-padding) - var(--#{$prefix}dialog-footer-gap) * .5);\n    background-color: var(--#{$prefix}dialog-footer-bg);\n    border-top: var(--#{$prefix}dialog-footer-border-width) solid var(--#{$prefix}dialog-footer-border-color);\n    @include border-bottom-radius(var(--#{$prefix}dialog-inner-border-radius));\n\n    // Place margin between footer elements\n    // This solution is far from ideal because of the universal selector usage,\n    // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n    > * {\n      margin: calc(var(--#{$prefix}dialog-footer-gap) * .5); // Todo in v6: replace with gap on parent class\n    }\n  }\n\n  .dialog-scrollable {\n    .dialog-content {\n      max-height: calc(100vh - var(--#{$prefix}dialog-margin) * 2);\n      overflow: hidden;\n    }\n\n    .dialog-body {\n      overflow-y: auto;\n    }\n  }\n\n  .dialog-centered {\n    // Additional centering styles if needed\n    display: flex;\n    align-items: center;\n    justify-content: center;\n  }\n\n  // Scale up the dialog\n  @include media-breakpoint-up(sm) {\n    dialog {\n      --#{$prefix}dialog-margin: #{$modal-dialog-margin-y-sm-up};\n      --#{$prefix}dialog-box-shadow: #{$modal-content-box-shadow-sm-up};\n    }\n\n    // Automatically set dialog's width for larger viewports\n    .dialog-content {\n      max-width: var(--#{$prefix}dialog-width);\n    }\n\n    .dialog-sm {\n      --#{$prefix}dialog-width: #{$modal-sm};\n    }\n  }\n\n  @include media-breakpoint-up(lg) {\n    .dialog-lg,\n    .dialog-xl {\n      --#{$prefix}dialog-width: #{$modal-lg};\n    }\n  }\n\n  @include media-breakpoint-up(xl) {\n    .dialog-xl {\n      --#{$prefix}dialog-width: #{$modal-xl};\n    }\n  }\n\n  // scss-docs-start dialog-fullscreen-loop\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n    $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n    @include media-breakpoint-down($breakpoint) {\n      .dialog-fullscreen#{$postfix} {\n        width: 100vw;\n        max-width: none;\n        height: 100vh;\n        margin: 0;\n        top: 0;\n        left: 0;\n        transform: none;\n\n        .dialog-content {\n          height: 100%;\n          border: 0;\n          @include border-radius(0);\n        }\n\n        .dialog-header,\n        .dialog-footer {\n          @include border-radius(0);\n        }\n\n        .dialog-body {\n          overflow-y: auto;\n        }\n      }\n    }\n  }\n  // scss-docs-end dialog-fullscreen-loop\n\n  // Body class to prevent scrolling\n  .dialog-open {\n    overflow: hidden;\n    // Use scrollbar-gutter for consistent scrollbar space\n    scrollbar-gutter: stable;\n  }\n}","// Shared between modals and offcanvases\n@mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {\n  position: fixed;\n  top: 0;\n  left: 0;\n  z-index: $zindex;\n  width: 100vw;\n  height: 100vh;\n  background-color: $backdrop-bg;\n\n  // Fade for backdrop\n  &.fade { opacity: 0; }\n  &.show { opacity: $backdrop-opacity; }\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"colors\" as *;\n@use \"variables\" as *;\n@use \"mixins/caret\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/caret\" as *;\n@use \"vendor/rfs\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width:                10rem !default;\n$dropdown-padding-x:                0 !default;\n$dropdown-padding-y:                .5rem !default;\n$dropdown-spacer:                   .125rem !default;\n$dropdown-font-size:                $font-size-base !default;\n$dropdown-color:                    var(--#{$prefix}body-color) !default;\n$dropdown-bg:                       var(--#{$prefix}body-bg) !default;\n$dropdown-border-color:             var(--#{$prefix}border-color-translucent) !default;\n$dropdown-border-radius:            var(--#{$prefix}border-radius) !default;\n$dropdown-border-width:             var(--#{$prefix}border-width) !default;\n$dropdown-inner-border-radius:      calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default;\n$dropdown-divider-bg:               $dropdown-border-color !default;\n$dropdown-divider-margin-y:         $spacer * .5 !default;\n$dropdown-box-shadow:               var(--#{$prefix}box-shadow) !default;\n\n$dropdown-link-color:               var(--#{$prefix}body-color) !default;\n$dropdown-link-hover-color:         $dropdown-link-color !default;\n$dropdown-link-hover-bg:            var(--#{$prefix}tertiary-bg) !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(--#{$prefix}tertiary-color) !default;\n\n$dropdown-item-padding-y:           $spacer * .25 !default;\n$dropdown-item-padding-x:           $spacer !default;\n\n$dropdown-header-color:             $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:               $gray-300 !default;\n$dropdown-dark-bg:                  $gray-800 !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: $gray-500 !default;\n$dropdown-dark-header-color:        $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n@layer components {\n  // The dropdown wrapper (`<div>`)\n  .dropup,\n  .dropend,\n  .dropdown,\n  .dropstart,\n  .dropup-center,\n  .dropdown-center {\n    position: relative;\n  }\n\n  .dropdown-toggle {\n    white-space: nowrap;\n\n    // Generate the caret automatically\n    @include caret();\n  }\n\n  // The dropdown menu\n  .dropdown-menu {\n    // scss-docs-start dropdown-css-vars\n    --#{$prefix}dropdown-zindex: #{$zindex-dropdown};\n    --#{$prefix}dropdown-min-width: #{$dropdown-min-width};\n    --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x};\n    --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y};\n    --#{$prefix}dropdown-spacer: #{$dropdown-spacer};\n    @include rfs($dropdown-font-size, --#{$prefix}dropdown-font-size);\n    --#{$prefix}dropdown-color: #{$dropdown-color};\n    --#{$prefix}dropdown-bg: #{$dropdown-bg};\n    --#{$prefix}dropdown-border-color: #{$dropdown-border-color};\n    --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius};\n    --#{$prefix}dropdown-border-width: #{$dropdown-border-width};\n    --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius};\n    --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg};\n    --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y};\n    --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow};\n    --#{$prefix}dropdown-link-color: #{$dropdown-link-color};\n    --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color};\n    --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg};\n    --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color};\n    --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg};\n    --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color};\n    --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x};\n    --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y};\n    --#{$prefix}dropdown-header-color: #{$dropdown-header-color};\n    --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x};\n    --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y};\n    // scss-docs-end dropdown-css-vars\n\n    position: absolute;\n    z-index: var(--#{$prefix}dropdown-zindex);\n    display: none; // none by default, but block on \"open\" of the menu\n    min-width: var(--#{$prefix}dropdown-min-width);\n    padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x);\n    margin: 0; // Override default margin of ul\n    @include font-size(var(--#{$prefix}dropdown-font-size));\n    color: var(--#{$prefix}dropdown-color);\n    text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n    list-style: none;\n    background-color: var(--#{$prefix}dropdown-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color);\n    @include border-radius(var(--#{$prefix}dropdown-border-radius));\n    @include box-shadow(var(--#{$prefix}dropdown-box-shadow));\n\n    &[data-bs-popper] {\n      top: 100%;\n      left: 0;\n      margin-top: var(--#{$prefix}dropdown-spacer);\n    }\n\n    @if $dropdown-padding-y == 0 {\n      > .dropdown-item:first-child,\n      > li:first-child .dropdown-item {\n        @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius));\n      }\n      > .dropdown-item:last-child,\n      > li:last-child .dropdown-item {\n        @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius));\n      }\n\n    }\n  }\n\n  // scss-docs-start responsive-breakpoints\n  // We deliberately hardcode the `bs-` prefix because we check\n  // this custom property in JS to determine Popper's positioning\n\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    @include media-breakpoint-up($breakpoint) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      .dropdown-menu#{$infix}-start {\n        --bs-position: start;\n\n        &[data-bs-popper] {\n          right: auto;\n          left: 0;\n        }\n      }\n\n      .dropdown-menu#{$infix}-end {\n        --bs-position: end;\n\n        &[data-bs-popper] {\n          right: 0;\n          left: auto;\n        }\n      }\n    }\n  }\n  // scss-docs-end responsive-breakpoints\n\n  // Allow for dropdowns to go bottom up (aka, dropup-menu)\n  // Just add .dropup after the standard .dropdown class and you're set.\n  .dropup {\n    .dropdown-menu[data-bs-popper] {\n      top: auto;\n      bottom: 100%;\n      margin-top: 0;\n      margin-bottom: var(--#{$prefix}dropdown-spacer);\n    }\n\n    .dropdown-toggle {\n      @include caret(up);\n    }\n  }\n\n  .dropend {\n    .dropdown-menu[data-bs-popper] {\n      top: 0;\n      right: auto;\n      left: 100%;\n      margin-top: 0;\n      margin-left: var(--#{$prefix}dropdown-spacer);\n    }\n\n    .dropdown-toggle {\n      @include caret(end);\n      &::after {\n        vertical-align: 0;\n      }\n    }\n  }\n\n  .dropstart {\n    .dropdown-menu[data-bs-popper] {\n      top: 0;\n      right: 100%;\n      left: auto;\n      margin-top: 0;\n      margin-right: var(--#{$prefix}dropdown-spacer);\n    }\n\n    .dropdown-toggle {\n      @include caret(start);\n      &::before {\n        vertical-align: 0;\n      }\n    }\n  }\n\n\n  // Dividers (basically an `<hr>`) within the dropdown\n  .dropdown-divider {\n    height: 0;\n    margin: var(--#{$prefix}dropdown-divider-margin-y) 0;\n    overflow: hidden;\n    border-top: 1px solid var(--#{$prefix}dropdown-divider-bg);\n    opacity: 1; // Revisit in v6 to de-dupe styles that conflict with <hr> element\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: block;\n    width: 100%; // For `<button>`s\n    padding: var(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n    clear: both;\n    font-weight: $font-weight-normal;\n    color: var(--#{$prefix}dropdown-link-color);\n    text-align: inherit; // For `<button>`s\n    text-decoration: if($link-decoration == none, null, 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(--#{$prefix}dropdown-item-border-radius, 0));\n\n    &:hover,\n    &:focus {\n      color: var(--#{$prefix}dropdown-link-hover-color);\n      text-decoration: if($link-hover-decoration == underline, none, null);\n      @include gradient-bg(var(--#{$prefix}dropdown-link-hover-bg));\n    }\n\n    &.active,\n    &:active {\n      color: var(--#{$prefix}dropdown-link-active-color);\n      text-decoration: none;\n      @include gradient-bg(var(--#{$prefix}dropdown-link-active-bg));\n    }\n\n    &.disabled,\n    &:disabled {\n      color: var(--#{$prefix}dropdown-link-disabled-color);\n      pointer-events: none;\n      background-color: transparent;\n      // Remove CSS gradients if they're enabled\n      background-image: if($enable-gradients, none, null);\n    }\n  }\n\n  .dropdown-menu.show {\n    display: block;\n  }\n\n  // Dropdown section headers\n  .dropdown-header {\n    display: block;\n    padding: var(--#{$prefix}dropdown-header-padding-y) var(--#{$prefix}dropdown-header-padding-x);\n    margin-bottom: 0; // for use with heading elements\n    @include font-size($font-size-sm);\n    color: var(--#{$prefix}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(--#{$prefix}dropdown-item-padding-y) var(--#{$prefix}dropdown-item-padding-x);\n    color: var(--#{$prefix}dropdown-link-color);\n  }\n\n  // Dark dropdowns\n  .dropdown-menu-dark {\n    // scss-docs-start dropdown-dark-css-vars\n    --#{$prefix}dropdown-color: #{$dropdown-dark-color};\n    --#{$prefix}dropdown-bg: #{$dropdown-dark-bg};\n    --#{$prefix}dropdown-border-color: #{$dropdown-dark-border-color};\n    --#{$prefix}dropdown-box-shadow: #{$dropdown-dark-box-shadow};\n    --#{$prefix}dropdown-link-color: #{$dropdown-dark-link-color};\n    --#{$prefix}dropdown-link-hover-color: #{$dropdown-dark-link-hover-color};\n    --#{$prefix}dropdown-divider-bg: #{$dropdown-dark-divider-bg};\n    --#{$prefix}dropdown-link-hover-bg: #{$dropdown-dark-link-hover-bg};\n    --#{$prefix}dropdown-link-active-color: #{$dropdown-dark-link-active-color};\n    --#{$prefix}dropdown-link-active-bg: #{$dropdown-dark-link-active-bg};\n    --#{$prefix}dropdown-link-disabled-color: #{$dropdown-dark-link-disabled-color};\n    --#{$prefix}dropdown-header-color: #{$dropdown-dark-header-color};\n    // scss-docs-end dropdown-dark-css-vars\n  }\n}\n","@use \"../config\" as *;\n@use \"../variables\" as *;\n\n// scss-docs-start caret-variables\n$caret-width:                 .3em !default;\n$caret-vertical-align:        $caret-width * .85 !default;\n$caret-spacing:               $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n// scss-docs-start caret-mixins\n@mixin caret-down($width: $caret-width) {\n  border-top: $width solid;\n  border-right: $width solid transparent;\n  border-bottom: 0;\n  border-left: $width solid transparent;\n}\n\n@mixin caret-up($width: $caret-width) {\n  border-top: 0;\n  border-right: $width solid transparent;\n  border-bottom: $width solid;\n  border-left: $width solid transparent;\n}\n\n@mixin caret-end($width: $caret-width) {\n  border-top: $width solid transparent;\n  border-right: 0;\n  border-bottom: $width solid transparent;\n  border-left: $width solid;\n}\n\n@mixin caret-start($width: $caret-width) {\n  border-top: $width solid transparent;\n  border-right: $width solid;\n  border-bottom: $width solid transparent;\n}\n\n@mixin caret(\n  $direction: down,\n  $width: $caret-width,\n  $spacing: $caret-spacing,\n  $vertical-align: $caret-vertical-align\n) {\n  @if $enable-caret {\n    &::after {\n      display: inline-block;\n      margin-left: $spacing;\n      vertical-align: $vertical-align;\n      content: \"\";\n      @if $direction == down {\n        @include caret-down($width);\n      } @else if $direction == up {\n        @include caret-up($width);\n      } @else if $direction == end {\n        @include caret-end($width);\n      }\n    }\n\n    @if $direction == start {\n      &::after {\n        display: none;\n      }\n\n      &::before {\n        display: inline-block;\n        margin-right: $spacing;\n        vertical-align: $vertical-align;\n        content: \"\";\n        @include caret-start($width);\n      }\n    }\n\n    &:empty::after {\n      margin-left: 0;\n    }\n  }\n}\n// scss-docs-end caret-mixins\n","@use \"sass:map\";\n@use \"colors\" as *;\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"vendor/rfs\" as *;\n@use \"layout/breakpoints\" as *;\n\n// scss-docs-start list-group-variables\n$list-group-color:                  var(--#{$prefix}body-color) !default;\n$list-group-bg:                     var(--#{$prefix}body-bg) !default;\n$list-group-border-color:           var(--#{$prefix}border-color) !default;\n$list-group-border-width:           var(--#{$prefix}border-width) !default;\n$list-group-border-radius:          var(--#{$prefix}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(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$list-group-disabled-bg:            $list-group-bg !default;\n\n$list-group-action-color:           var(--#{$prefix}secondary-color) !default;\n$list-group-action-hover-color:     var(--#{$prefix}emphasis-color) !default;\n\n$list-group-action-active-color:    var(--#{$prefix}body-color) !default;\n$list-group-action-active-bg:       var(--#{$prefix}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    --#{$prefix}list-group-color: #{$list-group-color};\n    --#{$prefix}list-group-bg: #{$list-group-bg};\n    --#{$prefix}list-group-border-color: #{$list-group-border-color};\n    --#{$prefix}list-group-border-width: #{$list-group-border-width};\n    --#{$prefix}list-group-border-radius: #{$list-group-border-radius};\n    --#{$prefix}list-group-item-padding-x: #{$list-group-item-padding-x};\n    --#{$prefix}list-group-item-padding-y: #{$list-group-item-padding-y};\n    --#{$prefix}list-group-action-color: #{$list-group-action-color};\n    --#{$prefix}list-group-action-hover-color: #{$list-group-action-hover-color};\n    --#{$prefix}list-group-action-hover-bg: #{$list-group-hover-bg};\n    --#{$prefix}list-group-action-active-color: #{$list-group-action-active-color};\n    --#{$prefix}list-group-action-active-bg: #{$list-group-action-active-bg};\n    --#{$prefix}list-group-disabled-color: #{$list-group-disabled-color};\n    --#{$prefix}list-group-disabled-bg: #{$list-group-disabled-bg};\n    --#{$prefix}list-group-active-color: #{$list-group-active-color};\n    --#{$prefix}list-group-active-bg: #{$list-group-active-bg};\n    --#{$prefix}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-left: 0; // reset padding because ul and ol\n    margin-bottom: 0;\n    @include border-radius(var(--#{$prefix}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(--#{$prefix}list-group-item-padding-y) var(--#{$prefix}list-group-item-padding-x);\n    color: var(--#{$prefix}list-group-color);\n    text-decoration: if($link-decoration == none, null, none);\n    background-color: var(--#{$prefix}list-group-bg);\n    border: var(--#{$prefix}list-group-border-width) solid var(--#{$prefix}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(--#{$prefix}list-group-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}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(--#{$prefix}list-group-active-color);\n      background-color: var(--#{$prefix}list-group-active-bg);\n      border-color: var(--#{$prefix}list-group-active-border-color);\n    }\n\n    // stylelint-disable-next-line scss/selector-no-redundant-nesting-selector\n    & + .list-group-item {\n      border-top-width: 0;\n\n      &.active {\n        margin-top: calc(-1 * var(--#{$prefix}list-group-border-width));\n        border-top-width: var(--#{$prefix}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(--#{$prefix}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(--#{$prefix}list-group-action-hover-color);\n        text-decoration: none;\n        background-color: var(--#{$prefix}list-group-action-hover-bg);\n      }\n\n      &:active {\n        color: var(--#{$prefix}list-group-action-active-color);\n        background-color: var(--#{$prefix}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(--#{$prefix}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(--#{$prefix}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-top-width: var(--#{$prefix}list-group-border-width);\n            border-left-width: 0;\n\n            &.active {\n              margin-left: calc(-1 * var(--#{$prefix}list-group-border-width));\n              border-left-width: var(--#{$prefix}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(--#{$prefix}list-group-border-width);\n\n      &:last-child {\n        border-bottom-width: 0;\n      }\n    }\n  }\n\n\n  // scss-docs-start list-group-modifiers\n  // List group contextual variants\n  //\n  // Add modifier classes to change text and background color on individual items.\n  // Organizationally, this must come after the `:hover` states.\n\n  @each $state in map.keys($theme-colors) {\n    .list-group-item-#{$state} {\n      --#{$prefix}list-group-color: var(--#{$prefix}#{$state}-text-emphasis);\n      --#{$prefix}list-group-bg: var(--#{$prefix}#{$state}-bg-subtle);\n      --#{$prefix}list-group-border-color: var(--#{$prefix}#{$state}-border-subtle);\n      --#{$prefix}list-group-action-hover-color: var(--#{$prefix}emphasis-color);\n      --#{$prefix}list-group-action-hover-bg: var(--#{$prefix}#{$state}-border-subtle);\n      --#{$prefix}list-group-action-active-color: var(--#{$prefix}emphasis-color);\n      --#{$prefix}list-group-action-active-bg: var(--#{$prefix}#{$state}-border-subtle);\n      --#{$prefix}list-group-active-color: var(--#{$prefix}#{$state}-bg-subtle);\n      --#{$prefix}list-group-active-bg: var(--#{$prefix}#{$state}-text-emphasis);\n      --#{$prefix}list-group-active-border-color: var(--#{$prefix}#{$state}-text-emphasis);\n    }\n  }\n  // scss-docs-end list-group-modifiers\n}\n","@use \"sass:map\";\n@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/backdrop\" as *;\n@use \"vendor/rfs\" as *;\n@use \"layout/breakpoints\" as *;\n\n// .modal-open      - body class for killing the scroll\n// .modal           - container to scroll within\n// .modal-dialog    - positioning shell for the actual modal\n// .modal-content   - actual modal w/ bg and corners and stuff\n\n@layer components {\n  // Container that the modal scrolls within\n  .modal {\n    // scss-docs-start modal-css-vars\n    --#{$prefix}modal-zindex: #{$zindex-modal};\n    --#{$prefix}modal-width: #{$modal-md};\n    --#{$prefix}modal-padding: #{$modal-inner-padding};\n    --#{$prefix}modal-margin: #{$modal-dialog-margin};\n    --#{$prefix}modal-color: #{$modal-content-color};\n    --#{$prefix}modal-bg: #{$modal-content-bg};\n    --#{$prefix}modal-border-color: #{$modal-content-border-color};\n    --#{$prefix}modal-border-width: #{$modal-content-border-width};\n    --#{$prefix}modal-border-radius: #{$modal-content-border-radius};\n    --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-xs};\n    --#{$prefix}modal-inner-border-radius: #{$modal-content-inner-border-radius};\n    --#{$prefix}modal-header-padding-x: #{$modal-header-padding-x};\n    --#{$prefix}modal-header-padding-y: #{$modal-header-padding-y};\n    --#{$prefix}modal-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y\n    --#{$prefix}modal-header-border-color: #{$modal-header-border-color};\n    --#{$prefix}modal-header-border-width: #{$modal-header-border-width};\n    --#{$prefix}modal-title-line-height: #{$modal-title-line-height};\n    --#{$prefix}modal-footer-gap: #{$modal-footer-margin-between};\n    --#{$prefix}modal-footer-bg: #{$modal-footer-bg};\n    --#{$prefix}modal-footer-border-color: #{$modal-footer-border-color};\n    --#{$prefix}modal-footer-border-width: #{$modal-footer-border-width};\n    // scss-docs-end modal-css-vars\n\n    position: fixed;\n    top: 0;\n    left: 0;\n    z-index: var(--#{$prefix}modal-zindex);\n    display: none;\n    width: 100%;\n    height: 100%;\n    overflow-x: hidden;\n    overflow-y: auto;\n    // Prevent Chrome on Windows from adding a focus outline. For details, see\n    // https://github.com/twbs/bootstrap/pull/10951.\n    outline: 0;\n    // We deliberately don't use `-webkit-overflow-scrolling: touch;` due to a\n    // gnarly iOS Safari bug: https://bugs.webkit.org/show_bug.cgi?id=158342\n    // See also https://github.com/twbs/bootstrap/issues/17695\n  }\n\n  // Shell div to position the modal with bottom padding\n  .modal-dialog {\n    position: relative;\n    width: auto;\n    margin: var(--#{$prefix}modal-margin);\n    // allow clicks to pass through for custom click handling to close modal\n    pointer-events: none;\n\n    // When fading in the modal, animate it to slide down\n    .modal.fade & {\n      transform: $modal-fade-transform;\n      @include transition($modal-transition);\n    }\n    .modal.show & {\n      transform: $modal-show-transform;\n    }\n\n    // When trying to close, animate focus to scale\n    .modal.modal-static & {\n      transform: $modal-scale-transform;\n    }\n  }\n\n  .modal-dialog-scrollable {\n    height: calc(100% - var(--#{$prefix}modal-margin) * 2);\n\n    .modal-content {\n      max-height: 100%;\n      overflow: hidden;\n    }\n\n    .modal-body {\n      overflow-y: auto;\n    }\n  }\n\n  .modal-dialog-centered {\n    display: flex;\n    align-items: center;\n    min-height: calc(100% - var(--#{$prefix}modal-margin) * 2);\n  }\n\n  // Actual modal\n  .modal-content {\n    position: relative;\n    display: flex;\n    flex-direction: column;\n    width: 100%; // Ensure `.modal-content` extends the full width of the parent `.modal-dialog`\n    // counteract the pointer-events: none; in the .modal-dialog\n    color: var(--#{$prefix}modal-color);\n    pointer-events: auto;\n    background-color: var(--#{$prefix}modal-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}modal-border-width) solid var(--#{$prefix}modal-border-color);\n    @include border-radius(var(--#{$prefix}modal-border-radius));\n    @include box-shadow(var(--#{$prefix}modal-box-shadow));\n    // Remove focus outline from opened modal\n    outline: 0;\n  }\n\n  // Modal background\n  .modal-backdrop {\n    // scss-docs-start modal-backdrop-css-vars\n    --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};\n    --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};\n    --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};\n    // scss-docs-end modal-backdrop-css-vars\n\n    @include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));\n  }\n\n  // Modal header\n  // Top section of the modal w/ title and dismiss\n  .modal-header {\n    display: flex;\n    flex-shrink: 0;\n    align-items: center;\n    padding: var(--#{$prefix}modal-header-padding);\n    border-bottom: var(--#{$prefix}modal-header-border-width) solid var(--#{$prefix}modal-header-border-color);\n    @include border-top-radius(var(--#{$prefix}modal-inner-border-radius));\n\n    .btn-close {\n      padding: calc(var(--#{$prefix}modal-header-padding-y) * .5) calc(var(--#{$prefix}modal-header-padding-x) * .5);\n      // Split properties to avoid invalid calc() function if value is 0\n      margin-top: calc(-.5 * var(--#{$prefix}modal-header-padding-y));\n      margin-right: calc(-.5 * var(--#{$prefix}modal-header-padding-x));\n      margin-bottom: calc(-.5 * var(--#{$prefix}modal-header-padding-y));\n      margin-left: auto;\n    }\n  }\n\n  // Title text within header\n  .modal-title {\n    margin-bottom: 0;\n    line-height: var(--#{$prefix}modal-title-line-height);\n  }\n\n  // Modal body\n  // Where all modal content resides (sibling of .modal-header and .modal-footer)\n  .modal-body {\n    position: relative;\n    // Enable `flex-grow: 1` so that the body take up as much space as possible\n    // when there should be a fixed height on `.modal-dialog`.\n    flex: 1 1 auto;\n    padding: var(--#{$prefix}modal-padding);\n  }\n\n  // Footer (for actions)\n  .modal-footer {\n    display: flex;\n    flex-shrink: 0;\n    flex-wrap: wrap;\n    align-items: center; // vertically center\n    justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items\n    padding: calc(var(--#{$prefix}modal-padding) - var(--#{$prefix}modal-footer-gap) * .5);\n    background-color: var(--#{$prefix}modal-footer-bg);\n    border-top: var(--#{$prefix}modal-footer-border-width) solid var(--#{$prefix}modal-footer-border-color);\n    @include border-bottom-radius(var(--#{$prefix}modal-inner-border-radius));\n\n    // Place margin between footer elements\n    // This solution is far from ideal because of the universal selector usage,\n    // but is needed to fix https://github.com/twbs/bootstrap/issues/24800\n    > * {\n      margin: calc(var(--#{$prefix}modal-footer-gap) * .5); // Todo in v6: replace with gap on parent class\n    }\n  }\n\n  // Scale up the modal\n  @include media-breakpoint-up(sm) {\n    .modal {\n      --#{$prefix}modal-margin: #{$modal-dialog-margin-y-sm-up};\n      --#{$prefix}modal-box-shadow: #{$modal-content-box-shadow-sm-up};\n    }\n\n    // Automatically set modal's width for larger viewports\n    .modal-dialog {\n      max-width: var(--#{$prefix}modal-width);\n      margin-right: auto;\n      margin-left: auto;\n    }\n\n    .modal-sm {\n      --#{$prefix}modal-width: #{$modal-sm};\n    }\n  }\n\n  @include media-breakpoint-up(lg) {\n    .modal-lg,\n    .modal-xl {\n      --#{$prefix}modal-width: #{$modal-lg};\n    }\n  }\n\n  @include media-breakpoint-up(xl) {\n    .modal-xl {\n      --#{$prefix}modal-width: #{$modal-xl};\n    }\n  }\n\n  // scss-docs-start modal-fullscreen-loop\n  @each $breakpoint in map.keys($grid-breakpoints) {\n    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n    $postfix: if($infix != \"\", $infix + \"-down\", \"\");\n\n    @include media-breakpoint-down($breakpoint) {\n      .modal-fullscreen#{$postfix} {\n        width: 100vw;\n        max-width: none;\n        height: 100%;\n        margin: 0;\n\n        .modal-content {\n          height: 100%;\n          border: 0;\n          @include border-radius(0);\n        }\n\n        .modal-header,\n        .modal-footer {\n          @include border-radius(0);\n        }\n\n        .modal-body {\n          overflow-y: auto;\n        }\n      }\n    }\n  }\n  // scss-docs-end modal-fullscreen-loop\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"vendor/rfs\" as *;\n\n// scss-docs-start nav-variables\n$nav-link-padding-y:                .5rem !default;\n$nav-link-padding-x:                1rem !default;\n$nav-link-font-size:                null !default;\n$nav-link-font-weight:              null !default;\n$nav-link-color:                    var(--#{$prefix}link-color) !default;\n$nav-link-hover-color:              var(--#{$prefix}link-hover-color) !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(--#{$prefix}secondary-color) !default;\n$nav-link-focus-box-shadow:         $focus-ring-box-shadow !default;\n\n$nav-tabs-border-color:             var(--#{$prefix}border-color) !default;\n$nav-tabs-border-width:             var(--#{$prefix}border-width) !default;\n$nav-tabs-border-radius:            var(--#{$prefix}border-radius) !default;\n$nav-tabs-link-hover-border-color:  var(--#{$prefix}secondary-bg) var(--#{$prefix}secondary-bg) $nav-tabs-border-color !default;\n$nav-tabs-link-active-color:        var(--#{$prefix}emphasis-color) !default;\n$nav-tabs-link-active-bg:           var(--#{$prefix}body-bg) !default;\n$nav-tabs-link-active-border-color: var(--#{$prefix}border-color) var(--#{$prefix}border-color) $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius:           var(--#{$prefix}border-radius) !default;\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(--#{$prefix}emphasis-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    --#{$prefix}nav-link-padding-x: #{$nav-link-padding-x};\n    --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n    @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n    --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n    --#{$prefix}nav-link-color: #{$nav-link-color};\n    --#{$prefix}nav-link-hover-color: #{$nav-link-hover-color};\n    --#{$prefix}nav-link-disabled-color: #{$nav-link-disabled-color};\n    // scss-docs-end nav-css-vars\n\n    display: flex;\n    flex-wrap: wrap;\n    padding-left: 0;\n    margin-bottom: 0;\n    list-style: none;\n  }\n\n  .nav-link {\n    display: block;\n    padding: var(--#{$prefix}nav-link-padding-y) var(--#{$prefix}nav-link-padding-x);\n    @include font-size(var(--#{$prefix}nav-link-font-size));\n    font-weight: var(--#{$prefix}nav-link-font-weight);\n    color: var(--#{$prefix}nav-link-color);\n    text-decoration: if($link-decoration == none, null, none);\n    background: none;\n    border: 0;\n    @include transition($nav-link-transition);\n\n    &:hover,\n    &:focus {\n      color: var(--#{$prefix}nav-link-hover-color);\n      text-decoration: if($link-hover-decoration == underline, none, null);\n    }\n\n    &:focus-visible {\n      outline: 0;\n      box-shadow: $nav-link-focus-box-shadow;\n    }\n\n    // Disabled state lightens text\n    &.disabled,\n    &:disabled {\n      color: var(--#{$prefix}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    --#{$prefix}nav-tabs-border-width: #{$nav-tabs-border-width};\n    --#{$prefix}nav-tabs-border-color: #{$nav-tabs-border-color};\n    --#{$prefix}nav-tabs-border-radius: #{$nav-tabs-border-radius};\n    --#{$prefix}nav-tabs-link-hover-border-color: #{$nav-tabs-link-hover-border-color};\n    --#{$prefix}nav-tabs-link-active-color: #{$nav-tabs-link-active-color};\n    --#{$prefix}nav-tabs-link-active-bg: #{$nav-tabs-link-active-bg};\n    --#{$prefix}nav-tabs-link-active-border-color: #{$nav-tabs-link-active-border-color};\n    // scss-docs-end nav-tabs-css-vars\n\n    border-bottom: var(--#{$prefix}nav-tabs-border-width) solid var(--#{$prefix}nav-tabs-border-color);\n\n    .nav-link {\n      margin-bottom: calc(-1 * var(--#{$prefix}nav-tabs-border-width));\n      border: var(--#{$prefix}nav-tabs-border-width) solid transparent;\n      @include border-top-radius(var(--#{$prefix}nav-tabs-border-radius));\n\n      &:hover,\n      &:focus {\n        // Prevents active .nav-link tab overlapping focus outline of previous/next .nav-link\n        isolation: isolate;\n        border-color: var(--#{$prefix}nav-tabs-link-hover-border-color);\n      }\n    }\n\n    .nav-link.active,\n    .nav-item.show .nav-link {\n      color: var(--#{$prefix}nav-tabs-link-active-color);\n      background-color: var(--#{$prefix}nav-tabs-link-active-bg);\n      border-color: var(--#{$prefix}nav-tabs-link-active-border-color);\n    }\n\n    .dropdown-menu {\n      // Make dropdown border overlap tab border\n      margin-top: calc(-1 * var(--#{$prefix}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    --#{$prefix}nav-pills-border-radius: #{$nav-pills-border-radius};\n    --#{$prefix}nav-pills-link-active-color: #{$nav-pills-link-active-color};\n    --#{$prefix}nav-pills-link-active-bg: #{$nav-pills-link-active-bg};\n    // scss-docs-end nav-pills-css-vars\n\n    .nav-link {\n      @include border-radius(var(--#{$prefix}nav-pills-border-radius));\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      color: var(--#{$prefix}nav-pills-link-active-color);\n      @include gradient-bg(var(--#{$prefix}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    --#{$prefix}nav-underline-gap: #{$nav-underline-gap};\n    --#{$prefix}nav-underline-border-width: #{$nav-underline-border-width};\n    --#{$prefix}nav-underline-link-active-color: #{$nav-underline-link-active-color};\n    // scss-docs-end nav-underline-css-vars\n\n    gap: var(--#{$prefix}nav-underline-gap);\n\n    .nav-link {\n      padding-right: 0;\n      padding-left: 0;\n      border-bottom: var(--#{$prefix}nav-underline-border-width) solid transparent;\n\n      &:hover,\n      &:focus {\n        border-bottom-color: currentcolor;\n      }\n    }\n\n    .nav-link.active,\n    .show > .nav-link {\n      font-weight: $font-weight-bold;\n      color: var(--#{$prefix}nav-underline-link-active-color);\n      border-bottom-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 \"mixins/border-radius\" as *;\n@use \"mixins/box-shadow\" as *;\n@use \"mixins/gradients\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/color-mode\" as *;\n@use \"mixins/deprecate\" as *;\n@use \"vendor/rfs\" as *;\n@use \"layout/breakpoints\" 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:         .5rem !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:      $btn-border-radius !default;\n$navbar-toggler-focus-width:        $btn-focus-width !default;\n$navbar-toggler-transition:         box-shadow .15s ease-in-out !default;\n\n$navbar-light-color:                color-mix(in srgb, var(--#{$prefix}fg-black) 65%, transparent) !default;\n$navbar-light-hover-color:          color-mix(in srgb, var(--#{$prefix}fg-black) 80%, transparent) !default;\n$navbar-light-active-color:         color-mix(in srgb, var(--#{$prefix}fg-black) 100%, transparent) !default;\n$navbar-light-disabled-color:       color-mix(in srgb, var(--#{$prefix}fg-black) 30%, transparent) !default;\n$navbar-light-icon-color:           rgba($body-color, .75) !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: rgba(var(--#{$prefix}emphasis-color-rgb), .15) !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    --#{$prefix}navbar-padding-x: #{if($navbar-padding-x == null, 0, $navbar-padding-x)};\n    --#{$prefix}navbar-padding-y: #{$navbar-padding-y};\n    --#{$prefix}navbar-color: #{$navbar-light-color};\n    --#{$prefix}navbar-hover-color: #{$navbar-light-hover-color};\n    --#{$prefix}navbar-disabled-color: #{$navbar-light-disabled-color};\n    --#{$prefix}navbar-active-color: #{$navbar-light-active-color};\n    --#{$prefix}navbar-brand-padding-y: #{$navbar-brand-padding-y};\n    --#{$prefix}navbar-brand-margin-end: #{$navbar-brand-margin-end};\n    --#{$prefix}navbar-brand-font-size: #{$navbar-brand-font-size};\n    --#{$prefix}navbar-brand-color: #{$navbar-light-brand-color};\n    --#{$prefix}navbar-brand-hover-color: #{$navbar-light-brand-hover-color};\n    --#{$prefix}navbar-nav-link-padding-x: #{$navbar-nav-link-padding-x};\n    --#{$prefix}navbar-toggler-padding-y: #{$navbar-toggler-padding-y};\n    --#{$prefix}navbar-toggler-padding-x: #{$navbar-toggler-padding-x};\n    --#{$prefix}navbar-toggler-font-size: #{$navbar-toggler-font-size};\n    --#{$prefix}navbar-toggler-icon-bg: #{escape-svg($navbar-light-toggler-icon-bg)};\n    --#{$prefix}navbar-toggler-border-color: #{$navbar-light-toggler-border-color};\n    --#{$prefix}navbar-toggler-border-radius: #{$navbar-toggler-border-radius};\n    --#{$prefix}navbar-toggler-focus-width: #{$navbar-toggler-focus-width};\n    --#{$prefix}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(--#{$prefix}navbar-padding-y) var(--#{$prefix}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(--#{$prefix}navbar-brand-padding-y);\n    padding-bottom: var(--#{$prefix}navbar-brand-padding-y);\n    margin-right: var(--#{$prefix}navbar-brand-margin-end);\n    @include font-size(var(--#{$prefix}navbar-brand-font-size));\n    color: var(--#{$prefix}navbar-brand-color);\n    text-decoration: if($link-decoration == none, null, none);\n    white-space: nowrap;\n\n    &:hover,\n    &:focus {\n      color: var(--#{$prefix}navbar-brand-hover-color);\n      text-decoration: if($link-hover-decoration == underline, none, null);\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    --#{$prefix}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    // --#{$prefix}nav-link-padding-y: #{$nav-link-padding-y};\n    // @include rfs($nav-link-font-size, --#{$prefix}nav-link-font-size);\n    // --#{$prefix}nav-link-font-weight: #{$nav-link-font-weight};\n    --#{$prefix}nav-link-color: var(--#{$prefix}navbar-color);\n    --#{$prefix}nav-link-hover-color: var(--#{$prefix}navbar-hover-color);\n    --#{$prefix}nav-link-disabled-color: var(--#{$prefix}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-left: 0;\n    margin-bottom: 0;\n    list-style: none;\n\n    .nav-link {\n      &.active,\n      &.show {\n        color: var(--#{$prefix}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(--#{$prefix}navbar-color);\n\n    a,\n    a:hover,\n    a:focus  {\n      color: var(--#{$prefix}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(--#{$prefix}navbar-toggler-padding-y) var(--#{$prefix}navbar-toggler-padding-x);\n    @include font-size(var(--#{$prefix}navbar-toggler-font-size));\n    line-height: 1;\n    color: var(--#{$prefix}navbar-color);\n    background-color: transparent; // remove default button style\n    border: var(--#{$prefix}border-width) solid var(--#{$prefix}navbar-toggler-border-color); // remove default button style\n    @include border-radius(var(--#{$prefix}navbar-toggler-border-radius));\n    @include transition(var(--#{$prefix}navbar-toggler-transition));\n\n    &:hover {\n      text-decoration: none;\n    }\n\n    &:focus {\n      text-decoration: none;\n      outline: 0;\n      box-shadow: 0 0 0 var(--#{$prefix}navbar-toggler-focus-width);\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(--#{$prefix}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(--#{$prefix}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            flex-direction: row;\n\n            .dropdown-menu {\n              position: absolute;\n            }\n\n            .nav-link {\n              padding-right: var(--#{$prefix}navbar-nav-link-padding-x);\n              padding-left: var(--#{$prefix}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;\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-light {\n    @include deprecate(\"`.navbar-light`\", \"v5.2.0\", \"v6.0.0\", true);\n  }\n\n  .navbar-dark,\n  .navbar[data-bs-theme=\"dark\"] {\n    // scss-docs-start navbar-dark-css-vars\n    --#{$prefix}navbar-color: #{$navbar-dark-color};\n    --#{$prefix}navbar-hover-color: #{$navbar-dark-hover-color};\n    --#{$prefix}navbar-disabled-color: #{$navbar-dark-disabled-color};\n    --#{$prefix}navbar-active-color: #{$navbar-dark-active-color};\n    --#{$prefix}navbar-brand-color: #{$navbar-dark-brand-color};\n    --#{$prefix}navbar-brand-hover-color: #{$navbar-dark-brand-hover-color};\n    --#{$prefix}navbar-toggler-border-color: #{$navbar-dark-toggler-border-color};\n    --#{$prefix}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        --#{$prefix}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  --#{$prefix}offcanvas-zindex: #{$zindex-offcanvas};\n  --#{$prefix}offcanvas-width: #{$offcanvas-horizontal-width};\n  --#{$prefix}offcanvas-height: #{$offcanvas-vertical-height};\n  --#{$prefix}offcanvas-padding-x: #{$offcanvas-padding-x};\n  --#{$prefix}offcanvas-padding-y: #{$offcanvas-padding-y};\n  --#{$prefix}offcanvas-color: #{$offcanvas-color};\n  --#{$prefix}offcanvas-bg: #{$offcanvas-bg-color};\n  --#{$prefix}offcanvas-border-width: #{$offcanvas-border-width};\n  --#{$prefix}offcanvas-border-color: #{$offcanvas-border-color};\n  --#{$prefix}offcanvas-box-shadow: #{$offcanvas-box-shadow};\n  --#{$prefix}offcanvas-transition: #{transform $offcanvas-transition-duration ease-in-out};\n  --#{$prefix}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(--#{$prefix}offcanvas-zindex);\n        display: flex;\n        flex-direction: column;\n        max-width: 100%;\n        color: var(--#{$prefix}offcanvas-color);\n        visibility: hidden;\n        background-color: var(--#{$prefix}offcanvas-bg);\n        background-clip: padding-box;\n        outline: 0;\n        @include box-shadow(var(--#{$prefix}offcanvas-box-shadow));\n        @include transition(var(--#{$prefix}offcanvas-transition));\n\n        &.offcanvas-start {\n          top: 0;\n          left: 0;\n          width: var(--#{$prefix}offcanvas-width);\n          border-right: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateX(-100%);\n        }\n\n        &.offcanvas-end {\n          top: 0;\n          right: 0;\n          width: var(--#{$prefix}offcanvas-width);\n          border-left: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateX(100%);\n        }\n\n        &.offcanvas-top {\n          top: 0;\n          right: 0;\n          left: 0;\n          height: var(--#{$prefix}offcanvas-height);\n          max-height: 100%;\n          border-bottom: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}offcanvas-border-color);\n          transform: translateY(-100%);\n        }\n\n        &.offcanvas-bottom {\n          right: 0;\n          left: 0;\n          height: var(--#{$prefix}offcanvas-height);\n          max-height: 100%;\n          border-top: var(--#{$prefix}offcanvas-border-width) solid var(--#{$prefix}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          --#{$prefix}offcanvas-height: auto;\n          --#{$prefix}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(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n\n    .btn-close {\n      padding: calc(var(--#{$prefix}offcanvas-padding-y) * .5) calc(var(--#{$prefix}offcanvas-padding-x) * .5);\n      // Split properties to avoid invalid calc() function if value is 0\n      margin-top: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n      margin-right: calc(-.5 * var(--#{$prefix}offcanvas-padding-x));\n      margin-bottom: calc(-.5 * var(--#{$prefix}offcanvas-padding-y));\n      margin-left: auto;\n    }\n  }\n\n  .offcanvas-title {\n    margin-bottom: 0;\n    line-height: var(--#{$prefix}offcanvas-title-line-height);\n  }\n\n  .offcanvas-body {\n    flex-grow: 1;\n    padding: var(--#{$prefix}offcanvas-padding-y) var(--#{$prefix}offcanvas-padding-x);\n    overflow-y: auto;\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/lists\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"mixins/transition\" as *;\n@use \"mixins/gradients\" as *;\n@use \"vendor/rfs\" 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(--#{$prefix}link-color) !default;\n$pagination-bg:                     var(--#{$prefix}body-bg) !default;\n$pagination-border-radius:          var(--#{$prefix}border-radius) !default;\n$pagination-border-width:           var(--#{$prefix}border-width) !default;\n$pagination-margin-start:           calc(-1 * #{$pagination-border-width}) !default;\n$pagination-border-color:           var(--#{$prefix}border-color) !default;\n\n$pagination-focus-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-focus-bg:               var(--#{$prefix}secondary-bg) !default;\n$pagination-focus-box-shadow:       $focus-ring-box-shadow !default;\n$pagination-focus-outline:          0 !default;\n\n$pagination-hover-color:            var(--#{$prefix}link-hover-color) !default;\n$pagination-hover-bg:               var(--#{$prefix}tertiary-bg) !default;\n$pagination-hover-border-color:     var(--#{$prefix}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(--#{$prefix}secondary-color) !default;\n$pagination-disabled-bg:            var(--#{$prefix}secondary-bg) !default;\n$pagination-disabled-border-color:  var(--#{$prefix}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(--#{$prefix}border-radius-sm) !default;\n$pagination-border-radius-lg:       var(--#{$prefix}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  --#{$prefix}pagination-padding-x: #{$padding-x};\n  --#{$prefix}pagination-padding-y: #{$padding-y};\n  @include rfs($font-size, --#{$prefix}pagination-font-size);\n  --#{$prefix}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    --#{$prefix}pagination-padding-x: #{$pagination-padding-x};\n    --#{$prefix}pagination-padding-y: #{$pagination-padding-y};\n    @include rfs($pagination-font-size, --#{$prefix}pagination-font-size);\n    --#{$prefix}pagination-color: #{$pagination-color};\n    --#{$prefix}pagination-bg: #{$pagination-bg};\n    --#{$prefix}pagination-border-width: #{$pagination-border-width};\n    --#{$prefix}pagination-border-color: #{$pagination-border-color};\n    --#{$prefix}pagination-border-radius: #{$pagination-border-radius};\n    --#{$prefix}pagination-hover-color: #{$pagination-hover-color};\n    --#{$prefix}pagination-hover-bg: #{$pagination-hover-bg};\n    --#{$prefix}pagination-hover-border-color: #{$pagination-hover-border-color};\n    --#{$prefix}pagination-focus-color: #{$pagination-focus-color};\n    --#{$prefix}pagination-focus-bg: #{$pagination-focus-bg};\n    --#{$prefix}pagination-focus-box-shadow: #{$pagination-focus-box-shadow};\n    --#{$prefix}pagination-active-color: #{$pagination-active-color};\n    --#{$prefix}pagination-active-bg: #{$pagination-active-bg};\n    --#{$prefix}pagination-active-border-color: #{$pagination-active-border-color};\n    --#{$prefix}pagination-disabled-color: #{$pagination-disabled-color};\n    --#{$prefix}pagination-disabled-bg: #{$pagination-disabled-bg};\n    --#{$prefix}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(--#{$prefix}pagination-padding-y) var(--#{$prefix}pagination-padding-x);\n    @include font-size(var(--#{$prefix}pagination-font-size));\n    color: var(--#{$prefix}pagination-color);\n    text-decoration: if($link-decoration == none, null, none);\n    background-color: var(--#{$prefix}pagination-bg);\n    border: var(--#{$prefix}pagination-border-width) solid var(--#{$prefix}pagination-border-color);\n    @include transition($pagination-transition);\n\n    &:hover {\n      z-index: 2;\n      color: var(--#{$prefix}pagination-hover-color);\n      text-decoration: if($link-hover-decoration == underline, none, null);\n      background-color: var(--#{$prefix}pagination-hover-bg);\n      border-color: var(--#{$prefix}pagination-hover-border-color);\n    }\n\n    &:focus {\n      z-index: 3;\n      color: var(--#{$prefix}pagination-focus-color);\n      background-color: var(--#{$prefix}pagination-focus-bg);\n      outline: $pagination-focus-outline;\n      box-shadow: var(--#{$prefix}pagination-focus-box-shadow);\n    }\n\n    &.active,\n    .active > & {\n      z-index: 3;\n      color: var(--#{$prefix}pagination-active-color);\n      @include gradient-bg(var(--#{$prefix}pagination-active-bg));\n      border-color: var(--#{$prefix}pagination-active-border-color);\n    }\n\n    &.disabled,\n    .disabled > & {\n      color: var(--#{$prefix}pagination-disabled-color);\n      pointer-events: none;\n      background-color: var(--#{$prefix}pagination-disabled-bg);\n      border-color: var(--#{$prefix}pagination-disabled-border-color);\n    }\n  }\n\n  .page-item {\n    &:not(:first-child) .page-link {\n      margin-left: $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(--#{$prefix}pagination-border-radius));\n        }\n      }\n\n      &:last-child {\n        .page-link {\n          @include border-end-radius(var(--#{$prefix}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(--#{$prefix}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 \"vendor/rfs\" as *;\n@use \"mixins/reset-text\" as *;\n\n// scss-docs-start popover-variables\n$popover-font-size:                 $font-size-sm !default;\n$popover-bg:                        var(--#{$prefix}body-bg) !default;\n$popover-max-width:                 276px !default;\n$popover-border-width:              var(--#{$prefix}border-width) !default;\n$popover-border-color:              var(--#{$prefix}border-color-translucent) !default;\n$popover-border-radius:             var(--#{$prefix}border-radius-lg) !default;\n$popover-inner-border-radius:       calc(#{$popover-border-radius} - #{$popover-border-width}) !default;\n$popover-box-shadow:                var(--#{$prefix}box-shadow) !default;\n\n$popover-header-font-size:          $font-size-base !default;\n$popover-header-bg:                 var(--#{$prefix}secondary-bg) !default;\n$popover-header-color:              $headings-color !default;\n$popover-header-padding-y:          .5rem !default;\n$popover-header-padding-x:          $spacer !default;\n\n$popover-body-color:                var(--#{$prefix}body-color) !default;\n$popover-body-padding-y:            $spacer !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    --#{$prefix}popover-zindex: #{$zindex-popover};\n    --#{$prefix}popover-max-width: #{$popover-max-width};\n    @include rfs($popover-font-size, --#{$prefix}popover-font-size);\n    --#{$prefix}popover-bg: #{$popover-bg};\n    --#{$prefix}popover-border-width: #{$popover-border-width};\n    --#{$prefix}popover-border-color: #{$popover-border-color};\n    --#{$prefix}popover-border-radius: #{$popover-border-radius};\n    --#{$prefix}popover-inner-border-radius: #{$popover-inner-border-radius};\n    --#{$prefix}popover-box-shadow: #{$popover-box-shadow};\n    --#{$prefix}popover-header-padding-x: #{$popover-header-padding-x};\n    --#{$prefix}popover-header-padding-y: #{$popover-header-padding-y};\n    @include rfs($popover-header-font-size, --#{$prefix}popover-header-font-size);\n    --#{$prefix}popover-header-color: #{$popover-header-color};\n    --#{$prefix}popover-header-bg: #{$popover-header-bg};\n    --#{$prefix}popover-body-padding-x: #{$popover-body-padding-x};\n    --#{$prefix}popover-body-padding-y: #{$popover-body-padding-y};\n    --#{$prefix}popover-body-color: #{$popover-body-color};\n    --#{$prefix}popover-arrow-width: #{$popover-arrow-width};\n    --#{$prefix}popover-arrow-height: #{$popover-arrow-height};\n    --#{$prefix}popover-arrow-border: var(--#{$prefix}popover-border-color);\n    // scss-docs-end popover-css-vars\n\n    z-index: var(--#{$prefix}popover-zindex);\n    display: block;\n    max-width: var(--#{$prefix}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    @include font-size(var(--#{$prefix}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(--#{$prefix}popover-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n    @include border-radius(var(--#{$prefix}popover-border-radius));\n    @include box-shadow(var(--#{$prefix}popover-box-shadow));\n\n    .popover-arrow {\n      display: block;\n      width: var(--#{$prefix}popover-arrow-width);\n      height: var(--#{$prefix}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(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        bottom: 0;\n        border-top-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        bottom: var(--#{$prefix}popover-border-width);\n        border-top-color: var(--#{$prefix}popover-bg);\n      }\n    }\n  }\n\n  /* rtl:begin:ignore */\n  .bs-popover-end {\n    > .popover-arrow {\n      left: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n      width: var(--#{$prefix}popover-arrow-height);\n      height: var(--#{$prefix}popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height) calc(var(--#{$prefix}popover-arrow-width) * .5) 0;\n      }\n\n      &::before {\n        left: 0;\n        border-right-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        left: var(--#{$prefix}popover-border-width);\n        border-right-color: var(--#{$prefix}popover-bg);\n      }\n    }\n  }\n\n  /* rtl:end:ignore */\n\n  .bs-popover-bottom {\n    > .popover-arrow {\n      top: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n\n      &::before,\n      &::after {\n        border-width: 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height);\n      }\n\n      &::before {\n        top: 0;\n        border-bottom-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        top: var(--#{$prefix}popover-border-width);\n        border-bottom-color: var(--#{$prefix}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(--#{$prefix}popover-arrow-width);\n      margin-left: calc(-.5 * var(--#{$prefix}popover-arrow-width));\n      content: \"\";\n      border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-header-bg);\n    }\n  }\n\n  /* rtl:begin:ignore */\n  .bs-popover-start {\n    > .popover-arrow {\n      right: calc(-1 * (var(--#{$prefix}popover-arrow-height)) - var(--#{$prefix}popover-border-width));\n      width: var(--#{$prefix}popover-arrow-height);\n      height: var(--#{$prefix}popover-arrow-width);\n\n      &::before,\n      &::after {\n        border-width: calc(var(--#{$prefix}popover-arrow-width) * .5) 0 calc(var(--#{$prefix}popover-arrow-width) * .5) var(--#{$prefix}popover-arrow-height);\n      }\n\n      &::before {\n        right: 0;\n        border-left-color: var(--#{$prefix}popover-arrow-border);\n      }\n\n      &::after {\n        right: var(--#{$prefix}popover-border-width);\n        border-left-color: var(--#{$prefix}popover-bg);\n      }\n    }\n  }\n\n  /* rtl:end:ignore */\n\n  .bs-popover-auto {\n    &[data-popper-placement^=\"top\"] {\n      @extend .bs-popover-top;\n    }\n    &[data-popper-placement^=\"right\"] {\n      @extend .bs-popover-end;\n    }\n    &[data-popper-placement^=\"bottom\"] {\n      @extend .bs-popover-bottom;\n    }\n    &[data-popper-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(--#{$prefix}popover-header-padding-y) var(--#{$prefix}popover-header-padding-x);\n    margin-bottom: 0; // Reset the default from Reboot\n    @include font-size(var(--#{$prefix}popover-header-font-size));\n    color: var(--#{$prefix}popover-header-color);\n    background-color: var(--#{$prefix}popover-header-bg);\n    border-bottom: var(--#{$prefix}popover-border-width) solid var(--#{$prefix}popover-border-color);\n    @include border-top-radius(var(--#{$prefix}popover-inner-border-radius));\n\n    &:empty {\n      display: none;\n    }\n  }\n\n  .popover-body {\n    padding: var(--#{$prefix}popover-body-padding-y) var(--#{$prefix}popover-body-padding-x);\n    color: var(--#{$prefix}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@use \"vendor/rfs\" 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(--#{$prefix}secondary-bg) !default;\n$progress-border-radius:            var(--#{$prefix}border-radius) !default;\n$progress-box-shadow:               var(--#{$prefix}box-shadow-inset) !default;\n$progress-bar-color:                $white !default;\n$progress-bar-bg:                   $primary !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(--#{$prefix}progress-height); }\n    }\n  }\n  // scss-docs-end progress-keyframes\n\n  .progress,\n  .progress-stacked {\n    // scss-docs-start progress-css-vars\n    --#{$prefix}progress-height: #{$progress-height};\n    @include rfs($progress-font-size, --#{$prefix}progress-font-size);\n    --#{$prefix}progress-bg: #{$progress-bg};\n    --#{$prefix}progress-border-radius: #{$progress-border-radius};\n    --#{$prefix}progress-box-shadow: #{$progress-box-shadow};\n    --#{$prefix}progress-bar-color: #{$progress-bar-color};\n    --#{$prefix}progress-bar-bg: #{$progress-bar-bg};\n    --#{$prefix}progress-bar-transition: #{$progress-bar-transition};\n    // scss-docs-end progress-css-vars\n\n    display: flex;\n    height: var(--#{$prefix}progress-height);\n    overflow: hidden; // force rounded corners by cropping it\n    @include font-size(var(--#{$prefix}progress-font-size));\n    background-color: var(--#{$prefix}progress-bg);\n    @include border-radius(var(--#{$prefix}progress-border-radius));\n    @include box-shadow(var(--#{$prefix}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(--#{$prefix}progress-bar-color);\n    text-align: center;\n    white-space: nowrap;\n    background-color: var(--#{$prefix}progress-bar-bg);\n    @include transition(var(--#{$prefix}progress-bar-transition));\n  }\n\n  .progress-bar-striped {\n    @include gradient-striped();\n    background-size: var(--#{$prefix}progress-height) var(--#{$prefix}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(--#{$prefix}spinner-width);\n    height: var(--#{$prefix}spinner-height);\n    vertical-align: var(--#{$prefix}spinner-vertical-align);\n    // stylelint-disable-next-line property-disallowed-list\n    border-radius: 50%;\n    animation: var(--#{$prefix}spinner-animation-speed) linear infinite var(--#{$prefix}spinner-animation-name);\n  }\n\n  // scss-docs-start spinner-border-keyframes\n  @keyframes spinner-border {\n    to { transform: rotate(360deg) #{\"/* rtl:ignore */\"}; }\n  }\n  // scss-docs-end spinner-border-keyframes\n\n  .spinner-border {\n    // scss-docs-start spinner-border-css-vars\n    --#{$prefix}spinner-width: #{$spinner-width};\n    --#{$prefix}spinner-height: #{$spinner-height};\n    --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n    --#{$prefix}spinner-border-width: #{$spinner-border-width};\n    --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n    --#{$prefix}spinner-animation-name: spinner-border;\n    // scss-docs-end spinner-border-css-vars\n\n    border: var(--#{$prefix}spinner-border-width) solid currentcolor;\n    border-right-color: transparent;\n  }\n\n  .spinner-border-sm {\n    // scss-docs-start spinner-border-sm-css-vars\n    --#{$prefix}spinner-width: #{$spinner-width-sm};\n    --#{$prefix}spinner-height: #{$spinner-height-sm};\n    --#{$prefix}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    --#{$prefix}spinner-width: #{$spinner-width};\n    --#{$prefix}spinner-height: #{$spinner-height};\n    --#{$prefix}spinner-vertical-align: #{$spinner-vertical-align};\n    --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed};\n    --#{$prefix}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    --#{$prefix}spinner-width: #{$spinner-width-sm};\n    --#{$prefix}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        --#{$prefix}spinner-animation-speed: #{$spinner-animation-speed * 2};\n      }\n    }\n  }\n}\n","@use \"config\" as *;\n@use \"variables\" as *;\n@use \"mixins/border-radius\" as *;\n@use \"vendor/rfs\" 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(--#{$prefix}body-bg-rgb), .85) !default;\n$toast-border-width:                var(--#{$prefix}border-width) !default;\n$toast-border-color:                var(--#{$prefix}border-color-translucent) !default;\n$toast-border-radius:               var(--#{$prefix}border-radius) !default;\n$toast-box-shadow:                  var(--#{$prefix}box-shadow) !default;\n$toast-spacing:                     $container-padding-x !default;\n\n$toast-header-color:                var(--#{$prefix}secondary-color) !default;\n$toast-header-background-color:     rgba(var(--#{$prefix}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    --#{$prefix}toast-zindex: #{$zindex-toast};\n    --#{$prefix}toast-padding-x: #{$toast-padding-x};\n    --#{$prefix}toast-padding-y: #{$toast-padding-y};\n    --#{$prefix}toast-spacing: #{$toast-spacing};\n    --#{$prefix}toast-max-width: #{$toast-max-width};\n    @include rfs($toast-font-size, --#{$prefix}toast-font-size);\n    --#{$prefix}toast-color: #{$toast-color};\n    --#{$prefix}toast-bg: #{$toast-background-color};\n    --#{$prefix}toast-border-width: #{$toast-border-width};\n    --#{$prefix}toast-border-color: #{$toast-border-color};\n    --#{$prefix}toast-border-radius: #{$toast-border-radius};\n    --#{$prefix}toast-box-shadow: #{$toast-box-shadow};\n    --#{$prefix}toast-header-color: #{$toast-header-color};\n    --#{$prefix}toast-header-bg: #{$toast-header-background-color};\n    --#{$prefix}toast-header-border-color: #{$toast-header-border-color};\n    // scss-docs-end toast-css-vars\n\n    width: var(--#{$prefix}toast-max-width);\n    max-width: 100%;\n    @include font-size(var(--#{$prefix}toast-font-size));\n    color: var(--#{$prefix}toast-color);\n    pointer-events: auto;\n    background-color: var(--#{$prefix}toast-bg);\n    background-clip: padding-box;\n    border: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-border-color);\n    box-shadow: var(--#{$prefix}toast-box-shadow);\n    @include border-radius(var(--#{$prefix}toast-border-radius));\n\n    &.showing {\n      opacity: 0;\n    }\n\n    &:not(.show) {\n      display: none;\n    }\n  }\n\n  .toast-container {\n    --#{$prefix}toast-zindex: #{$zindex-toast};\n\n    position: absolute;\n    z-index: var(--#{$prefix}toast-zindex);\n    width: max-content;\n    max-width: 100%;\n    pointer-events: none;\n\n    > :not(:last-child) {\n      margin-bottom: var(--#{$prefix}toast-spacing);\n    }\n  }\n\n  .toast-header {\n    display: flex;\n    align-items: center;\n    padding: var(--#{$prefix}toast-padding-y) var(--#{$prefix}toast-padding-x);\n    color: var(--#{$prefix}toast-header-color);\n    background-color: var(--#{$prefix}toast-header-bg);\n    background-clip: padding-box;\n    border-bottom: var(--#{$prefix}toast-border-width) solid var(--#{$prefix}toast-header-border-color);\n    @include border-top-radius(calc(var(--#{$prefix}toast-border-radius) - var(--#{$prefix}toast-border-width)));\n\n    .btn-close {\n      margin-right: calc(-.5 * var(--#{$prefix}toast-padding-x));\n      margin-left: var(--#{$prefix}toast-padding-x);\n    }\n  }\n\n  .toast-body {\n    padding: var(--#{$prefix}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 \"../colors\" as *;\n@use \"../config\" as *;\n@use \"../variables\" as *;\n\n@layer helpers {\n  // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n  @each $color, $value in $theme-colors {\n    .text-bg-#{$color} {\n      color: color-contrast($value) if($enable-important-utilities, !important, null);\n      background-color: RGBA(var(--#{$prefix}#{$color}-rgb), var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);\n    }\n  }\n}\n","@use \"../config\" as *;\n@use \"../colors\" as *;\n@use \"../variables\" as *;\n\n// All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251\n@layer helpers {\n  @each $color, $value in $theme-colors {\n    .link-#{$color} {\n      color: color-mix(in srgb, var(--#{$prefix}#{$color}), transparent var(--#{$prefix}link-opacity));\n      text-decoration-color: color-mix(in srgb, var(--#{$prefix}#{$color}), transparent var(--#{$prefix}link-underline-opacity));\n\n      @if $link-shade-percentage != 0 {\n        &:hover,\n        &:focus {\n          $hover-color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage));\n          color: color-mix(in srgb, $hover-color, transparent var(--#{$prefix}link-opacity));\n          text-decoration-color: color-mix(in srgb, $hover-color, transparent var(--#{$prefix}link-underline-opacity));\n        }\n      }\n    }\n  }\n\n  // One-off special link helper as a bridge until v6\n  .link-body-emphasis {\n    color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity));\n    text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity));\n\n    @if $link-shade-percentage != 0 {\n      &:hover,\n      &:focus {\n        color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-opacity, .75));\n        text-decoration-color: color-mix(in srgb, var(--#{$prefix}emphasis-color), transparent var(--#{$prefix}link-underline-opacity, .75));\n      }\n    }\n  }\n}\n","@use \"../config\" as *;\n\n@layer helpers {\n  .focus-ring:focus-visible {\n    outline: var(--#{$prefix}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(--#{$prefix}link-color-rgb), var(--#{$prefix}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(--#{$prefix}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    top: 0;\n    right: 0;\n    left: 0;\n    z-index: $zindex-fixed;\n  }\n\n  .fixed-bottom {\n    position: fixed;\n    right: 0;\n    bottom: 0;\n    left: 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","@layer helpers {\n  // scss-docs-start stacks\n  .hstack {\n    display: flex;\n    flex-direction: row;\n    align-items: center;\n    align-self: stretch;\n  }\n\n  .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      top: 0;\n      right: 0;\n      bottom: 0;\n      left: 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: currentcolor;\n    opacity: $hr-opacity;\n  }\n}\n","@use \"sass:map\";\n@use \"sass:meta\";\n@use \"../config\" as *;\n@use \"../variables\" as *;\n@use \"../vendor/rfs\" 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  // RFS rescaling\n  @media (min-width: $rfs-mq-value) {\n    @each $breakpoint in map.keys($grid-breakpoints) {\n      $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n      @if (map.get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\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, rfs) and (map.get($utility, responsive) or $infix == \"\") {\n            @include generate-utility($utility, $infix, true);\n          }\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// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix: \"\", $is-rfs-media-query: false) {\n  $values: map.get($utility, values);\n\n  // If the values are a list or string, convert it into a map\n  @if meta.type-of($values) == \"string\" or meta.type-of(list.nth($values, 1)) != \"list\" {\n    // A single value is converted to a map with a null key.\n    @if list.length($values) == 1 {\n      $values: (null: list.nth($values, 1));\n    } @else {\n      $values: list.zip($values, $values);\n    }\n  }\n\n  @each $key, $value in $values {\n    $properties: map.get($utility, property);\n\n    // 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\n    // Use custom class if present\n    $property-class: if(map.has-key($utility, class), map.get($utility, class), list.nth($properties, 1));\n    $property-class: if($property-class == null, \"\", $property-class);\n\n    // Use custom CSS variable name if present, otherwise default to `class`\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 pseudo-classes\n    $state: if(map.has-key($utility, state), map.get($utility, state), ());\n\n    $infix: if($property-class == \"\" and string.slice($infix, 1, 1) == \"-\", string.slice($infix, 2), $infix);\n\n    // Don't prefix if value key is null (e.g. with shadow class)\n    $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n    @if map.get($utility, rfs) {\n      // Inside the media query\n      @if $is-rfs-media-query {\n        $val: rfs-value($value);\n\n        // Do not render anything if fluid and non fluid values are the same\n        $value: if($val == rfs-fluid-value($value), null, $val);\n      }\n      @else {\n        $value: rfs-fluid-value($value);\n      }\n    }\n\n    $is-css-var: map.get($utility, css-var);\n    $is-local-vars: map.get($utility, local-vars);\n    $is-rtl: map.get($utility, rtl);\n\n    @if $value != null {\n      @if $is-rtl == false {\n        /* rtl:begin:remove */\n      }\n\n      @if $is-css-var {\n        .#{$property-class + $infix + $property-class-modifier} {\n          --#{$prefix}#{$css-variable-name}: #{$value};\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            --#{$prefix}#{$css-variable-name}: #{$value};\n          }\n        }\n      } @else {\n        .#{$property-class + $infix + $property-class-modifier} {\n          @each $property in $properties {\n            @if $is-local-vars {\n              @each $local-var, $variable in $is-local-vars {\n                --#{$prefix}#{$local-var}: #{$variable};\n              }\n            }\n            #{$property}: $value if($enable-important-utilities, !important, null);\n          }\n        }\n\n        @each $pseudo in $state {\n          .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n            @each $property in $properties {\n              @if $is-local-vars {\n                @each $local-var, $variable in $is-local-vars {\n                  --#{$prefix}#{$local-var}: #{$variable};\n                }\n              }\n              #{$property}: $value if($enable-important-utilities, !important, null);\n            }\n          }\n        }\n      }\n\n      @if $is-rtl == false {\n        /* rtl:end:remove */\n      }\n    }\n  }\n}\n"]}
\ No newline at end of file
index ae543803aa5d9103bb933391579dd6663aa8e681..dca4f38bd704d2bc61fca3a708ed0ae1c06ee96d 100644 (file)
    * Constants
    */
 
-  const NAME$f = 'alert';
-  const DATA_KEY$a = 'bs.alert';
-  const EVENT_KEY$b = `.${DATA_KEY$a}`;
-  const EVENT_CLOSE = `close${EVENT_KEY$b}`;
-  const EVENT_CLOSED = `closed${EVENT_KEY$b}`;
-  const CLASS_NAME_FADE$5 = 'fade';
-  const CLASS_NAME_SHOW$8 = 'show';
+  const NAME$g = 'alert';
+  const DATA_KEY$b = 'bs.alert';
+  const EVENT_KEY$c = `.${DATA_KEY$b}`;
+  const EVENT_CLOSE = `close${EVENT_KEY$c}`;
+  const EVENT_CLOSED = `closed${EVENT_KEY$c}`;
+  const CLASS_NAME_FADE$6 = 'fade';
+  const CLASS_NAME_SHOW$9 = 'show';
 
   /**
    * Class definition
   class Alert extends BaseComponent {
     // Getters
     static get NAME() {
-      return NAME$f;
+      return NAME$g;
     }
 
     // Public
       if (closeEvent.defaultPrevented) {
         return;
       }
-      this._element.classList.remove(CLASS_NAME_SHOW$8);
-      const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);
+      this._element.classList.remove(CLASS_NAME_SHOW$9);
+      const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$6);
       this._queueCallback(() => this._destroyElement(), this._element, isAnimated);
     }
 
    * Constants
    */
 
-  const NAME$e = 'button';
-  const DATA_KEY$9 = 'bs.button';
-  const EVENT_KEY$a = `.${DATA_KEY$9}`;
-  const DATA_API_KEY$6 = '.data-api';
+  const NAME$f = 'button';
+  const DATA_KEY$a = 'bs.button';
+  const EVENT_KEY$b = `.${DATA_KEY$a}`;
+  const DATA_API_KEY$7 = '.data-api';
   const CLASS_NAME_ACTIVE$3 = 'active';
-  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]';
-  const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
+  const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="button"]';
+  const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
 
   /**
    * Class definition
   class Button extends BaseComponent {
     // Getters
     static get NAME() {
-      return NAME$e;
+      return NAME$f;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$6, event => {
     event.preventDefault();
-    const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
+    const button = event.target.closest(SELECTOR_DATA_TOGGLE$6);
     const data = Button.getOrCreateInstance(button);
     data.toggle();
   });
    * Constants
    */
 
-  const NAME$d = 'swipe';
-  const EVENT_KEY$9 = '.bs.swipe';
-  const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;
-  const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;
-  const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;
-  const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;
-  const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;
+  const NAME$e = 'swipe';
+  const EVENT_KEY$a = '.bs.swipe';
+  const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$a}`;
+  const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$a}`;
+  const EVENT_TOUCHEND = `touchend${EVENT_KEY$a}`;
+  const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$a}`;
+  const EVENT_POINTERUP = `pointerup${EVENT_KEY$a}`;
   const POINTER_TYPE_TOUCH = 'touch';
   const POINTER_TYPE_PEN = 'pen';
   const CLASS_NAME_POINTER_EVENT = 'pointer-event';
   const SWIPE_THRESHOLD = 40;
-  const Default$c = {
+  const Default$d = {
     endCallback: null,
     leftCallback: null,
     rightCallback: null
   };
-  const DefaultType$c = {
+  const DefaultType$d = {
     endCallback: '(function|null)',
     leftCallback: '(function|null)',
     rightCallback: '(function|null)'
 
     // Getters
     static get Default() {
-      return Default$c;
+      return Default$d;
     }
     static get DefaultType() {
-      return DefaultType$c;
+      return DefaultType$d;
     }
     static get NAME() {
-      return NAME$d;
+      return NAME$e;
     }
 
     // Public
     dispose() {
-      EventHandler.off(this._element, EVENT_KEY$9);
+      EventHandler.off(this._element, EVENT_KEY$a);
     }
 
     // Private
    * Constants
    */
 
-  const NAME$c = 'carousel';
-  const DATA_KEY$8 = 'bs.carousel';
-  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
-  const DATA_API_KEY$5 = '.data-api';
+  const NAME$d = 'carousel';
+  const DATA_KEY$9 = 'bs.carousel';
+  const EVENT_KEY$9 = `.${DATA_KEY$9}`;
+  const DATA_API_KEY$6 = '.data-api';
   const ARROW_LEFT_KEY$1 = 'ArrowLeft';
   const ARROW_RIGHT_KEY$1 = 'ArrowRight';
   const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
   const ORDER_PREV = 'prev';
   const DIRECTION_LEFT = 'left';
   const DIRECTION_RIGHT = 'right';
-  const EVENT_SLIDE = `slide${EVENT_KEY$8}`;
-  const EVENT_SLID = `slid${EVENT_KEY$8}`;
-  const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;
-  const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;
-  const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;
-  const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;
-  const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;
-  const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
+  const EVENT_SLIDE = `slide${EVENT_KEY$9}`;
+  const EVENT_SLID = `slid${EVENT_KEY$9}`;
+  const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$9}`;
+  const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$9}`;
+  const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$9}`;
+  const EVENT_DRAG_START = `dragstart${EVENT_KEY$9}`;
+  const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$9}${DATA_API_KEY$6}`;
+  const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
   const CLASS_NAME_CAROUSEL = 'carousel';
   const CLASS_NAME_ACTIVE$2 = 'active';
   const CLASS_NAME_SLIDE = 'slide';
     [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
     [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
   };
-  const Default$b = {
+  const Default$c = {
     interval: 5000,
     keyboard: true,
     pause: 'hover',
     touch: true,
     wrap: true
   };
-  const DefaultType$b = {
+  const DefaultType$c = {
     interval: '(number|boolean)',
     // TODO:v6 remove boolean support
     keyboard: 'boolean',
 
     // Getters
     static get Default() {
-      return Default$b;
+      return Default$c;
     }
     static get DefaultType() {
-      return DefaultType$b;
+      return DefaultType$c;
     }
     static get NAME() {
-      return NAME$c;
+      return NAME$d;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, function (event) {
     const target = SelectorEngine.getElementFromSelector(this);
     if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
       return;
    * Constants
    */
 
-  const NAME$b = 'collapse';
-  const DATA_KEY$7 = 'bs.collapse';
-  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
-  const DATA_API_KEY$4 = '.data-api';
-  const EVENT_SHOW$6 = `show${EVENT_KEY$7}`;
-  const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;
-  const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;
-  const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;
-  const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
-  const CLASS_NAME_SHOW$7 = 'show';
+  const NAME$c = 'collapse';
+  const DATA_KEY$8 = 'bs.collapse';
+  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
+  const DATA_API_KEY$5 = '.data-api';
+  const EVENT_SHOW$7 = `show${EVENT_KEY$8}`;
+  const EVENT_SHOWN$7 = `shown${EVENT_KEY$8}`;
+  const EVENT_HIDE$7 = `hide${EVENT_KEY$8}`;
+  const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$8}`;
+  const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
+  const CLASS_NAME_SHOW$8 = 'show';
   const CLASS_NAME_COLLAPSE = 'collapse';
   const CLASS_NAME_COLLAPSING = 'collapsing';
   const CLASS_NAME_COLLAPSED = 'collapsed';
   const WIDTH = 'width';
   const HEIGHT = 'height';
   const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
-  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
-  const Default$a = {
+  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="collapse"]';
+  const Default$b = {
     parent: null,
     toggle: true
   };
-  const DefaultType$a = {
+  const DefaultType$b = {
     parent: '(null|element)',
     toggle: 'boolean'
   };
       super(element, config);
       this._isTransitioning = false;
       this._triggerArray = [];
-      const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);
+      const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$5);
       for (const elem of toggleList) {
         const selector = SelectorEngine.getSelectorFromElement(elem);
         const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
 
     // Getters
     static get Default() {
-      return Default$a;
+      return Default$b;
     }
     static get DefaultType() {
-      return DefaultType$a;
+      return DefaultType$b;
     }
     static get NAME() {
-      return NAME$b;
+      return NAME$c;
     }
 
     // Public
       if (activeChildren.length && activeChildren[0]._isTransitioning) {
         return;
       }
-      const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
+      const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$7);
       if (startEvent.defaultPrevented) {
         return;
       }
       const complete = () => {
         this._isTransitioning = false;
         this._element.classList.remove(CLASS_NAME_COLLAPSING);
-        this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
+        this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
         this._element.style[dimension] = '';
-        EventHandler.trigger(this._element, EVENT_SHOWN$6);
+        EventHandler.trigger(this._element, EVENT_SHOWN$7);
       };
       const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
       const scrollSize = `scroll${capitalizedDimension}`;
       if (this._isTransitioning || !this._isShown()) {
         return;
       }
-      const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+      const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$7);
       if (startEvent.defaultPrevented) {
         return;
       }
       this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
       reflow(this._element);
       this._element.classList.add(CLASS_NAME_COLLAPSING);
-      this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
+      this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
       for (const trigger of this._triggerArray) {
         const element = SelectorEngine.getElementFromSelector(trigger);
         if (element && !this._isShown(element)) {
         this._isTransitioning = false;
         this._element.classList.remove(CLASS_NAME_COLLAPSING);
         this._element.classList.add(CLASS_NAME_COLLAPSE);
-        EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+        EventHandler.trigger(this._element, EVENT_HIDDEN$7);
       };
       this._element.style[dimension] = '';
       this._queueCallback(complete, this._element, true);
 
     // Private
     _isShown(element = this._element) {
-      return element.classList.contains(CLASS_NAME_SHOW$7);
+      return element.classList.contains(CLASS_NAME_SHOW$8);
     }
     _configAfterMerge(config) {
       config.toggle = Boolean(config.toggle); // Coerce string values
       if (!this._config.parent) {
         return;
       }
-      const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);
+      const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$5);
       for (const element of children) {
         const selected = SelectorEngine.getElementFromSelector(element);
         if (selected) {
     }
   }
 
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$5, function (event) {
+    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
+    if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
+      event.preventDefault();
+    }
+    for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {
+      Collapse.getOrCreateInstance(element, {
+        toggle: false
+      }).toggle();
+    }
+  });
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap util/backdrop.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$b = 'backdrop';
+  const CLASS_NAME_FADE$5 = 'fade';
+  const CLASS_NAME_SHOW$7 = 'show';
+  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$b}`;
+  const Default$a = {
+    className: 'modal-backdrop',
+    clickCallback: null,
+    isAnimated: false,
+    isVisible: true,
+    // if false, we use the backdrop helper without adding any element to the dom
+    rootElement: 'body' // give the choice to place backdrop under different elements
+  };
+  const DefaultType$a = {
+    className: 'string',
+    clickCallback: '(function|null)',
+    isAnimated: 'boolean',
+    isVisible: 'boolean',
+    rootElement: '(element|string)'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Backdrop extends Config {
+    constructor(config) {
+      super();
+      this._config = this._getConfig(config);
+      this._isAppended = false;
+      this._element = null;
+    }
+
+    // Getters
+    static get Default() {
+      return Default$a;
+    }
+    static get DefaultType() {
+      return DefaultType$a;
+    }
+    static get NAME() {
+      return NAME$b;
+    }
+
+    // Public
+    show(callback) {
+      if (!this._config.isVisible) {
+        execute(callback);
+        return;
+      }
+      this._append();
+      const element = this._getElement();
+      if (this._config.isAnimated) {
+        reflow(element);
+      }
+      element.classList.add(CLASS_NAME_SHOW$7);
+      this._emulateAnimation(() => {
+        execute(callback);
+      });
+    }
+    hide(callback) {
+      if (!this._config.isVisible) {
+        execute(callback);
+        return;
+      }
+      this._getElement().classList.remove(CLASS_NAME_SHOW$7);
+      this._emulateAnimation(() => {
+        this.dispose();
+        execute(callback);
+      });
+    }
+    dispose() {
+      if (!this._isAppended) {
+        return;
+      }
+      EventHandler.off(this._element, EVENT_MOUSEDOWN);
+      this._element.remove();
+      this._isAppended = false;
+    }
+
+    // Private
+    _getElement() {
+      if (!this._element) {
+        const backdrop = document.createElement('div');
+        backdrop.className = this._config.className;
+        if (this._config.isAnimated) {
+          backdrop.classList.add(CLASS_NAME_FADE$5);
+        }
+        this._element = backdrop;
+      }
+      return this._element;
+    }
+    _configAfterMerge(config) {
+      // use getElement() with the default "body" to get a fresh Element on each instantiation
+      config.rootElement = getElement(config.rootElement);
+      return config;
+    }
+    _append() {
+      if (this._isAppended) {
+        return;
+      }
+      const element = this._getElement();
+      this._config.rootElement.append(element);
+      EventHandler.on(element, EVENT_MOUSEDOWN, () => {
+        execute(this._config.clickCallback);
+      });
+      this._isAppended = true;
+    }
+    _emulateAnimation(callback) {
+      executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
+    }
+  }
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap util/focustrap.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$a = 'focustrap';
+  const DATA_KEY$7 = 'bs.focustrap';
+  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
+  const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$7}`;
+  const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
+  const TAB_KEY$1 = 'Tab';
+  const TAB_NAV_FORWARD = 'forward';
+  const TAB_NAV_BACKWARD = 'backward';
+  const Default$9 = {
+    autofocus: true,
+    trapElement: null // The element to trap focus inside of
+  };
+  const DefaultType$9 = {
+    autofocus: 'boolean',
+    trapElement: 'element'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class FocusTrap extends Config {
+    constructor(config) {
+      super();
+      this._config = this._getConfig(config);
+      this._isActive = false;
+      this._lastTabNavDirection = null;
+    }
+
+    // Getters
+    static get Default() {
+      return Default$9;
+    }
+    static get DefaultType() {
+      return DefaultType$9;
+    }
+    static get NAME() {
+      return NAME$a;
+    }
+
+    // Public
+    activate() {
+      if (this._isActive) {
+        return;
+      }
+      if (this._config.autofocus) {
+        this._config.trapElement.focus();
+      }
+      EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
+      EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
+      EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
+      this._isActive = true;
+    }
+    deactivate() {
+      if (!this._isActive) {
+        return;
+      }
+      this._isActive = false;
+      EventHandler.off(document, EVENT_KEY$7);
+    }
+
+    // Private
+    _handleFocusin(event) {
+      const {
+        trapElement
+      } = this._config;
+      if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {
+        return;
+      }
+      const elements = SelectorEngine.focusableChildren(trapElement);
+      if (elements.length === 0) {
+        trapElement.focus();
+      } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {
+        elements[elements.length - 1].focus();
+      } else {
+        elements[0].focus();
+      }
+    }
+    _handleKeydown(event) {
+      if (event.key !== TAB_KEY$1) {
+        return;
+      }
+      this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;
+    }
+  }
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap dialog.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$9 = 'dialog';
+  const DATA_KEY$6 = 'bs.dialog';
+  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
+  const DATA_API_KEY$4 = '.data-api';
+  const ESCAPE_KEY$3 = 'Escape';
+  const EVENT_HIDE$6 = `hide${EVENT_KEY$6}`;
+  const EVENT_HIDE_PREVENTED$2 = `hidePrevented${EVENT_KEY$6}`;
+  const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$6}`;
+  const EVENT_SHOW$6 = `show${EVENT_KEY$6}`;
+  const EVENT_SHOWN$6 = `shown${EVENT_KEY$6}`;
+  const EVENT_RESIZE$2 = `resize${EVENT_KEY$6}`;
+  const EVENT_CLICK_DISMISS$1 = `click.dismiss${EVENT_KEY$6}`;
+  const EVENT_MOUSEDOWN_DISMISS$1 = `mousedown.dismiss${EVENT_KEY$6}`;
+  const EVENT_KEYDOWN_DISMISS$2 = `keydown.dismiss${EVENT_KEY$6}`;
+  const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$6}${DATA_API_KEY$4}`;
+  const CLASS_NAME_OPEN$1 = 'dialog-open';
+  const CLASS_NAME_FADE$4 = 'fade';
+  const CLASS_NAME_SHOW$6 = 'show';
+  const CLASS_NAME_STATIC$1 = 'dialog-static';
+  const OPEN_SELECTOR$2 = '.dialog.show';
+  const SELECTOR_DIALOG_CONTENT = '.dialog-content';
+  const SELECTOR_DIALOG_BODY = '.dialog-body';
+  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="dialog"]';
+  const Default$8 = {
+    backdrop: true,
+    focus: true,
+    keyboard: true,
+    modal: true
+  };
+  const DefaultType$8 = {
+    backdrop: '(boolean|string)',
+    focus: 'boolean',
+    keyboard: 'boolean',
+    modal: 'boolean'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Dialog extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._dialogContent = SelectorEngine.findOne(SELECTOR_DIALOG_CONTENT, this._element);
+      this._backdrop = this._initializeBackDrop();
+      this._focustrap = this._initializeFocusTrap();
+      this._isShown = false;
+      this._isTransitioning = false;
+      this._addEventListeners();
+    }
+
+    // Getters
+    static get Default() {
+      return Default$8;
+    }
+    static get DefaultType() {
+      return DefaultType$8;
+    }
+    static get NAME() {
+      return NAME$9;
+    }
+
+    // Public
+    toggle(relatedTarget) {
+      return this._isShown ? this.hide() : this.show(relatedTarget);
+    }
+    show(relatedTarget) {
+      if (this._isShown || this._isTransitioning) {
+        return;
+      }
+      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6, {
+        relatedTarget
+      });
+      if (showEvent.defaultPrevented) {
+        return;
+      }
+      this._isShown = true;
+      this._isTransitioning = true;
+
+      // Use scrollbar-gutter CSS property instead of manual scrollbar handling
+      document.body.style.scrollbarGutter = 'stable';
+      document.body.classList.add(CLASS_NAME_OPEN$1);
+      this._backdrop.show(() => this._showElement(relatedTarget));
+    }
+    hide() {
+      if (!this._isShown || this._isTransitioning) {
+        return;
+      }
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      this._isShown = false;
+      this._isTransitioning = true;
+      this._focustrap.deactivate();
+      this._element.classList.remove(CLASS_NAME_SHOW$6);
+      this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated());
+    }
+    dispose() {
+      EventHandler.off(window, EVENT_KEY$6);
+      EventHandler.off(this._element, EVENT_KEY$6);
+      this._backdrop.dispose();
+      this._focustrap.deactivate();
+      super.dispose();
+    }
+    handleUpdate() {
+      // No dialog adjustments needed with native dialog element
+    }
+
+    // Private
+    _initializeBackDrop() {
+      return new Backdrop({
+        isVisible: Boolean(this._config.backdrop),
+        // 'static' option will be translated to true, and booleans will keep their value,
+        isAnimated: this._isAnimated(),
+        className: 'dialog-backdrop'
+      });
+    }
+    _initializeFocusTrap() {
+      return new FocusTrap({
+        trapElement: this._element
+      });
+    }
+    _showElement(relatedTarget) {
+      // try to append dynamic dialog
+      if (!document.body.contains(this._element)) {
+        document.body.append(this._element);
+      }
+
+      // Use native dialog methods
+      if (this._config.modal) {
+        this._element.showModal();
+      } else {
+        this._element.show();
+      }
+      this._element.scrollTop = 0;
+      const dialogBody = SelectorEngine.findOne(SELECTOR_DIALOG_BODY, this._dialogContent);
+      if (dialogBody) {
+        dialogBody.scrollTop = 0;
+      }
+      reflow(this._element);
+      this._element.classList.add(CLASS_NAME_SHOW$6);
+      const transitionComplete = () => {
+        if (this._config.focus) {
+          this._focustrap.activate();
+        }
+        this._isTransitioning = false;
+        EventHandler.trigger(this._element, EVENT_SHOWN$6, {
+          relatedTarget
+        });
+      };
+      this._queueCallback(transitionComplete, this._dialogContent, this._isAnimated());
+    }
+    _addEventListeners() {
+      EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$2, event => {
+        if (event.key !== ESCAPE_KEY$3) {
+          return;
+        }
+        if (this._config.keyboard) {
+          this.hide();
+          return;
+        }
+        this._triggerBackdropTransition();
+      });
+      EventHandler.on(window, EVENT_RESIZE$2, () => {
+        if (this._isShown && !this._isTransitioning) ;
+      });
+      EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS$1, event => {
+        // Handle click outside dialog content
+        EventHandler.one(this._element, EVENT_CLICK_DISMISS$1, event2 => {
+          if (this._element !== event.target || this._element !== event2.target) {
+            return;
+          }
+          if (this._config.backdrop === 'static') {
+            this._triggerBackdropTransition();
+            return;
+          }
+          if (this._config.backdrop) {
+            this.hide();
+          }
+        });
+      });
+    }
+    _hideDialog() {
+      // Use native dialog close method
+      this._element.close();
+      this._isTransitioning = false;
+      this._backdrop.hide(() => {
+        document.body.classList.remove(CLASS_NAME_OPEN$1);
+        document.body.style.scrollbarGutter = '';
+        EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+      });
+    }
+    _isAnimated() {
+      return this._element.classList.contains(CLASS_NAME_FADE$4);
+    }
+    _triggerBackdropTransition() {
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$2);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      const isDialogOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+      const initialOverflowY = this._element.style.overflowY;
+      // return if the following background transition hasn't yet completed
+      if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC$1)) {
+        return;
+      }
+      if (!isDialogOverflowing) {
+        this._element.style.overflowY = 'hidden';
+      }
+      this._element.classList.add(CLASS_NAME_STATIC$1);
+      this._queueCallback(() => {
+        this._element.classList.remove(CLASS_NAME_STATIC$1);
+        this._queueCallback(() => {
+          this._element.style.overflowY = initialOverflowY;
+        }, this._dialogContent);
+      }, this._dialogContent);
+      this._element.focus();
+    }
+
+    // Static
+    static jQueryInterface(config, relatedTarget) {
+      return this.each(function () {
+        const data = Dialog.getOrCreateInstance(this, config);
+        if (typeof config !== 'string') {
+          return;
+        }
+        if (typeof data[config] === 'undefined') {
+          throw new TypeError(`No method named "${config}"`);
+        }
+        data[config](relatedTarget);
+      });
+    }
+  }
+
   /**
    * Data API implementation
    */
 
   EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
-    // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
-    if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
+    const target = SelectorEngine.getElementFromSelector(this);
+    if (['A', 'AREA'].includes(this.tagName)) {
       event.preventDefault();
     }
-    for (const element of SelectorEngine.getMultipleElementsFromSelector(this)) {
-      Collapse.getOrCreateInstance(element, {
-        toggle: false
-      }).toggle();
+    EventHandler.one(target, EVENT_SHOW$6, showEvent => {
+      if (showEvent.defaultPrevented) {
+        // only register focus restorer if dialog will actually get shown
+        return;
+      }
+      EventHandler.one(target, EVENT_HIDDEN$6, () => {
+        if (isVisible(this)) {
+          this.focus();
+        }
+      });
+    });
+
+    // avoid conflict when clicking dialog toggler while another one is open
+    const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$2);
+    if (alreadyOpen) {
+      Dialog.getInstance(alreadyOpen).hide();
     }
+    const data = Dialog.getOrCreateInstance(target);
+    data.toggle(this);
   });
+  enableDismissTrigger(Dialog);
 
   var top = 'top';
   var bottom = 'bottom';
    * Constants
    */
 
-  const NAME$a = 'dropdown';
-  const DATA_KEY$6 = 'bs.dropdown';
-  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
+  const NAME$8 = 'dropdown';
+  const DATA_KEY$5 = 'bs.dropdown';
+  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
   const DATA_API_KEY$3 = '.data-api';
   const ESCAPE_KEY$2 = 'Escape';
-  const TAB_KEY$1 = 'Tab';
+  const TAB_KEY = 'Tab';
   const ARROW_UP_KEY$1 = 'ArrowUp';
   const ARROW_DOWN_KEY$1 = 'ArrowDown';
   const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
 
-  const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
-  const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
-  const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
-  const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
-  const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
-  const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;
-  const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;
-  const CLASS_NAME_SHOW$6 = 'show';
+  const EVENT_HIDE$5 = `hide${EVENT_KEY$5}`;
+  const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$5}`;
+  const EVENT_SHOW$5 = `show${EVENT_KEY$5}`;
+  const EVENT_SHOWN$5 = `shown${EVENT_KEY$5}`;
+  const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
+  const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$5}${DATA_API_KEY$3}`;
+  const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$5}${DATA_API_KEY$3}`;
+  const CLASS_NAME_SHOW$5 = 'show';
   const CLASS_NAME_DROPUP = 'dropup';
   const CLASS_NAME_DROPEND = 'dropend';
   const CLASS_NAME_DROPSTART = 'dropstart';
   const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
   const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
   const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
-  const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;
+  const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$5}`;
   const SELECTOR_MENU = '.dropdown-menu';
   const SELECTOR_NAVBAR = '.navbar';
   const SELECTOR_NAVBAR_NAV = '.navbar-nav';
   const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
   const PLACEMENT_TOPCENTER = 'top';
   const PLACEMENT_BOTTOMCENTER = 'bottom';
-  const Default$9 = {
+  const Default$7 = {
     autoClose: true,
     boundary: 'clippingParents',
     display: 'dynamic',
     popperConfig: null,
     reference: 'toggle'
   };
-  const DefaultType$9 = {
+  const DefaultType$7 = {
     autoClose: '(boolean|string)',
     boundary: '(string|element)',
     display: 'string',
 
     // Getters
     static get Default() {
-      return Default$9;
+      return Default$7;
     }
     static get DefaultType() {
-      return DefaultType$9;
+      return DefaultType$7;
     }
     static get NAME() {
-      return NAME$a;
+      return NAME$8;
     }
 
     // Public
       }
       this._element.focus();
       this._element.setAttribute('aria-expanded', true);
-      this._menu.classList.add(CLASS_NAME_SHOW$6);
-      this._element.classList.add(CLASS_NAME_SHOW$6);
+      this._menu.classList.add(CLASS_NAME_SHOW$5);
+      this._element.classList.add(CLASS_NAME_SHOW$5);
       EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);
     }
     hide() {
       if (this._popper) {
         this._popper.destroy();
       }
-      this._menu.classList.remove(CLASS_NAME_SHOW$6);
-      this._element.classList.remove(CLASS_NAME_SHOW$6);
+      this._menu.classList.remove(CLASS_NAME_SHOW$5);
+      this._element.classList.remove(CLASS_NAME_SHOW$5);
       this._element.setAttribute('aria-expanded', 'false');
       Manipulator.removeDataAttribute(this._menu, 'popper');
       EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
       config = super._getConfig(config);
       if (typeof config.reference === 'object' && !isElement$1(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
         // Popper virtual elements require a getBoundingClientRect method
-        throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
+        throw new TypeError(`${NAME$8.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
       }
       return config;
     }
       this._popper = createPopper(referenceElement, this._menu, popperConfig);
     }
     _isShown() {
-      return this._menu.classList.contains(CLASS_NAME_SHOW$6);
+      return this._menu.classList.contains(CLASS_NAME_SHOW$5);
     }
     _getPlacement() {
       const parentDropdown = this._parent;
       getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();
     }
     static clearMenus(event) {
-      if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {
+      if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY) {
         return;
       }
       const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);
         }
 
         // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu
-        if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {
+        if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY || /input|select|option|textarea|form/i.test(event.target.tagName))) {
           continue;
         }
         const relatedTarget = {
     Dropdown.getOrCreateInstance(this).toggle();
   });
 
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap util/backdrop.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-
-
-  /**
-   * Constants
-   */
-
-  const NAME$9 = 'backdrop';
-  const CLASS_NAME_FADE$4 = 'fade';
-  const CLASS_NAME_SHOW$5 = 'show';
-  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
-  const Default$8 = {
-    className: 'modal-backdrop',
-    clickCallback: null,
-    isAnimated: false,
-    isVisible: true,
-    // if false, we use the backdrop helper without adding any element to the dom
-    rootElement: 'body' // give the choice to place backdrop under different elements
-  };
-  const DefaultType$8 = {
-    className: 'string',
-    clickCallback: '(function|null)',
-    isAnimated: 'boolean',
-    isVisible: 'boolean',
-    rootElement: '(element|string)'
-  };
-
-  /**
-   * Class definition
-   */
-
-  class Backdrop extends Config {
-    constructor(config) {
-      super();
-      this._config = this._getConfig(config);
-      this._isAppended = false;
-      this._element = null;
-    }
-
-    // Getters
-    static get Default() {
-      return Default$8;
-    }
-    static get DefaultType() {
-      return DefaultType$8;
-    }
-    static get NAME() {
-      return NAME$9;
-    }
-
-    // Public
-    show(callback) {
-      if (!this._config.isVisible) {
-        execute(callback);
-        return;
-      }
-      this._append();
-      const element = this._getElement();
-      if (this._config.isAnimated) {
-        reflow(element);
-      }
-      element.classList.add(CLASS_NAME_SHOW$5);
-      this._emulateAnimation(() => {
-        execute(callback);
-      });
-    }
-    hide(callback) {
-      if (!this._config.isVisible) {
-        execute(callback);
-        return;
-      }
-      this._getElement().classList.remove(CLASS_NAME_SHOW$5);
-      this._emulateAnimation(() => {
-        this.dispose();
-        execute(callback);
-      });
-    }
-    dispose() {
-      if (!this._isAppended) {
-        return;
-      }
-      EventHandler.off(this._element, EVENT_MOUSEDOWN);
-      this._element.remove();
-      this._isAppended = false;
-    }
-
-    // Private
-    _getElement() {
-      if (!this._element) {
-        const backdrop = document.createElement('div');
-        backdrop.className = this._config.className;
-        if (this._config.isAnimated) {
-          backdrop.classList.add(CLASS_NAME_FADE$4);
-        }
-        this._element = backdrop;
-      }
-      return this._element;
-    }
-    _configAfterMerge(config) {
-      // use getElement() with the default "body" to get a fresh Element on each instantiation
-      config.rootElement = getElement(config.rootElement);
-      return config;
-    }
-    _append() {
-      if (this._isAppended) {
-        return;
-      }
-      const element = this._getElement();
-      this._config.rootElement.append(element);
-      EventHandler.on(element, EVENT_MOUSEDOWN, () => {
-        execute(this._config.clickCallback);
-      });
-      this._isAppended = true;
-    }
-    _emulateAnimation(callback) {
-      executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
-    }
-  }
-
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap util/focustrap.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-
-
-  /**
-   * Constants
-   */
-
-  const NAME$8 = 'focustrap';
-  const DATA_KEY$5 = 'bs.focustrap';
-  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
-  const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;
-  const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;
-  const TAB_KEY = 'Tab';
-  const TAB_NAV_FORWARD = 'forward';
-  const TAB_NAV_BACKWARD = 'backward';
-  const Default$7 = {
-    autofocus: true,
-    trapElement: null // The element to trap focus inside of
-  };
-  const DefaultType$7 = {
-    autofocus: 'boolean',
-    trapElement: 'element'
-  };
-
-  /**
-   * Class definition
-   */
-
-  class FocusTrap extends Config {
-    constructor(config) {
-      super();
-      this._config = this._getConfig(config);
-      this._isActive = false;
-      this._lastTabNavDirection = null;
-    }
-
-    // Getters
-    static get Default() {
-      return Default$7;
-    }
-    static get DefaultType() {
-      return DefaultType$7;
-    }
-    static get NAME() {
-      return NAME$8;
-    }
-
-    // Public
-    activate() {
-      if (this._isActive) {
-        return;
-      }
-      if (this._config.autofocus) {
-        this._config.trapElement.focus();
-      }
-      EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop
-      EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
-      EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
-      this._isActive = true;
-    }
-    deactivate() {
-      if (!this._isActive) {
-        return;
-      }
-      this._isActive = false;
-      EventHandler.off(document, EVENT_KEY$5);
-    }
-
-    // Private
-    _handleFocusin(event) {
-      const {
-        trapElement
-      } = this._config;
-      if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {
-        return;
-      }
-      const elements = SelectorEngine.focusableChildren(trapElement);
-      if (elements.length === 0) {
-        trapElement.focus();
-      } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {
-        elements[elements.length - 1].focus();
-      } else {
-        elements[0].focus();
-      }
-    }
-    _handleKeydown(event) {
-      if (event.key !== TAB_KEY) {
-        return;
-      }
-      this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;
-    }
-  }
-
   /**
    * --------------------------------------------------------------------------
    * Bootstrap util/scrollBar.js
     Button,
     Carousel,
     Collapse,
+    Dialog,
     Dropdown,
     Modal,
     Offcanvas,
index 0b86ebcf653bafbcf3752b5f7ff01430a9eab5de..c61ed34320088f9df9d611ae0f82f84555bab3eb 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/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.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/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  // TODO: tooltip passes `false` instead of selector, so we need to check\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  // 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\nexport {\n  enableDismissTrigger\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|boolean)', // TODO:v6 remove boolean support\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    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && 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      // TODO: change tests that use empty divs to avoid this check\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","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n  return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n  return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n  return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n  if (node == null) {\n    return window;\n  }\n\n  if (node.toString() !== '[object Window]') {\n    var ownerDocument = node.ownerDocument;\n    return ownerDocument ? ownerDocument.defaultView || window : window;\n  }\n\n  return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n  var OwnElement = getWindow(node).Element;\n  return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n  var OwnElement = getWindow(node).HTMLElement;\n  return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n  // IE 11 has no ShadowRoot\n  if (typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n\n  var OwnElement = getWindow(node).ShadowRoot;\n  return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n  var state = _ref.state;\n  Object.keys(state.elements).forEach(function (name) {\n    var style = state.styles[name] || {};\n    var attributes = state.attributes[name] || {};\n    var element = state.elements[name]; // arrow is optional + virtual elements\n\n    if (!isHTMLElement(element) || !getNodeName(element)) {\n      return;\n    } // Flow doesn't support to extend this property, but it's the most\n    // effective way to apply styles to an HTMLElement\n    // $FlowFixMe[cannot-write]\n\n\n    Object.assign(element.style, style);\n    Object.keys(attributes).forEach(function (name) {\n      var value = attributes[name];\n\n      if (value === false) {\n        element.removeAttribute(name);\n      } else {\n        element.setAttribute(name, value === true ? '' : value);\n      }\n    });\n  });\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state;\n  var initialStyles = {\n    popper: {\n      position: state.options.strategy,\n      left: '0',\n      top: '0',\n      margin: '0'\n    },\n    arrow: {\n      position: 'absolute'\n    },\n    reference: {}\n  };\n  Object.assign(state.elements.popper.style, initialStyles.popper);\n  state.styles = initialStyles;\n\n  if (state.elements.arrow) {\n    Object.assign(state.elements.arrow.style, initialStyles.arrow);\n  }\n\n  return function () {\n    Object.keys(state.elements).forEach(function (name) {\n      var element = state.elements[name];\n      var attributes = state.attributes[name] || {};\n      var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n      var style = styleProperties.reduce(function (style, property) {\n        style[property] = '';\n        return style;\n      }, {}); // arrow is optional + virtual elements\n\n      if (!isHTMLElement(element) || !getNodeName(element)) {\n        return;\n      }\n\n      Object.assign(element.style, style);\n      Object.keys(attributes).forEach(function (attribute) {\n        element.removeAttribute(attribute);\n      });\n    });\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'applyStyles',\n  enabled: true,\n  phase: 'write',\n  fn: applyStyles,\n  effect: effect,\n  requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n  return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n  var uaData = navigator.userAgentData;\n\n  if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n    return uaData.brands.map(function (item) {\n      return item.brand + \"/\" + item.version;\n    }).join(' ');\n  }\n\n  return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n  return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n\n  var clientRect = element.getBoundingClientRect();\n  var scaleX = 1;\n  var scaleY = 1;\n\n  if (includeScale && isHTMLElement(element)) {\n    scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n    scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n  }\n\n  var _ref = isElement(element) ? getWindow(element) : window,\n      visualViewport = _ref.visualViewport;\n\n  var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n  var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n  var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n  var width = clientRect.width / scaleX;\n  var height = clientRect.height / scaleY;\n  return {\n    width: width,\n    height: height,\n    top: y,\n    right: x + width,\n    bottom: y + height,\n    left: x,\n    x: x,\n    y: y\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n  var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n  // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n  var width = element.offsetWidth;\n  var height = element.offsetHeight;\n\n  if (Math.abs(clientRect.width - width) <= 1) {\n    width = clientRect.width;\n  }\n\n  if (Math.abs(clientRect.height - height) <= 1) {\n    height = clientRect.height;\n  }\n\n  return {\n    x: element.offsetLeft,\n    y: element.offsetTop,\n    width: width,\n    height: height\n  };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n  if (parent.contains(child)) {\n    return true;\n  } // then fallback to custom implementation with Shadow DOM support\n  else if (rootNode && isShadowRoot(rootNode)) {\n      var next = child;\n\n      do {\n        if (next && parent.isSameNode(next)) {\n          return true;\n        } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n        next = next.parentNode || next.host;\n      } while (next);\n    } // Give up, the result is false\n\n\n  return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n  return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n  // $FlowFixMe[incompatible-return]: assume body is always available\n  return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n  element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n  if (getNodeName(element) === 'html') {\n    return element;\n  }\n\n  return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n    // $FlowFixMe[incompatible-return]\n    // $FlowFixMe[prop-missing]\n    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n    element.parentNode || ( // DOM Element detected\n    isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n    // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n    getDocumentElement(element) // fallback\n\n  );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n  getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n\n  return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n  var isFirefox = /firefox/i.test(getUAString());\n  var isIE = /Trident/i.test(getUAString());\n\n  if (isIE && isHTMLElement(element)) {\n    // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n    var elementCss = getComputedStyle(element);\n\n    if (elementCss.position === 'fixed') {\n      return null;\n    }\n  }\n\n  var currentNode = getParentNode(element);\n\n  if (isShadowRoot(currentNode)) {\n    currentNode = currentNode.host;\n  }\n\n  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n    var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n    // create a containing block.\n    // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n    if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n      return currentNode;\n    } else {\n      currentNode = currentNode.parentNode;\n    }\n  }\n\n  return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n  var window = getWindow(element);\n  var offsetParent = getTrueOffsetParent(element);\n\n  while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n    offsetParent = getTrueOffsetParent(offsetParent);\n  }\n\n  if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n    return window;\n  }\n\n  return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n  return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n  var v = within(min, value, max);\n  return v > max ? max : v;\n}","export default function getFreshSideObject() {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0\n  };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n  return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n  return keys.reduce(function (hashMap, key) {\n    hashMap[key] = value;\n    return hashMap;\n  }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n  padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : padding;\n  return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n  var _state$modifiersData$;\n\n  var state = _ref.state,\n      name = _ref.name,\n      options = _ref.options;\n  var arrowElement = state.elements.arrow;\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var basePlacement = getBasePlacement(state.placement);\n  var axis = getMainAxisFromPlacement(basePlacement);\n  var isVertical = [left, right].indexOf(basePlacement) >= 0;\n  var len = isVertical ? 'height' : 'width';\n\n  if (!arrowElement || !popperOffsets) {\n    return;\n  }\n\n  var paddingObject = toPaddingObject(options.padding, state);\n  var arrowRect = getLayoutRect(arrowElement);\n  var minProp = axis === 'y' ? top : left;\n  var maxProp = axis === 'y' ? bottom : right;\n  var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n  var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n  var arrowOffsetParent = getOffsetParent(arrowElement);\n  var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n  var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n  // outside of the popper bounds\n\n  var min = paddingObject[minProp];\n  var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n  var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n  var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n  var axisProp = axis;\n  state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options;\n  var _options$element = options.element,\n      arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n  if (arrowElement == null) {\n    return;\n  } // CSS selector\n\n\n  if (typeof arrowElement === 'string') {\n    arrowElement = state.elements.popper.querySelector(arrowElement);\n\n    if (!arrowElement) {\n      return;\n    }\n  }\n\n  if (!contains(state.elements.popper, arrowElement)) {\n    return;\n  }\n\n  state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'arrow',\n  enabled: true,\n  phase: 'main',\n  fn: arrow,\n  effect: effect,\n  requires: ['popperOffsets'],\n  requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n  return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n  top: 'auto',\n  right: 'auto',\n  bottom: 'auto',\n  left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n  var x = _ref.x,\n      y = _ref.y;\n  var dpr = win.devicePixelRatio || 1;\n  return {\n    x: round(x * dpr) / dpr || 0,\n    y: round(y * dpr) / dpr || 0\n  };\n}\n\nexport function mapToStyles(_ref2) {\n  var _Object$assign2;\n\n  var popper = _ref2.popper,\n      popperRect = _ref2.popperRect,\n      placement = _ref2.placement,\n      variation = _ref2.variation,\n      offsets = _ref2.offsets,\n      position = _ref2.position,\n      gpuAcceleration = _ref2.gpuAcceleration,\n      adaptive = _ref2.adaptive,\n      roundOffsets = _ref2.roundOffsets,\n      isFixed = _ref2.isFixed;\n  var _offsets$x = offsets.x,\n      x = _offsets$x === void 0 ? 0 : _offsets$x,\n      _offsets$y = offsets.y,\n      y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n  var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n    x: x,\n    y: y\n  }) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref3.x;\n  y = _ref3.y;\n  var hasX = offsets.hasOwnProperty('x');\n  var hasY = offsets.hasOwnProperty('y');\n  var sideX = left;\n  var sideY = top;\n  var win = window;\n\n  if (adaptive) {\n    var offsetParent = getOffsetParent(popper);\n    var heightProp = 'clientHeight';\n    var widthProp = 'clientWidth';\n\n    if (offsetParent === getWindow(popper)) {\n      offsetParent = getDocumentElement(popper);\n\n      if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n        heightProp = 'scrollHeight';\n        widthProp = 'scrollWidth';\n      }\n    } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n    offsetParent = offsetParent;\n\n    if (placement === top || (placement === left || placement === right) && variation === end) {\n      sideY = bottom;\n      var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n      offsetParent[heightProp];\n      y -= offsetY - popperRect.height;\n      y *= gpuAcceleration ? 1 : -1;\n    }\n\n    if (placement === left || (placement === top || placement === bottom) && variation === end) {\n      sideX = right;\n      var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n      offsetParent[widthProp];\n      x -= offsetX - popperRect.width;\n      x *= gpuAcceleration ? 1 : -1;\n    }\n  }\n\n  var commonStyles = Object.assign({\n    position: position\n  }, adaptive && unsetSides);\n\n  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n    x: x,\n    y: y\n  }, getWindow(popper)) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref4.x;\n  y = _ref4.y;\n\n  if (gpuAcceleration) {\n    var _Object$assign;\n\n    return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n  }\n\n  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n  var state = _ref5.state,\n      options = _ref5.options;\n  var _options$gpuAccelerat = options.gpuAcceleration,\n      gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n      _options$adaptive = options.adaptive,\n      adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n      _options$roundOffsets = options.roundOffsets,\n      roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n  var commonStyles = {\n    placement: getBasePlacement(state.placement),\n    variation: getVariation(state.placement),\n    popper: state.elements.popper,\n    popperRect: state.rects.popper,\n    gpuAcceleration: gpuAcceleration,\n    isFixed: state.options.strategy === 'fixed'\n  };\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.popperOffsets,\n      position: state.options.strategy,\n      adaptive: adaptive,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  if (state.modifiersData.arrow != null) {\n    state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.arrow,\n      position: 'absolute',\n      adaptive: false,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-placement': state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'computeStyles',\n  enabled: true,\n  phase: 'beforeWrite',\n  fn: computeStyles,\n  data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n  passive: true\n};\n\nfunction effect(_ref) {\n  var state = _ref.state,\n      instance = _ref.instance,\n      options = _ref.options;\n  var _options$scroll = options.scroll,\n      scroll = _options$scroll === void 0 ? true : _options$scroll,\n      _options$resize = options.resize,\n      resize = _options$resize === void 0 ? true : _options$resize;\n  var window = getWindow(state.elements.popper);\n  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n  if (scroll) {\n    scrollParents.forEach(function (scrollParent) {\n      scrollParent.addEventListener('scroll', instance.update, passive);\n    });\n  }\n\n  if (resize) {\n    window.addEventListener('resize', instance.update, passive);\n  }\n\n  return function () {\n    if (scroll) {\n      scrollParents.forEach(function (scrollParent) {\n        scrollParent.removeEventListener('scroll', instance.update, passive);\n      });\n    }\n\n    if (resize) {\n      window.removeEventListener('resize', instance.update, passive);\n    }\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'eventListeners',\n  enabled: true,\n  phase: 'write',\n  fn: function fn() {},\n  effect: effect,\n  data: {}\n};","var hash = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}","var hash = {\n  start: 'end',\n  end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n  return placement.replace(/start|end/g, function (matched) {\n    return hash[matched];\n  });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n  var win = getWindow(node);\n  var scrollLeft = win.pageXOffset;\n  var scrollTop = win.pageYOffset;\n  return {\n    scrollLeft: scrollLeft,\n    scrollTop: scrollTop\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n  // If <html> has a CSS width greater than the viewport, then this will be\n  // incorrect for RTL.\n  // Popper 1 is broken in this case and never had a bug report so let's assume\n  // it's not an issue. I don't think anyone ever specifies width on <html>\n  // anyway.\n  // Browsers where the left scrollbar doesn't cause an issue report `0` for\n  // this (e.g. Edge 2019, IE11, Safari)\n  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n  var win = getWindow(element);\n  var html = getDocumentElement(element);\n  var visualViewport = win.visualViewport;\n  var width = html.clientWidth;\n  var height = html.clientHeight;\n  var x = 0;\n  var y = 0;\n\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    var layoutViewport = isLayoutViewport();\n\n    if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x + getWindowScrollBarX(element),\n    y: y\n  };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n  var _element$ownerDocumen;\n\n  var html = getDocumentElement(element);\n  var winScroll = getWindowScroll(element);\n  var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n  var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n  var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n  var y = -winScroll.scrollTop;\n\n  if (getComputedStyle(body || html).direction === 'rtl') {\n    x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n  // Firefox wants us to check `-x` and `-y` variations as well\n  var _getComputedStyle = getComputedStyle(element),\n      overflow = _getComputedStyle.overflow,\n      overflowX = _getComputedStyle.overflowX,\n      overflowY = _getComputedStyle.overflowY;\n\n  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n  if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n    // $FlowFixMe[incompatible-return]: assume body is always available\n    return node.ownerDocument.body;\n  }\n\n  if (isHTMLElement(node) && isScrollParent(node)) {\n    return node;\n  }\n\n  return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n  var _element$ownerDocumen;\n\n  if (list === void 0) {\n    list = [];\n  }\n\n  var scrollParent = getScrollParent(element);\n  var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n  var win = getWindow(scrollParent);\n  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n  var updatedList = list.concat(target);\n  return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n  updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n  return Object.assign({}, rect, {\n    left: rect.x,\n    top: rect.y,\n    right: rect.x + rect.width,\n    bottom: rect.y + rect.height\n  });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n  var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n  rect.top = rect.top + element.clientTop;\n  rect.left = rect.left + element.clientLeft;\n  rect.bottom = rect.top + element.clientHeight;\n  rect.right = rect.left + element.clientWidth;\n  rect.width = element.clientWidth;\n  rect.height = element.clientHeight;\n  rect.x = rect.left;\n  rect.y = rect.top;\n  return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n  return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n  var clippingParents = listScrollParents(getParentNode(element));\n  var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n  if (!isElement(clipperElement)) {\n    return [];\n  } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n  return clippingParents.filter(function (clippingParent) {\n    return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n  });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n  var firstClippingParent = clippingParents[0];\n  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n    var rect = getClientRectFromMixedType(element, clippingParent, 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  }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n  clippingRect.width = clippingRect.right - clippingRect.left;\n  clippingRect.height = clippingRect.bottom - clippingRect.top;\n  clippingRect.x = clippingRect.left;\n  clippingRect.y = clippingRect.top;\n  return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n  var reference = _ref.reference,\n      element = _ref.element,\n      placement = _ref.placement;\n  var basePlacement = placement ? getBasePlacement(placement) : null;\n  var variation = placement ? getVariation(placement) : null;\n  var commonX = reference.x + reference.width / 2 - element.width / 2;\n  var commonY = reference.y + reference.height / 2 - element.height / 2;\n  var offsets;\n\n  switch (basePlacement) {\n    case top:\n      offsets = {\n        x: commonX,\n        y: reference.y - element.height\n      };\n      break;\n\n    case bottom:\n      offsets = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n\n    case right:\n      offsets = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n\n    case left:\n      offsets = {\n        x: reference.x - element.width,\n        y: commonY\n      };\n      break;\n\n    default:\n      offsets = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n\n  var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n  if (mainAxis != null) {\n    var len = mainAxis === 'y' ? 'height' : 'width';\n\n    switch (variation) {\n      case start:\n        offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n        break;\n\n      case end:\n        offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n        break;\n\n      default:\n    }\n  }\n\n  return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$placement = _options.placement,\n      placement = _options$placement === void 0 ? state.placement : _options$placement,\n      _options$strategy = _options.strategy,\n      strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n      _options$boundary = _options.boundary,\n      boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n      _options$rootBoundary = _options.rootBoundary,\n      rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n      _options$elementConte = _options.elementContext,\n      elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n      _options$altBoundary = _options.altBoundary,\n      altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n      _options$padding = _options.padding,\n      padding = _options$padding === void 0 ? 0 : _options$padding;\n  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n  var altContext = elementContext === popper ? reference : popper;\n  var popperRect = state.rects.popper;\n  var element = state.elements[altBoundary ? altContext : elementContext];\n  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n  var referenceClientRect = getBoundingClientRect(state.elements.reference);\n  var popperOffsets = computeOffsets({\n    reference: referenceClientRect,\n    element: popperRect,\n    strategy: 'absolute',\n    placement: placement\n  });\n  var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n  // 0 or negative = within the clipping rect\n\n  var overflowOffsets = {\n    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n    right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n  };\n  var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n  if (elementContext === popper && offsetData) {\n    var offset = offsetData[placement];\n    Object.keys(overflowOffsets).forEach(function (key) {\n      var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n      var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n      overflowOffsets[key] += offset[axis] * multiply;\n    });\n  }\n\n  return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      placement = _options.placement,\n      boundary = _options.boundary,\n      rootBoundary = _options.rootBoundary,\n      padding = _options.padding,\n      flipVariations = _options.flipVariations,\n      _options$allowedAutoP = _options.allowedAutoPlacements,\n      allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n  var variation = getVariation(placement);\n  var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n    return getVariation(placement) === variation;\n  }) : basePlacements;\n  var allowedPlacements = placements.filter(function (placement) {\n    return allowedAutoPlacements.indexOf(placement) >= 0;\n  });\n\n  if (allowedPlacements.length === 0) {\n    allowedPlacements = placements;\n  } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n  var overflows = allowedPlacements.reduce(function (acc, placement) {\n    acc[placement] = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding\n    })[getBasePlacement(placement)];\n    return acc;\n  }, {});\n  return Object.keys(overflows).sort(function (a, b) {\n    return overflows[a] - overflows[b];\n  });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n  if (getBasePlacement(placement) === auto) {\n    return [];\n  }\n\n  var oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n\n  if (state.modifiersData[name]._skip) {\n    return;\n  }\n\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n      specifiedFallbackPlacements = options.fallbackPlacements,\n      padding = options.padding,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      _options$flipVariatio = options.flipVariations,\n      flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n      allowedAutoPlacements = options.allowedAutoPlacements;\n  var preferredPlacement = state.options.placement;\n  var basePlacement = getBasePlacement(preferredPlacement);\n  var isBasePlacement = basePlacement === preferredPlacement;\n  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n  var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n    return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding,\n      flipVariations: flipVariations,\n      allowedAutoPlacements: allowedAutoPlacements\n    }) : placement);\n  }, []);\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var checksMap = new Map();\n  var makeFallbackChecks = true;\n  var firstFittingPlacement = placements[0];\n\n  for (var i = 0; i < placements.length; i++) {\n    var placement = placements[i];\n\n    var _basePlacement = getBasePlacement(placement);\n\n    var isStartVariation = getVariation(placement) === start;\n    var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n    var len = isVertical ? 'width' : 'height';\n    var overflow = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      altBoundary: altBoundary,\n      padding: padding\n    });\n    var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n    if (referenceRect[len] > popperRect[len]) {\n      mainVariationSide = getOppositePlacement(mainVariationSide);\n    }\n\n    var altVariationSide = getOppositePlacement(mainVariationSide);\n    var checks = [];\n\n    if (checkMainAxis) {\n      checks.push(overflow[_basePlacement] <= 0);\n    }\n\n    if (checkAltAxis) {\n      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n    }\n\n    if (checks.every(function (check) {\n      return check;\n    })) {\n      firstFittingPlacement = placement;\n      makeFallbackChecks = false;\n      break;\n    }\n\n    checksMap.set(placement, checks);\n  }\n\n  if (makeFallbackChecks) {\n    // `2` may be desired in some cases â€“ research later\n    var numberOfChecks = flipVariations ? 3 : 1;\n\n    var _loop = function _loop(_i) {\n      var fittingPlacement = placements.find(function (placement) {\n        var checks = checksMap.get(placement);\n\n        if (checks) {\n          return checks.slice(0, _i).every(function (check) {\n            return check;\n          });\n        }\n      });\n\n      if (fittingPlacement) {\n        firstFittingPlacement = fittingPlacement;\n        return \"break\";\n      }\n    };\n\n    for (var _i = numberOfChecks; _i > 0; _i--) {\n      var _ret = _loop(_i);\n\n      if (_ret === \"break\") break;\n    }\n  }\n\n  if (state.placement !== firstFittingPlacement) {\n    state.modifiersData[name]._skip = true;\n    state.placement = firstFittingPlacement;\n    state.reset = true;\n  }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'flip',\n  enabled: true,\n  phase: 'main',\n  fn: flip,\n  requiresIfExists: ['offset'],\n  data: {\n    _skip: false\n  }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n  if (preventedOffsets === void 0) {\n    preventedOffsets = {\n      x: 0,\n      y: 0\n    };\n  }\n\n  return {\n    top: overflow.top - rect.height - preventedOffsets.y,\n    right: overflow.right - rect.width + preventedOffsets.x,\n    bottom: overflow.bottom - rect.height + preventedOffsets.y,\n    left: overflow.left - rect.width - preventedOffsets.x\n  };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n  return [top, right, bottom, left].some(function (side) {\n    return overflow[side] >= 0;\n  });\n}\n\nfunction hide(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var preventedOffsets = state.modifiersData.preventOverflow;\n  var referenceOverflow = detectOverflow(state, {\n    elementContext: 'reference'\n  });\n  var popperAltOverflow = detectOverflow(state, {\n    altBoundary: true\n  });\n  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n  state.modifiersData[name] = {\n    referenceClippingOffsets: referenceClippingOffsets,\n    popperEscapeOffsets: popperEscapeOffsets,\n    isReferenceHidden: isReferenceHidden,\n    hasPopperEscaped: hasPopperEscaped\n  };\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-reference-hidden': isReferenceHidden,\n    'data-popper-escaped': hasPopperEscaped\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'hide',\n  enabled: true,\n  phase: 'main',\n  requiresIfExists: ['preventOverflow'],\n  fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n  var basePlacement = getBasePlacement(placement);\n  var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n  var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n    placement: placement\n  })) : offset,\n      skidding = _ref[0],\n      distance = _ref[1];\n\n  skidding = skidding || 0;\n  distance = (distance || 0) * invertDistance;\n  return [left, right].indexOf(basePlacement) >= 0 ? {\n    x: distance,\n    y: skidding\n  } : {\n    x: skidding,\n    y: distance\n  };\n}\n\nfunction offset(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options,\n      name = _ref2.name;\n  var _options$offset = options.offset,\n      offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n  var data = placements.reduce(function (acc, placement) {\n    acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n    return acc;\n  }, {});\n  var _data$state$placement = data[state.placement],\n      x = _data$state$placement.x,\n      y = _data$state$placement.y;\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.modifiersData.popperOffsets.x += x;\n    state.modifiersData.popperOffsets.y += y;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'offset',\n  enabled: true,\n  phase: 'main',\n  requires: ['popperOffsets'],\n  fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  // Offsets are the actual position the popper needs to have to be\n  // properly positioned near its reference element\n  // This is the most basic placement, and will be adjusted by\n  // the modifiers in the next step\n  state.modifiersData[name] = computeOffsets({\n    reference: state.rects.reference,\n    element: state.rects.popper,\n    strategy: 'absolute',\n    placement: state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'popperOffsets',\n  enabled: true,\n  phase: 'read',\n  fn: popperOffsets,\n  data: {}\n};","export default function getAltAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      padding = options.padding,\n      _options$tether = options.tether,\n      tether = _options$tether === void 0 ? true : _options$tether,\n      _options$tetherOffset = options.tetherOffset,\n      tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n  var overflow = detectOverflow(state, {\n    boundary: boundary,\n    rootBoundary: rootBoundary,\n    padding: padding,\n    altBoundary: altBoundary\n  });\n  var basePlacement = getBasePlacement(state.placement);\n  var variation = getVariation(state.placement);\n  var isBasePlacement = !variation;\n  var mainAxis = getMainAxisFromPlacement(basePlacement);\n  var altAxis = getAltAxis(mainAxis);\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : tetherOffset;\n  var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n    mainAxis: tetherOffsetValue,\n    altAxis: tetherOffsetValue\n  } : Object.assign({\n    mainAxis: 0,\n    altAxis: 0\n  }, tetherOffsetValue);\n  var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n  var data = {\n    x: 0,\n    y: 0\n  };\n\n  if (!popperOffsets) {\n    return;\n  }\n\n  if (checkMainAxis) {\n    var _offsetModifierState$;\n\n    var mainSide = mainAxis === 'y' ? top : left;\n    var altSide = mainAxis === 'y' ? bottom : right;\n    var len = mainAxis === 'y' ? 'height' : 'width';\n    var offset = popperOffsets[mainAxis];\n    var min = offset + overflow[mainSide];\n    var max = offset - overflow[altSide];\n    var additive = tether ? -popperRect[len] / 2 : 0;\n    var minLen = variation === start ? referenceRect[len] : popperRect[len];\n    var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n    // outside the reference bounds\n\n    var arrowElement = state.elements.arrow;\n    var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n      width: 0,\n      height: 0\n    };\n    var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n    var arrowPaddingMin = arrowPaddingObject[mainSide];\n    var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n    // to include its full size in the calculation. If the reference is small\n    // and near the edge of a boundary, the popper can overflow even if the\n    // reference is not overflowing as well (e.g. virtual elements with no\n    // width or height)\n\n    var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n    var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n    var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n    var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n    var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n    var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n    var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n    var tetherMax = offset + maxOffset - offsetModifierValue;\n    var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n    popperOffsets[mainAxis] = preventedOffset;\n    data[mainAxis] = preventedOffset - offset;\n  }\n\n  if (checkAltAxis) {\n    var _offsetModifierState$2;\n\n    var _mainSide = mainAxis === 'x' ? top : left;\n\n    var _altSide = mainAxis === 'x' ? bottom : right;\n\n    var _offset = popperOffsets[altAxis];\n\n    var _len = altAxis === 'y' ? 'height' : 'width';\n\n    var _min = _offset + overflow[_mainSide];\n\n    var _max = _offset - overflow[_altSide];\n\n    var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n    var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n    var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n    var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n    var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n    popperOffsets[altAxis] = _preventedOffset;\n    data[altAxis] = _preventedOffset - _offset;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'preventOverflow',\n  enabled: true,\n  phase: 'main',\n  fn: preventOverflow,\n  requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n  return {\n    scrollLeft: element.scrollLeft,\n    scrollTop: element.scrollTop\n  };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n  if (node === getWindow(node) || !isHTMLElement(node)) {\n    return getWindowScroll(node);\n  } else {\n    return getHTMLElementScroll(node);\n  }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n  var rect = element.getBoundingClientRect();\n  var scaleX = round(rect.width) / element.offsetWidth || 1;\n  var scaleY = round(rect.height) / element.offsetHeight || 1;\n  return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n\n  var isOffsetParentAnElement = isHTMLElement(offsetParent);\n  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n  var documentElement = getDocumentElement(offsetParent);\n  var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n  var scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  var offsets = {\n    x: 0,\n    y: 0\n  };\n\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n    isScrollParent(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n\n    if (isHTMLElement(offsetParent)) {\n      offsets = getBoundingClientRect(offsetParent, true);\n      offsets.x += offsetParent.clientLeft;\n      offsets.y += offsetParent.clientTop;\n    } else if (documentElement) {\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n\n  return {\n    x: rect.left + scroll.scrollLeft - offsets.x,\n    y: rect.top + scroll.scrollTop - offsets.y,\n    width: rect.width,\n    height: rect.height\n  };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n  var map = new Map();\n  var visited = new Set();\n  var result = [];\n  modifiers.forEach(function (modifier) {\n    map.set(modifier.name, modifier);\n  }); // On visiting object, check for its dependencies and visit them recursively\n\n  function sort(modifier) {\n    visited.add(modifier.name);\n    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n    requires.forEach(function (dep) {\n      if (!visited.has(dep)) {\n        var depModifier = map.get(dep);\n\n        if (depModifier) {\n          sort(depModifier);\n        }\n      }\n    });\n    result.push(modifier);\n  }\n\n  modifiers.forEach(function (modifier) {\n    if (!visited.has(modifier.name)) {\n      // check for visited object\n      sort(modifier);\n    }\n  });\n  return result;\n}\n\nexport default function orderModifiers(modifiers) {\n  // order based on dependencies\n  var orderedModifiers = order(modifiers); // order based on phase\n\n  return modifierPhases.reduce(function (acc, phase) {\n    return acc.concat(orderedModifiers.filter(function (modifier) {\n      return modifier.phase === phase;\n    }));\n  }, []);\n}","export default function debounce(fn) {\n  var pending;\n  return function () {\n    if (!pending) {\n      pending = new Promise(function (resolve) {\n        Promise.resolve().then(function () {\n          pending = undefined;\n          resolve(fn());\n        });\n      });\n    }\n\n    return pending;\n  };\n}","export default function mergeByName(modifiers) {\n  var merged = modifiers.reduce(function (merged, current) {\n    var existing = merged[current.name];\n    merged[current.name] = existing ? Object.assign({}, existing, current, {\n      options: Object.assign({}, existing.options, current.options),\n      data: Object.assign({}, existing.data, current.data)\n    }) : current;\n    return merged;\n  }, {}); // IE11 does not support Object.values\n\n  return Object.keys(merged).map(function (key) {\n    return merged[key];\n  });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n  placement: 'bottom',\n  modifiers: [],\n  strategy: 'absolute'\n};\n\nfunction areValidElements() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return !args.some(function (element) {\n    return !(element && typeof element.getBoundingClientRect === 'function');\n  });\n}\n\nexport function popperGenerator(generatorOptions) {\n  if (generatorOptions === void 0) {\n    generatorOptions = {};\n  }\n\n  var _generatorOptions = generatorOptions,\n      _generatorOptions$def = _generatorOptions.defaultModifiers,\n      defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n      _generatorOptions$def2 = _generatorOptions.defaultOptions,\n      defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n  return function createPopper(reference, popper, options) {\n    if (options === void 0) {\n      options = defaultOptions;\n    }\n\n    var state = {\n      placement: 'bottom',\n      orderedModifiers: [],\n      options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n      modifiersData: {},\n      elements: {\n        reference: reference,\n        popper: popper\n      },\n      attributes: {},\n      styles: {}\n    };\n    var effectCleanupFns = [];\n    var isDestroyed = false;\n    var instance = {\n      state: state,\n      setOptions: function setOptions(setOptionsAction) {\n        var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n        cleanupModifierEffects();\n        state.options = Object.assign({}, defaultOptions, state.options, options);\n        state.scrollParents = {\n          reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n          popper: listScrollParents(popper)\n        }; // Orders the modifiers based on their dependencies and `phase`\n        // properties\n\n        var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n        state.orderedModifiers = orderedModifiers.filter(function (m) {\n          return m.enabled;\n        });\n        runModifierEffects();\n        return instance.update();\n      },\n      // Sync update â€“ it will always be executed, even if not necessary. This\n      // is useful for low frequency updates where sync behavior simplifies the\n      // logic.\n      // For high frequency updates (e.g. `resize` and `scroll` events), always\n      // prefer the async Popper#update method\n      forceUpdate: function forceUpdate() {\n        if (isDestroyed) {\n          return;\n        }\n\n        var _state$elements = state.elements,\n            reference = _state$elements.reference,\n            popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n        // anymore\n\n        if (!areValidElements(reference, popper)) {\n          return;\n        } // Store the reference and popper rects to be read by modifiers\n\n\n        state.rects = {\n          reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n          popper: getLayoutRect(popper)\n        }; // Modifiers have the ability to reset the current update cycle. The\n        // most common use case for this is the `flip` modifier changing the\n        // placement, which then needs to re-run all the modifiers, because the\n        // logic was previously ran for the previous placement and is therefore\n        // stale/incorrect\n\n        state.reset = false;\n        state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n        // is filled with the initial data specified by the modifier. This means\n        // it doesn't persist and is fresh on each update.\n        // To ensure persistent data, use `${name}#persistent`\n\n        state.orderedModifiers.forEach(function (modifier) {\n          return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n        });\n\n        for (var index = 0; index < state.orderedModifiers.length; index++) {\n          if (state.reset === true) {\n            state.reset = false;\n            index = -1;\n            continue;\n          }\n\n          var _state$orderedModifie = state.orderedModifiers[index],\n              fn = _state$orderedModifie.fn,\n              _state$orderedModifie2 = _state$orderedModifie.options,\n              _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n              name = _state$orderedModifie.name;\n\n          if (typeof fn === 'function') {\n            state = fn({\n              state: state,\n              options: _options,\n              name: name,\n              instance: instance\n            }) || state;\n          }\n        }\n      },\n      // Async and optimistically optimized update â€“ it will not be executed if\n      // not necessary (debounced to run at most once-per-tick)\n      update: debounce(function () {\n        return new Promise(function (resolve) {\n          instance.forceUpdate();\n          resolve(state);\n        });\n      }),\n      destroy: function destroy() {\n        cleanupModifierEffects();\n        isDestroyed = true;\n      }\n    };\n\n    if (!areValidElements(reference, popper)) {\n      return instance;\n    }\n\n    instance.setOptions(options).then(function (state) {\n      if (!isDestroyed && options.onFirstUpdate) {\n        options.onFirstUpdate(state);\n      }\n    }); // Modifiers have the ability to execute arbitrary code before the first\n    // update cycle runs. They will be executed in the same order as the update\n    // cycle. This is useful when a modifier adds some persistent data that\n    // other modifiers need to use, but the modifier is run after the dependent\n    // one.\n\n    function runModifierEffects() {\n      state.orderedModifiers.forEach(function (_ref) {\n        var name = _ref.name,\n            _ref$options = _ref.options,\n            options = _ref$options === void 0 ? {} : _ref$options,\n            effect = _ref.effect;\n\n        if (typeof effect === 'function') {\n          var cleanupFn = effect({\n            state: state,\n            name: name,\n            instance: instance,\n            options: options\n          });\n\n          var noopFn = function noopFn() {};\n\n          effectCleanupFns.push(cleanupFn || noopFn);\n        }\n      });\n    }\n\n    function cleanupModifierEffects() {\n      effectCleanupFns.forEach(function (fn) {\n        return fn();\n      });\n      effectCleanupFns = [];\n    }\n\n    return instance;\n  };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n  defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n  defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\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'\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 RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\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'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\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_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  popperConfig: null,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  popperConfig: '(null|object|function)',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._popper = null\n    this._parent = this._element.parentNode // dropdown wrapper\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    this._inNavbar = this._detectNavbar()\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._createPopper()\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    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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    super.dispose()\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper) {\n      this._popper.update()\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    // 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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'popper')\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      // Popper 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  _createPopper() {\n    if (typeof Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\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    const popperConfig = this._getPopperConfig()\n    this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const parentDropdown = this._parent\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n      return PLACEMENT_RIGHT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n      return PLACEMENT_LEFT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n      return PLACEMENT_TOPCENTER\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n      return PLACEMENT_BOTTOMCENTER\n    }\n\n    // We need to trim the value because custom properties can also include spaces\n    const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n      return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n    }\n\n    return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n  }\n\n  _detectNavbar() {\n    return this._element.closest(SELECTOR_NAVBAR) !== null\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _getPopperConfig() {\n    const defaultBsPopperConfig = {\n      placement: this._getPlacement(),\n      modifiers: [{\n        name: 'preventOverflow',\n        options: {\n          boundary: this._config.boundary\n        }\n      },\n      {\n        name: 'offset',\n        options: {\n          offset: this._getOffset()\n        }\n      }]\n    }\n\n    // Disable Popper if we have a static display or Dropdown is in Navbar\n    if (this._inNavbar || this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n      defaultBsPopperConfig.modifiers = [{\n        name: 'applyStyles',\n        enabled: false\n      }]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).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  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 an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\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\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\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    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\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 modal.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  isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\n  keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n    this._scrollBar = new ScrollBarHelper()\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    this._scrollBar.hide()\n\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._adjustDialog()\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._dialog, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    this._adjustDialog()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated()\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic modal\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    this._element.style.display = 'block'\n    this._element.removeAttribute('aria-hidden')\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.scrollTop = 0\n\n    const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n    if (modalBody) {\n      modalBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        this._adjustDialog()\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideModal() {\n    this._element.style.display = 'none'\n    this._element.setAttribute('aria-hidden', true)\n    this._element.removeAttribute('aria-modal')\n    this._element.removeAttribute('role')\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      this._resetAdjustments()\n      this._scrollBar.reset()\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isModalOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialog)\n    }, this._dialog)\n\n    this._element.focus()\n  }\n\n  /**\n   * The following methods are used to handle overflowing modals\n   */\n\n  _adjustDialog() {\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const scrollbarWidth = this._scrollBar.getWidth()\n    const isBodyOverflowing = scrollbarWidth > 0\n\n    if (isBodyOverflowing && !isModalOverflowing) {\n      const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n\n    if (!isBodyOverflowing && isModalOverflowing) {\n      const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n  }\n\n  _resetAdjustments() {\n    this._element.style.paddingLeft = ''\n    this._element.style.paddingRight = ''\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      // only register focus restorer if modal will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking modal toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Modal.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Modal.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\nexport default Modal\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 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 * as Popper from '@popperjs/core'\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'\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}`\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  popperConfig: 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  popperConfig: '(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 Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org/docs/v2/)')\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._popper = null\n    this._templateFactory = null\n    this._newContent = null\n\n    // Protected\n    this.tip = null\n\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._disposePopper()\n    super.dispose()\n  }\n\n  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    // TODO: v6 remove this or make it optional\n    this._disposePopper()\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    this._popper = this._createPopper(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._disposePopper()\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._popper) {\n      this._popper.update()\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    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\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._disposePopper()\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  _createPopper(tip) {\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    const attachment = AttachmentMap[placement.toUpperCase()]\n    return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getPopperConfig(attachment) {\n    const defaultBsPopperConfig = {\n      placement: attachment,\n      modifiers: [\n        {\n          name: 'flip',\n          options: {\n            fallbackPlacements: this._config.fallbackPlacements\n          }\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: this._getOffset()\n          }\n        },\n        {\n          name: 'preventOverflow',\n          options: {\n            boundary: this._config.boundary\n          }\n        },\n        {\n          name: 'arrow',\n          options: {\n            element: `.${this.constructor.NAME}-arrow`\n          }\n        },\n        {\n          name: 'preSetPlacement',\n          enabled: true,\n          phase: 'beforeMain',\n          fn: data => {\n            // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n            // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n            this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n          }\n        }\n      ]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\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  _disposePopper() {\n    if (this._popper) {\n      this._popper.destroy()\n      this._popper = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\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'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\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\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  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\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    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\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_INNER_ELEM}`)\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 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 Dropdown from './src/dropdown.js'\nimport Modal from './src/modal.js'\nimport Offcanvas from './src/offcanvas.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 Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dropdown,\n  Modal,\n  Offcanvas,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\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","_unused","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","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","data","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","hidden","_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","effect","mathMax","mathMin","hash","allPlacements","placements","createPopper","defaultModifiers","popperOffsets","computeStyles","applyStyles","offset","flip","preventOverflow","arrow","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","autoClose","boundary","display","popperConfig","reference","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","showEvent","_createPopper","body","focus","_completeHide","destroy","update","hideEvent","Popper","referenceElement","_getPopperConfig","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","modifiers","options","enabled","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","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","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","scrollTop","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","scrollHeight","clientHeight","initialOverflowY","overflowY","isBodyOverflowing","paddingLeft","paddingRight","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","scroll","Offcanvas","blur","completeCallback","position","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","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","textContent","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","fallbackPlacements","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","phase","state","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","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","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","height","offsetTop","scrollTo","top","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","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","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"mappings":"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","x_google_ignoreList":[13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67]}
\ 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","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/dialog.js","../../node_modules/@popperjs/core/lib/enums.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeName.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindow.js","../../node_modules/@popperjs/core/lib/dom-utils/instanceOf.js","../../node_modules/@popperjs/core/lib/modifiers/applyStyles.js","../../node_modules/@popperjs/core/lib/utils/getBasePlacement.js","../../node_modules/@popperjs/core/lib/utils/math.js","../../node_modules/@popperjs/core/lib/utils/userAgent.js","../../node_modules/@popperjs/core/lib/dom-utils/isLayoutViewport.js","../../node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js","../../node_modules/@popperjs/core/lib/dom-utils/contains.js","../../node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js","../../node_modules/@popperjs/core/lib/dom-utils/isTableElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js","../../node_modules/@popperjs/core/lib/dom-utils/getParentNode.js","../../node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js","../../node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js","../../node_modules/@popperjs/core/lib/utils/within.js","../../node_modules/@popperjs/core/lib/utils/getFreshSideObject.js","../../node_modules/@popperjs/core/lib/utils/mergePaddingObject.js","../../node_modules/@popperjs/core/lib/utils/expandToHashMap.js","../../node_modules/@popperjs/core/lib/modifiers/arrow.js","../../node_modules/@popperjs/core/lib/utils/getVariation.js","../../node_modules/@popperjs/core/lib/modifiers/computeStyles.js","../../node_modules/@popperjs/core/lib/modifiers/eventListeners.js","../../node_modules/@popperjs/core/lib/utils/getOppositePlacement.js","../../node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js","../../node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js","../../node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js","../../node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js","../../node_modules/@popperjs/core/lib/utils/rectToClientRect.js","../../node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js","../../node_modules/@popperjs/core/lib/utils/computeOffsets.js","../../node_modules/@popperjs/core/lib/utils/detectOverflow.js","../../node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js","../../node_modules/@popperjs/core/lib/modifiers/flip.js","../../node_modules/@popperjs/core/lib/modifiers/hide.js","../../node_modules/@popperjs/core/lib/modifiers/offset.js","../../node_modules/@popperjs/core/lib/modifiers/popperOffsets.js","../../node_modules/@popperjs/core/lib/utils/getAltAxis.js","../../node_modules/@popperjs/core/lib/modifiers/preventOverflow.js","../../node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js","../../node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js","../../node_modules/@popperjs/core/lib/utils/orderModifiers.js","../../node_modules/@popperjs/core/lib/utils/debounce.js","../../node_modules/@popperjs/core/lib/utils/mergeByName.js","../../node_modules/@popperjs/core/lib/createPopper.js","../../node_modules/@popperjs/core/lib/popper-lite.js","../../node_modules/@popperjs/core/lib/popper.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.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/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  // TODO: tooltip passes `false` instead of selector, so we need to check\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  // 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\nexport {\n  enableDismissTrigger\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|boolean)', // TODO:v6 remove boolean support\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    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && 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      // TODO: change tests that use empty divs to avoid this check\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 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 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 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  isVisible, reflow\n} 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'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'dialog-static'\n\nconst OPEN_SELECTOR = '.dialog.show'\nconst SELECTOR_DIALOG_CONTENT = '.dialog-content'\nconst SELECTOR_DIALOG_BODY = '.dialog-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true,\n  modal: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\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._dialogContent = SelectorEngine.findOne(SELECTOR_DIALOG_CONTENT, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    // Use scrollbar-gutter CSS property instead of manual scrollbar handling\n    document.body.style.scrollbarGutter = 'stable'\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._element, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // No dialog adjustments needed with native dialog element\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated(),\n      className: 'dialog-backdrop'\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic dialog\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    // Use native dialog methods\n    if (this._config.modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    this._element.scrollTop = 0\n\n    const dialogBody = SelectorEngine.findOne(SELECTOR_DIALOG_BODY, this._dialogContent)\n    if (dialogBody) {\n      dialogBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialogContent, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        // No need for dialog adjustments with native dialog\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // Handle click outside dialog content\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideDialog() {\n    // Use native dialog close method\n    this._element.close()\n\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      document.body.style.scrollbarGutter = ''\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isDialogOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isDialogOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialogContent)\n    }, this._dialogContent)\n\n    this._element.focus()\n  }\n\n  // Static\n  static jQueryInterface(config, relatedTarget) {\n    return this.each(function () {\n      const data = Dialog.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config](relatedTarget)\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      // only register focus restorer if dialog will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking dialog toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Dialog.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Dialog.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog","export var top = 'top';\nexport var bottom = 'bottom';\nexport var right = 'right';\nexport var left = 'left';\nexport var auto = 'auto';\nexport var basePlacements = [top, bottom, right, left];\nexport var start = 'start';\nexport var end = 'end';\nexport var clippingParents = 'clippingParents';\nexport var viewport = 'viewport';\nexport var popper = 'popper';\nexport var reference = 'reference';\nexport var variationPlacements = /*#__PURE__*/basePlacements.reduce(function (acc, placement) {\n  return acc.concat([placement + \"-\" + start, placement + \"-\" + end]);\n}, []);\nexport var placements = /*#__PURE__*/[].concat(basePlacements, [auto]).reduce(function (acc, placement) {\n  return acc.concat([placement, placement + \"-\" + start, placement + \"-\" + end]);\n}, []); // modifiers that need to read the DOM\n\nexport var beforeRead = 'beforeRead';\nexport var read = 'read';\nexport var afterRead = 'afterRead'; // pure-logic modifiers\n\nexport var beforeMain = 'beforeMain';\nexport var main = 'main';\nexport var afterMain = 'afterMain'; // modifier with the purpose to write to the DOM (or write into a framework state)\n\nexport var beforeWrite = 'beforeWrite';\nexport var write = 'write';\nexport var afterWrite = 'afterWrite';\nexport var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite];","export default function getNodeName(element) {\n  return element ? (element.nodeName || '').toLowerCase() : null;\n}","export default function getWindow(node) {\n  if (node == null) {\n    return window;\n  }\n\n  if (node.toString() !== '[object Window]') {\n    var ownerDocument = node.ownerDocument;\n    return ownerDocument ? ownerDocument.defaultView || window : window;\n  }\n\n  return node;\n}","import getWindow from \"./getWindow.js\";\n\nfunction isElement(node) {\n  var OwnElement = getWindow(node).Element;\n  return node instanceof OwnElement || node instanceof Element;\n}\n\nfunction isHTMLElement(node) {\n  var OwnElement = getWindow(node).HTMLElement;\n  return node instanceof OwnElement || node instanceof HTMLElement;\n}\n\nfunction isShadowRoot(node) {\n  // IE 11 has no ShadowRoot\n  if (typeof ShadowRoot === 'undefined') {\n    return false;\n  }\n\n  var OwnElement = getWindow(node).ShadowRoot;\n  return node instanceof OwnElement || node instanceof ShadowRoot;\n}\n\nexport { isElement, isHTMLElement, isShadowRoot };","import getNodeName from \"../dom-utils/getNodeName.js\";\nimport { isHTMLElement } from \"../dom-utils/instanceOf.js\"; // This modifier takes the styles prepared by the `computeStyles` modifier\n// and applies them to the HTMLElements such as popper and arrow\n\nfunction applyStyles(_ref) {\n  var state = _ref.state;\n  Object.keys(state.elements).forEach(function (name) {\n    var style = state.styles[name] || {};\n    var attributes = state.attributes[name] || {};\n    var element = state.elements[name]; // arrow is optional + virtual elements\n\n    if (!isHTMLElement(element) || !getNodeName(element)) {\n      return;\n    } // Flow doesn't support to extend this property, but it's the most\n    // effective way to apply styles to an HTMLElement\n    // $FlowFixMe[cannot-write]\n\n\n    Object.assign(element.style, style);\n    Object.keys(attributes).forEach(function (name) {\n      var value = attributes[name];\n\n      if (value === false) {\n        element.removeAttribute(name);\n      } else {\n        element.setAttribute(name, value === true ? '' : value);\n      }\n    });\n  });\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state;\n  var initialStyles = {\n    popper: {\n      position: state.options.strategy,\n      left: '0',\n      top: '0',\n      margin: '0'\n    },\n    arrow: {\n      position: 'absolute'\n    },\n    reference: {}\n  };\n  Object.assign(state.elements.popper.style, initialStyles.popper);\n  state.styles = initialStyles;\n\n  if (state.elements.arrow) {\n    Object.assign(state.elements.arrow.style, initialStyles.arrow);\n  }\n\n  return function () {\n    Object.keys(state.elements).forEach(function (name) {\n      var element = state.elements[name];\n      var attributes = state.attributes[name] || {};\n      var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); // Set all values to an empty string to unset them\n\n      var style = styleProperties.reduce(function (style, property) {\n        style[property] = '';\n        return style;\n      }, {}); // arrow is optional + virtual elements\n\n      if (!isHTMLElement(element) || !getNodeName(element)) {\n        return;\n      }\n\n      Object.assign(element.style, style);\n      Object.keys(attributes).forEach(function (attribute) {\n        element.removeAttribute(attribute);\n      });\n    });\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'applyStyles',\n  enabled: true,\n  phase: 'write',\n  fn: applyStyles,\n  effect: effect,\n  requires: ['computeStyles']\n};","import { auto } from \"../enums.js\";\nexport default function getBasePlacement(placement) {\n  return placement.split('-')[0];\n}","export var max = Math.max;\nexport var min = Math.min;\nexport var round = Math.round;","export default function getUAString() {\n  var uaData = navigator.userAgentData;\n\n  if (uaData != null && uaData.brands && Array.isArray(uaData.brands)) {\n    return uaData.brands.map(function (item) {\n      return item.brand + \"/\" + item.version;\n    }).join(' ');\n  }\n\n  return navigator.userAgent;\n}","import getUAString from \"../utils/userAgent.js\";\nexport default function isLayoutViewport() {\n  return !/^((?!chrome|android).)*safari/i.test(getUAString());\n}","import { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport { round } from \"../utils/math.js\";\nimport getWindow from \"./getWindow.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getBoundingClientRect(element, includeScale, isFixedStrategy) {\n  if (includeScale === void 0) {\n    includeScale = false;\n  }\n\n  if (isFixedStrategy === void 0) {\n    isFixedStrategy = false;\n  }\n\n  var clientRect = element.getBoundingClientRect();\n  var scaleX = 1;\n  var scaleY = 1;\n\n  if (includeScale && isHTMLElement(element)) {\n    scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;\n    scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;\n  }\n\n  var _ref = isElement(element) ? getWindow(element) : window,\n      visualViewport = _ref.visualViewport;\n\n  var addVisualOffsets = !isLayoutViewport() && isFixedStrategy;\n  var x = (clientRect.left + (addVisualOffsets && visualViewport ? visualViewport.offsetLeft : 0)) / scaleX;\n  var y = (clientRect.top + (addVisualOffsets && visualViewport ? visualViewport.offsetTop : 0)) / scaleY;\n  var width = clientRect.width / scaleX;\n  var height = clientRect.height / scaleY;\n  return {\n    width: width,\n    height: height,\n    top: y,\n    right: x + width,\n    bottom: y + height,\n    left: x,\n    x: x,\n    y: y\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\"; // Returns the layout rect of an element relative to its offsetParent. Layout\n// means it doesn't take into account transforms.\n\nexport default function getLayoutRect(element) {\n  var clientRect = getBoundingClientRect(element); // Use the clientRect sizes if it's not been transformed.\n  // Fixes https://github.com/popperjs/popper-core/issues/1223\n\n  var width = element.offsetWidth;\n  var height = element.offsetHeight;\n\n  if (Math.abs(clientRect.width - width) <= 1) {\n    width = clientRect.width;\n  }\n\n  if (Math.abs(clientRect.height - height) <= 1) {\n    height = clientRect.height;\n  }\n\n  return {\n    x: element.offsetLeft,\n    y: element.offsetTop,\n    width: width,\n    height: height\n  };\n}","import { isShadowRoot } from \"./instanceOf.js\";\nexport default function contains(parent, child) {\n  var rootNode = child.getRootNode && child.getRootNode(); // First, attempt with faster native method\n\n  if (parent.contains(child)) {\n    return true;\n  } // then fallback to custom implementation with Shadow DOM support\n  else if (rootNode && isShadowRoot(rootNode)) {\n      var next = child;\n\n      do {\n        if (next && parent.isSameNode(next)) {\n          return true;\n        } // $FlowFixMe[prop-missing]: need a better way to handle this...\n\n\n        next = next.parentNode || next.host;\n      } while (next);\n    } // Give up, the result is false\n\n\n  return false;\n}","import getWindow from \"./getWindow.js\";\nexport default function getComputedStyle(element) {\n  return getWindow(element).getComputedStyle(element);\n}","import getNodeName from \"./getNodeName.js\";\nexport default function isTableElement(element) {\n  return ['table', 'td', 'th'].indexOf(getNodeName(element)) >= 0;\n}","import { isElement } from \"./instanceOf.js\";\nexport default function getDocumentElement(element) {\n  // $FlowFixMe[incompatible-return]: assume body is always available\n  return ((isElement(element) ? element.ownerDocument : // $FlowFixMe[prop-missing]\n  element.document) || window.document).documentElement;\n}","import getNodeName from \"./getNodeName.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport { isShadowRoot } from \"./instanceOf.js\";\nexport default function getParentNode(element) {\n  if (getNodeName(element) === 'html') {\n    return element;\n  }\n\n  return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle\n    // $FlowFixMe[incompatible-return]\n    // $FlowFixMe[prop-missing]\n    element.assignedSlot || // step into the shadow DOM of the parent of a slotted node\n    element.parentNode || ( // DOM Element detected\n    isShadowRoot(element) ? element.host : null) || // ShadowRoot detected\n    // $FlowFixMe[incompatible-call]: HTMLElement is a Node\n    getDocumentElement(element) // fallback\n\n  );\n}","import getWindow from \"./getWindow.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isHTMLElement, isShadowRoot } from \"./instanceOf.js\";\nimport isTableElement from \"./isTableElement.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getUAString from \"../utils/userAgent.js\";\n\nfunction getTrueOffsetParent(element) {\n  if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837\n  getComputedStyle(element).position === 'fixed') {\n    return null;\n  }\n\n  return element.offsetParent;\n} // `.offsetParent` reports `null` for fixed elements, while absolute elements\n// return the containing block\n\n\nfunction getContainingBlock(element) {\n  var isFirefox = /firefox/i.test(getUAString());\n  var isIE = /Trident/i.test(getUAString());\n\n  if (isIE && isHTMLElement(element)) {\n    // In IE 9, 10 and 11 fixed elements containing block is always established by the viewport\n    var elementCss = getComputedStyle(element);\n\n    if (elementCss.position === 'fixed') {\n      return null;\n    }\n  }\n\n  var currentNode = getParentNode(element);\n\n  if (isShadowRoot(currentNode)) {\n    currentNode = currentNode.host;\n  }\n\n  while (isHTMLElement(currentNode) && ['html', 'body'].indexOf(getNodeName(currentNode)) < 0) {\n    var css = getComputedStyle(currentNode); // This is non-exhaustive but covers the most common CSS properties that\n    // create a containing block.\n    // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n\n    if (css.transform !== 'none' || css.perspective !== 'none' || css.contain === 'paint' || ['transform', 'perspective'].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === 'filter' || isFirefox && css.filter && css.filter !== 'none') {\n      return currentNode;\n    } else {\n      currentNode = currentNode.parentNode;\n    }\n  }\n\n  return null;\n} // Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\n\n\nexport default function getOffsetParent(element) {\n  var window = getWindow(element);\n  var offsetParent = getTrueOffsetParent(element);\n\n  while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n    offsetParent = getTrueOffsetParent(offsetParent);\n  }\n\n  if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static')) {\n    return window;\n  }\n\n  return offsetParent || getContainingBlock(element) || window;\n}","export default function getMainAxisFromPlacement(placement) {\n  return ['top', 'bottom'].indexOf(placement) >= 0 ? 'x' : 'y';\n}","import { max as mathMax, min as mathMin } from \"./math.js\";\nexport function within(min, value, max) {\n  return mathMax(min, mathMin(value, max));\n}\nexport function withinMaxClamp(min, value, max) {\n  var v = within(min, value, max);\n  return v > max ? max : v;\n}","export default function getFreshSideObject() {\n  return {\n    top: 0,\n    right: 0,\n    bottom: 0,\n    left: 0\n  };\n}","import getFreshSideObject from \"./getFreshSideObject.js\";\nexport default function mergePaddingObject(paddingObject) {\n  return Object.assign({}, getFreshSideObject(), paddingObject);\n}","export default function expandToHashMap(value, keys) {\n  return keys.reduce(function (hashMap, key) {\n    hashMap[key] = value;\n    return hashMap;\n  }, {});\n}","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport contains from \"../dom-utils/contains.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport { within } from \"../utils/within.js\";\nimport mergePaddingObject from \"../utils/mergePaddingObject.js\";\nimport expandToHashMap from \"../utils/expandToHashMap.js\";\nimport { left, right, basePlacements, top, bottom } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar toPaddingObject = function toPaddingObject(padding, state) {\n  padding = typeof padding === 'function' ? padding(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : padding;\n  return mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n};\n\nfunction arrow(_ref) {\n  var _state$modifiersData$;\n\n  var state = _ref.state,\n      name = _ref.name,\n      options = _ref.options;\n  var arrowElement = state.elements.arrow;\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var basePlacement = getBasePlacement(state.placement);\n  var axis = getMainAxisFromPlacement(basePlacement);\n  var isVertical = [left, right].indexOf(basePlacement) >= 0;\n  var len = isVertical ? 'height' : 'width';\n\n  if (!arrowElement || !popperOffsets) {\n    return;\n  }\n\n  var paddingObject = toPaddingObject(options.padding, state);\n  var arrowRect = getLayoutRect(arrowElement);\n  var minProp = axis === 'y' ? top : left;\n  var maxProp = axis === 'y' ? bottom : right;\n  var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets[axis] - state.rects.popper[len];\n  var startDiff = popperOffsets[axis] - state.rects.reference[axis];\n  var arrowOffsetParent = getOffsetParent(arrowElement);\n  var clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;\n  var centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the popper if the center point is\n  // outside of the popper bounds\n\n  var min = paddingObject[minProp];\n  var max = clientSize - arrowRect[len] - paddingObject[maxProp];\n  var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference;\n  var offset = within(min, center, max); // Prevents breaking syntax highlighting...\n\n  var axisProp = axis;\n  state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset, _state$modifiersData$.centerOffset = offset - center, _state$modifiersData$);\n}\n\nfunction effect(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options;\n  var _options$element = options.element,\n      arrowElement = _options$element === void 0 ? '[data-popper-arrow]' : _options$element;\n\n  if (arrowElement == null) {\n    return;\n  } // CSS selector\n\n\n  if (typeof arrowElement === 'string') {\n    arrowElement = state.elements.popper.querySelector(arrowElement);\n\n    if (!arrowElement) {\n      return;\n    }\n  }\n\n  if (!contains(state.elements.popper, arrowElement)) {\n    return;\n  }\n\n  state.elements.arrow = arrowElement;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'arrow',\n  enabled: true,\n  phase: 'main',\n  fn: arrow,\n  effect: effect,\n  requires: ['popperOffsets'],\n  requiresIfExists: ['preventOverflow']\n};","export default function getVariation(placement) {\n  return placement.split('-')[1];\n}","import { top, left, right, bottom, end } from \"../enums.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport getWindow from \"../dom-utils/getWindow.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getComputedStyle from \"../dom-utils/getComputedStyle.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport { round } from \"../utils/math.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar unsetSides = {\n  top: 'auto',\n  right: 'auto',\n  bottom: 'auto',\n  left: 'auto'\n}; // Round the offsets to the nearest suitable subpixel based on the DPR.\n// Zooming can change the DPR, but it seems to report a value that will\n// cleanly divide the values into the appropriate subpixels.\n\nfunction roundOffsetsByDPR(_ref, win) {\n  var x = _ref.x,\n      y = _ref.y;\n  var dpr = win.devicePixelRatio || 1;\n  return {\n    x: round(x * dpr) / dpr || 0,\n    y: round(y * dpr) / dpr || 0\n  };\n}\n\nexport function mapToStyles(_ref2) {\n  var _Object$assign2;\n\n  var popper = _ref2.popper,\n      popperRect = _ref2.popperRect,\n      placement = _ref2.placement,\n      variation = _ref2.variation,\n      offsets = _ref2.offsets,\n      position = _ref2.position,\n      gpuAcceleration = _ref2.gpuAcceleration,\n      adaptive = _ref2.adaptive,\n      roundOffsets = _ref2.roundOffsets,\n      isFixed = _ref2.isFixed;\n  var _offsets$x = offsets.x,\n      x = _offsets$x === void 0 ? 0 : _offsets$x,\n      _offsets$y = offsets.y,\n      y = _offsets$y === void 0 ? 0 : _offsets$y;\n\n  var _ref3 = typeof roundOffsets === 'function' ? roundOffsets({\n    x: x,\n    y: y\n  }) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref3.x;\n  y = _ref3.y;\n  var hasX = offsets.hasOwnProperty('x');\n  var hasY = offsets.hasOwnProperty('y');\n  var sideX = left;\n  var sideY = top;\n  var win = window;\n\n  if (adaptive) {\n    var offsetParent = getOffsetParent(popper);\n    var heightProp = 'clientHeight';\n    var widthProp = 'clientWidth';\n\n    if (offsetParent === getWindow(popper)) {\n      offsetParent = getDocumentElement(popper);\n\n      if (getComputedStyle(offsetParent).position !== 'static' && position === 'absolute') {\n        heightProp = 'scrollHeight';\n        widthProp = 'scrollWidth';\n      }\n    } // $FlowFixMe[incompatible-cast]: force type refinement, we compare offsetParent with window above, but Flow doesn't detect it\n\n\n    offsetParent = offsetParent;\n\n    if (placement === top || (placement === left || placement === right) && variation === end) {\n      sideY = bottom;\n      var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : // $FlowFixMe[prop-missing]\n      offsetParent[heightProp];\n      y -= offsetY - popperRect.height;\n      y *= gpuAcceleration ? 1 : -1;\n    }\n\n    if (placement === left || (placement === top || placement === bottom) && variation === end) {\n      sideX = right;\n      var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : // $FlowFixMe[prop-missing]\n      offsetParent[widthProp];\n      x -= offsetX - popperRect.width;\n      x *= gpuAcceleration ? 1 : -1;\n    }\n  }\n\n  var commonStyles = Object.assign({\n    position: position\n  }, adaptive && unsetSides);\n\n  var _ref4 = roundOffsets === true ? roundOffsetsByDPR({\n    x: x,\n    y: y\n  }, getWindow(popper)) : {\n    x: x,\n    y: y\n  };\n\n  x = _ref4.x;\n  y = _ref4.y;\n\n  if (gpuAcceleration) {\n    var _Object$assign;\n\n    return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? '0' : '', _Object$assign[sideX] = hasX ? '0' : '', _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? \"translate(\" + x + \"px, \" + y + \"px)\" : \"translate3d(\" + x + \"px, \" + y + \"px, 0)\", _Object$assign));\n  }\n\n  return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + \"px\" : '', _Object$assign2[sideX] = hasX ? x + \"px\" : '', _Object$assign2.transform = '', _Object$assign2));\n}\n\nfunction computeStyles(_ref5) {\n  var state = _ref5.state,\n      options = _ref5.options;\n  var _options$gpuAccelerat = options.gpuAcceleration,\n      gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat,\n      _options$adaptive = options.adaptive,\n      adaptive = _options$adaptive === void 0 ? true : _options$adaptive,\n      _options$roundOffsets = options.roundOffsets,\n      roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets;\n  var commonStyles = {\n    placement: getBasePlacement(state.placement),\n    variation: getVariation(state.placement),\n    popper: state.elements.popper,\n    popperRect: state.rects.popper,\n    gpuAcceleration: gpuAcceleration,\n    isFixed: state.options.strategy === 'fixed'\n  };\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.popperOffsets,\n      position: state.options.strategy,\n      adaptive: adaptive,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  if (state.modifiersData.arrow != null) {\n    state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, {\n      offsets: state.modifiersData.arrow,\n      position: 'absolute',\n      adaptive: false,\n      roundOffsets: roundOffsets\n    })));\n  }\n\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-placement': state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'computeStyles',\n  enabled: true,\n  phase: 'beforeWrite',\n  fn: computeStyles,\n  data: {}\n};","import getWindow from \"../dom-utils/getWindow.js\"; // eslint-disable-next-line import/no-unused-modules\n\nvar passive = {\n  passive: true\n};\n\nfunction effect(_ref) {\n  var state = _ref.state,\n      instance = _ref.instance,\n      options = _ref.options;\n  var _options$scroll = options.scroll,\n      scroll = _options$scroll === void 0 ? true : _options$scroll,\n      _options$resize = options.resize,\n      resize = _options$resize === void 0 ? true : _options$resize;\n  var window = getWindow(state.elements.popper);\n  var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper);\n\n  if (scroll) {\n    scrollParents.forEach(function (scrollParent) {\n      scrollParent.addEventListener('scroll', instance.update, passive);\n    });\n  }\n\n  if (resize) {\n    window.addEventListener('resize', instance.update, passive);\n  }\n\n  return function () {\n    if (scroll) {\n      scrollParents.forEach(function (scrollParent) {\n        scrollParent.removeEventListener('scroll', instance.update, passive);\n      });\n    }\n\n    if (resize) {\n      window.removeEventListener('resize', instance.update, passive);\n    }\n  };\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'eventListeners',\n  enabled: true,\n  phase: 'write',\n  fn: function fn() {},\n  effect: effect,\n  data: {}\n};","var hash = {\n  left: 'right',\n  right: 'left',\n  bottom: 'top',\n  top: 'bottom'\n};\nexport default function getOppositePlacement(placement) {\n  return placement.replace(/left|right|bottom|top/g, function (matched) {\n    return hash[matched];\n  });\n}","var hash = {\n  start: 'end',\n  end: 'start'\n};\nexport default function getOppositeVariationPlacement(placement) {\n  return placement.replace(/start|end/g, function (matched) {\n    return hash[matched];\n  });\n}","import getWindow from \"./getWindow.js\";\nexport default function getWindowScroll(node) {\n  var win = getWindow(node);\n  var scrollLeft = win.pageXOffset;\n  var scrollTop = win.pageYOffset;\n  return {\n    scrollLeft: scrollLeft,\n    scrollTop: scrollTop\n  };\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nexport default function getWindowScrollBarX(element) {\n  // If <html> has a CSS width greater than the viewport, then this will be\n  // incorrect for RTL.\n  // Popper 1 is broken in this case and never had a bug report so let's assume\n  // it's not an issue. I don't think anyone ever specifies width on <html>\n  // anyway.\n  // Browsers where the left scrollbar doesn't cause an issue report `0` for\n  // this (e.g. Edge 2019, IE11, Safari)\n  return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft;\n}","import getWindow from \"./getWindow.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport isLayoutViewport from \"./isLayoutViewport.js\";\nexport default function getViewportRect(element, strategy) {\n  var win = getWindow(element);\n  var html = getDocumentElement(element);\n  var visualViewport = win.visualViewport;\n  var width = html.clientWidth;\n  var height = html.clientHeight;\n  var x = 0;\n  var y = 0;\n\n  if (visualViewport) {\n    width = visualViewport.width;\n    height = visualViewport.height;\n    var layoutViewport = isLayoutViewport();\n\n    if (layoutViewport || !layoutViewport && strategy === 'fixed') {\n      x = visualViewport.offsetLeft;\n      y = visualViewport.offsetTop;\n    }\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x + getWindowScrollBarX(element),\n    y: y\n  };\n}","import getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getWindowScroll from \"./getWindowScroll.js\";\nimport { max } from \"../utils/math.js\"; // Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable\n\nexport default function getDocumentRect(element) {\n  var _element$ownerDocumen;\n\n  var html = getDocumentElement(element);\n  var winScroll = getWindowScroll(element);\n  var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;\n  var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);\n  var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);\n  var x = -winScroll.scrollLeft + getWindowScrollBarX(element);\n  var y = -winScroll.scrollTop;\n\n  if (getComputedStyle(body || html).direction === 'rtl') {\n    x += max(html.clientWidth, body ? body.clientWidth : 0) - width;\n  }\n\n  return {\n    width: width,\n    height: height,\n    x: x,\n    y: y\n  };\n}","import getComputedStyle from \"./getComputedStyle.js\";\nexport default function isScrollParent(element) {\n  // Firefox wants us to check `-x` and `-y` variations as well\n  var _getComputedStyle = getComputedStyle(element),\n      overflow = _getComputedStyle.overflow,\n      overflowX = _getComputedStyle.overflowX,\n      overflowY = _getComputedStyle.overflowY;\n\n  return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);\n}","import getParentNode from \"./getParentNode.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nexport default function getScrollParent(node) {\n  if (['html', 'body', '#document'].indexOf(getNodeName(node)) >= 0) {\n    // $FlowFixMe[incompatible-return]: assume body is always available\n    return node.ownerDocument.body;\n  }\n\n  if (isHTMLElement(node) && isScrollParent(node)) {\n    return node;\n  }\n\n  return getScrollParent(getParentNode(node));\n}","import getScrollParent from \"./getScrollParent.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport getWindow from \"./getWindow.js\";\nimport isScrollParent from \"./isScrollParent.js\";\n/*\ngiven a DOM element, return the list of all scroll parents, up the list of ancesors\nuntil we get to the top window object. This list is what we attach scroll listeners\nto, because if any of these parent elements scroll, we'll need to re-calculate the\nreference element's position.\n*/\n\nexport default function listScrollParents(element, list) {\n  var _element$ownerDocumen;\n\n  if (list === void 0) {\n    list = [];\n  }\n\n  var scrollParent = getScrollParent(element);\n  var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body);\n  var win = getWindow(scrollParent);\n  var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent;\n  var updatedList = list.concat(target);\n  return isBody ? updatedList : // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here\n  updatedList.concat(listScrollParents(getParentNode(target)));\n}","export default function rectToClientRect(rect) {\n  return Object.assign({}, rect, {\n    left: rect.x,\n    top: rect.y,\n    right: rect.x + rect.width,\n    bottom: rect.y + rect.height\n  });\n}","import { viewport } from \"../enums.js\";\nimport getViewportRect from \"./getViewportRect.js\";\nimport getDocumentRect from \"./getDocumentRect.js\";\nimport listScrollParents from \"./listScrollParents.js\";\nimport getOffsetParent from \"./getOffsetParent.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport getComputedStyle from \"./getComputedStyle.js\";\nimport { isElement, isHTMLElement } from \"./instanceOf.js\";\nimport getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getParentNode from \"./getParentNode.js\";\nimport contains from \"./contains.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport rectToClientRect from \"../utils/rectToClientRect.js\";\nimport { max, min } from \"../utils/math.js\";\n\nfunction getInnerBoundingClientRect(element, strategy) {\n  var rect = getBoundingClientRect(element, false, strategy === 'fixed');\n  rect.top = rect.top + element.clientTop;\n  rect.left = rect.left + element.clientLeft;\n  rect.bottom = rect.top + element.clientHeight;\n  rect.right = rect.left + element.clientWidth;\n  rect.width = element.clientWidth;\n  rect.height = element.clientHeight;\n  rect.x = rect.left;\n  rect.y = rect.top;\n  return rect;\n}\n\nfunction getClientRectFromMixedType(element, clippingParent, strategy) {\n  return clippingParent === viewport ? rectToClientRect(getViewportRect(element, strategy)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent, strategy) : rectToClientRect(getDocumentRect(getDocumentElement(element)));\n} // A \"clipping parent\" is an overflowable container with the characteristic of\n// clipping (or hiding) overflowing elements with a position different from\n// `initial`\n\n\nfunction getClippingParents(element) {\n  var clippingParents = listScrollParents(getParentNode(element));\n  var canEscapeClipping = ['absolute', 'fixed'].indexOf(getComputedStyle(element).position) >= 0;\n  var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;\n\n  if (!isElement(clipperElement)) {\n    return [];\n  } // $FlowFixMe[incompatible-return]: https://github.com/facebook/flow/issues/1414\n\n\n  return clippingParents.filter(function (clippingParent) {\n    return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== 'body';\n  });\n} // Gets the maximum area that the element is visible in due to any number of\n// clipping parents\n\n\nexport default function getClippingRect(element, boundary, rootBoundary, strategy) {\n  var mainClippingParents = boundary === 'clippingParents' ? getClippingParents(element) : [].concat(boundary);\n  var clippingParents = [].concat(mainClippingParents, [rootBoundary]);\n  var firstClippingParent = clippingParents[0];\n  var clippingRect = clippingParents.reduce(function (accRect, clippingParent) {\n    var rect = getClientRectFromMixedType(element, clippingParent, 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  }, getClientRectFromMixedType(element, firstClippingParent, strategy));\n  clippingRect.width = clippingRect.right - clippingRect.left;\n  clippingRect.height = clippingRect.bottom - clippingRect.top;\n  clippingRect.x = clippingRect.left;\n  clippingRect.y = clippingRect.top;\n  return clippingRect;\n}","import getBasePlacement from \"./getBasePlacement.js\";\nimport getVariation from \"./getVariation.js\";\nimport getMainAxisFromPlacement from \"./getMainAxisFromPlacement.js\";\nimport { top, right, bottom, left, start, end } from \"../enums.js\";\nexport default function computeOffsets(_ref) {\n  var reference = _ref.reference,\n      element = _ref.element,\n      placement = _ref.placement;\n  var basePlacement = placement ? getBasePlacement(placement) : null;\n  var variation = placement ? getVariation(placement) : null;\n  var commonX = reference.x + reference.width / 2 - element.width / 2;\n  var commonY = reference.y + reference.height / 2 - element.height / 2;\n  var offsets;\n\n  switch (basePlacement) {\n    case top:\n      offsets = {\n        x: commonX,\n        y: reference.y - element.height\n      };\n      break;\n\n    case bottom:\n      offsets = {\n        x: commonX,\n        y: reference.y + reference.height\n      };\n      break;\n\n    case right:\n      offsets = {\n        x: reference.x + reference.width,\n        y: commonY\n      };\n      break;\n\n    case left:\n      offsets = {\n        x: reference.x - element.width,\n        y: commonY\n      };\n      break;\n\n    default:\n      offsets = {\n        x: reference.x,\n        y: reference.y\n      };\n  }\n\n  var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null;\n\n  if (mainAxis != null) {\n    var len = mainAxis === 'y' ? 'height' : 'width';\n\n    switch (variation) {\n      case start:\n        offsets[mainAxis] = offsets[mainAxis] - (reference[len] / 2 - element[len] / 2);\n        break;\n\n      case end:\n        offsets[mainAxis] = offsets[mainAxis] + (reference[len] / 2 - element[len] / 2);\n        break;\n\n      default:\n    }\n  }\n\n  return offsets;\n}","import getClippingRect from \"../dom-utils/getClippingRect.js\";\nimport getDocumentElement from \"../dom-utils/getDocumentElement.js\";\nimport getBoundingClientRect from \"../dom-utils/getBoundingClientRect.js\";\nimport computeOffsets from \"./computeOffsets.js\";\nimport rectToClientRect from \"./rectToClientRect.js\";\nimport { clippingParents, reference, popper, bottom, top, right, basePlacements, viewport } from \"../enums.js\";\nimport { isElement } from \"../dom-utils/instanceOf.js\";\nimport mergePaddingObject from \"./mergePaddingObject.js\";\nimport expandToHashMap from \"./expandToHashMap.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport default function detectOverflow(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      _options$placement = _options.placement,\n      placement = _options$placement === void 0 ? state.placement : _options$placement,\n      _options$strategy = _options.strategy,\n      strategy = _options$strategy === void 0 ? state.strategy : _options$strategy,\n      _options$boundary = _options.boundary,\n      boundary = _options$boundary === void 0 ? clippingParents : _options$boundary,\n      _options$rootBoundary = _options.rootBoundary,\n      rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary,\n      _options$elementConte = _options.elementContext,\n      elementContext = _options$elementConte === void 0 ? popper : _options$elementConte,\n      _options$altBoundary = _options.altBoundary,\n      altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary,\n      _options$padding = _options.padding,\n      padding = _options$padding === void 0 ? 0 : _options$padding;\n  var paddingObject = mergePaddingObject(typeof padding !== 'number' ? padding : expandToHashMap(padding, basePlacements));\n  var altContext = elementContext === popper ? reference : popper;\n  var popperRect = state.rects.popper;\n  var element = state.elements[altBoundary ? altContext : elementContext];\n  var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary, strategy);\n  var referenceClientRect = getBoundingClientRect(state.elements.reference);\n  var popperOffsets = computeOffsets({\n    reference: referenceClientRect,\n    element: popperRect,\n    strategy: 'absolute',\n    placement: placement\n  });\n  var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets));\n  var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; // positive = overflowing the clipping rect\n  // 0 or negative = within the clipping rect\n\n  var overflowOffsets = {\n    top: clippingClientRect.top - elementClientRect.top + paddingObject.top,\n    bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,\n    left: clippingClientRect.left - elementClientRect.left + paddingObject.left,\n    right: elementClientRect.right - clippingClientRect.right + paddingObject.right\n  };\n  var offsetData = state.modifiersData.offset; // Offsets can be applied only to the popper element\n\n  if (elementContext === popper && offsetData) {\n    var offset = offsetData[placement];\n    Object.keys(overflowOffsets).forEach(function (key) {\n      var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1;\n      var axis = [top, bottom].indexOf(key) >= 0 ? 'y' : 'x';\n      overflowOffsets[key] += offset[axis] * multiply;\n    });\n  }\n\n  return overflowOffsets;\n}","import getVariation from \"./getVariation.js\";\nimport { variationPlacements, basePlacements, placements as allPlacements } from \"../enums.js\";\nimport detectOverflow from \"./detectOverflow.js\";\nimport getBasePlacement from \"./getBasePlacement.js\";\nexport default function computeAutoPlacement(state, options) {\n  if (options === void 0) {\n    options = {};\n  }\n\n  var _options = options,\n      placement = _options.placement,\n      boundary = _options.boundary,\n      rootBoundary = _options.rootBoundary,\n      padding = _options.padding,\n      flipVariations = _options.flipVariations,\n      _options$allowedAutoP = _options.allowedAutoPlacements,\n      allowedAutoPlacements = _options$allowedAutoP === void 0 ? allPlacements : _options$allowedAutoP;\n  var variation = getVariation(placement);\n  var placements = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function (placement) {\n    return getVariation(placement) === variation;\n  }) : basePlacements;\n  var allowedPlacements = placements.filter(function (placement) {\n    return allowedAutoPlacements.indexOf(placement) >= 0;\n  });\n\n  if (allowedPlacements.length === 0) {\n    allowedPlacements = placements;\n  } // $FlowFixMe[incompatible-type]: Flow seems to have problems with two array unions...\n\n\n  var overflows = allowedPlacements.reduce(function (acc, placement) {\n    acc[placement] = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding\n    })[getBasePlacement(placement)];\n    return acc;\n  }, {});\n  return Object.keys(overflows).sort(function (a, b) {\n    return overflows[a] - overflows[b];\n  });\n}","import getOppositePlacement from \"../utils/getOppositePlacement.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getOppositeVariationPlacement from \"../utils/getOppositeVariationPlacement.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport computeAutoPlacement from \"../utils/computeAutoPlacement.js\";\nimport { bottom, top, start, right, left, auto } from \"../enums.js\";\nimport getVariation from \"../utils/getVariation.js\"; // eslint-disable-next-line import/no-unused-modules\n\nfunction getExpandedFallbackPlacements(placement) {\n  if (getBasePlacement(placement) === auto) {\n    return [];\n  }\n\n  var oppositePlacement = getOppositePlacement(placement);\n  return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)];\n}\n\nfunction flip(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n\n  if (state.modifiersData[name]._skip) {\n    return;\n  }\n\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis,\n      specifiedFallbackPlacements = options.fallbackPlacements,\n      padding = options.padding,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      _options$flipVariatio = options.flipVariations,\n      flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio,\n      allowedAutoPlacements = options.allowedAutoPlacements;\n  var preferredPlacement = state.options.placement;\n  var basePlacement = getBasePlacement(preferredPlacement);\n  var isBasePlacement = basePlacement === preferredPlacement;\n  var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement));\n  var placements = [preferredPlacement].concat(fallbackPlacements).reduce(function (acc, placement) {\n    return acc.concat(getBasePlacement(placement) === auto ? computeAutoPlacement(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      padding: padding,\n      flipVariations: flipVariations,\n      allowedAutoPlacements: allowedAutoPlacements\n    }) : placement);\n  }, []);\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var checksMap = new Map();\n  var makeFallbackChecks = true;\n  var firstFittingPlacement = placements[0];\n\n  for (var i = 0; i < placements.length; i++) {\n    var placement = placements[i];\n\n    var _basePlacement = getBasePlacement(placement);\n\n    var isStartVariation = getVariation(placement) === start;\n    var isVertical = [top, bottom].indexOf(_basePlacement) >= 0;\n    var len = isVertical ? 'width' : 'height';\n    var overflow = detectOverflow(state, {\n      placement: placement,\n      boundary: boundary,\n      rootBoundary: rootBoundary,\n      altBoundary: altBoundary,\n      padding: padding\n    });\n    var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top;\n\n    if (referenceRect[len] > popperRect[len]) {\n      mainVariationSide = getOppositePlacement(mainVariationSide);\n    }\n\n    var altVariationSide = getOppositePlacement(mainVariationSide);\n    var checks = [];\n\n    if (checkMainAxis) {\n      checks.push(overflow[_basePlacement] <= 0);\n    }\n\n    if (checkAltAxis) {\n      checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0);\n    }\n\n    if (checks.every(function (check) {\n      return check;\n    })) {\n      firstFittingPlacement = placement;\n      makeFallbackChecks = false;\n      break;\n    }\n\n    checksMap.set(placement, checks);\n  }\n\n  if (makeFallbackChecks) {\n    // `2` may be desired in some cases â€“ research later\n    var numberOfChecks = flipVariations ? 3 : 1;\n\n    var _loop = function _loop(_i) {\n      var fittingPlacement = placements.find(function (placement) {\n        var checks = checksMap.get(placement);\n\n        if (checks) {\n          return checks.slice(0, _i).every(function (check) {\n            return check;\n          });\n        }\n      });\n\n      if (fittingPlacement) {\n        firstFittingPlacement = fittingPlacement;\n        return \"break\";\n      }\n    };\n\n    for (var _i = numberOfChecks; _i > 0; _i--) {\n      var _ret = _loop(_i);\n\n      if (_ret === \"break\") break;\n    }\n  }\n\n  if (state.placement !== firstFittingPlacement) {\n    state.modifiersData[name]._skip = true;\n    state.placement = firstFittingPlacement;\n    state.reset = true;\n  }\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'flip',\n  enabled: true,\n  phase: 'main',\n  fn: flip,\n  requiresIfExists: ['offset'],\n  data: {\n    _skip: false\n  }\n};","import { top, bottom, left, right } from \"../enums.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\n\nfunction getSideOffsets(overflow, rect, preventedOffsets) {\n  if (preventedOffsets === void 0) {\n    preventedOffsets = {\n      x: 0,\n      y: 0\n    };\n  }\n\n  return {\n    top: overflow.top - rect.height - preventedOffsets.y,\n    right: overflow.right - rect.width + preventedOffsets.x,\n    bottom: overflow.bottom - rect.height + preventedOffsets.y,\n    left: overflow.left - rect.width - preventedOffsets.x\n  };\n}\n\nfunction isAnySideFullyClipped(overflow) {\n  return [top, right, bottom, left].some(function (side) {\n    return overflow[side] >= 0;\n  });\n}\n\nfunction hide(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var preventedOffsets = state.modifiersData.preventOverflow;\n  var referenceOverflow = detectOverflow(state, {\n    elementContext: 'reference'\n  });\n  var popperAltOverflow = detectOverflow(state, {\n    altBoundary: true\n  });\n  var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect);\n  var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets);\n  var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets);\n  var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets);\n  state.modifiersData[name] = {\n    referenceClippingOffsets: referenceClippingOffsets,\n    popperEscapeOffsets: popperEscapeOffsets,\n    isReferenceHidden: isReferenceHidden,\n    hasPopperEscaped: hasPopperEscaped\n  };\n  state.attributes.popper = Object.assign({}, state.attributes.popper, {\n    'data-popper-reference-hidden': isReferenceHidden,\n    'data-popper-escaped': hasPopperEscaped\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'hide',\n  enabled: true,\n  phase: 'main',\n  requiresIfExists: ['preventOverflow'],\n  fn: hide\n};","import getBasePlacement from \"../utils/getBasePlacement.js\";\nimport { top, left, right, placements } from \"../enums.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport function distanceAndSkiddingToXY(placement, rects, offset) {\n  var basePlacement = getBasePlacement(placement);\n  var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1;\n\n  var _ref = typeof offset === 'function' ? offset(Object.assign({}, rects, {\n    placement: placement\n  })) : offset,\n      skidding = _ref[0],\n      distance = _ref[1];\n\n  skidding = skidding || 0;\n  distance = (distance || 0) * invertDistance;\n  return [left, right].indexOf(basePlacement) >= 0 ? {\n    x: distance,\n    y: skidding\n  } : {\n    x: skidding,\n    y: distance\n  };\n}\n\nfunction offset(_ref2) {\n  var state = _ref2.state,\n      options = _ref2.options,\n      name = _ref2.name;\n  var _options$offset = options.offset,\n      offset = _options$offset === void 0 ? [0, 0] : _options$offset;\n  var data = placements.reduce(function (acc, placement) {\n    acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset);\n    return acc;\n  }, {});\n  var _data$state$placement = data[state.placement],\n      x = _data$state$placement.x,\n      y = _data$state$placement.y;\n\n  if (state.modifiersData.popperOffsets != null) {\n    state.modifiersData.popperOffsets.x += x;\n    state.modifiersData.popperOffsets.y += y;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'offset',\n  enabled: true,\n  phase: 'main',\n  requires: ['popperOffsets'],\n  fn: offset\n};","import computeOffsets from \"../utils/computeOffsets.js\";\n\nfunction popperOffsets(_ref) {\n  var state = _ref.state,\n      name = _ref.name;\n  // Offsets are the actual position the popper needs to have to be\n  // properly positioned near its reference element\n  // This is the most basic placement, and will be adjusted by\n  // the modifiers in the next step\n  state.modifiersData[name] = computeOffsets({\n    reference: state.rects.reference,\n    element: state.rects.popper,\n    strategy: 'absolute',\n    placement: state.placement\n  });\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'popperOffsets',\n  enabled: true,\n  phase: 'read',\n  fn: popperOffsets,\n  data: {}\n};","export default function getAltAxis(axis) {\n  return axis === 'x' ? 'y' : 'x';\n}","import { top, left, right, bottom, start } from \"../enums.js\";\nimport getBasePlacement from \"../utils/getBasePlacement.js\";\nimport getMainAxisFromPlacement from \"../utils/getMainAxisFromPlacement.js\";\nimport getAltAxis from \"../utils/getAltAxis.js\";\nimport { within, withinMaxClamp } from \"../utils/within.js\";\nimport getLayoutRect from \"../dom-utils/getLayoutRect.js\";\nimport getOffsetParent from \"../dom-utils/getOffsetParent.js\";\nimport detectOverflow from \"../utils/detectOverflow.js\";\nimport getVariation from \"../utils/getVariation.js\";\nimport getFreshSideObject from \"../utils/getFreshSideObject.js\";\nimport { min as mathMin, max as mathMax } from \"../utils/math.js\";\n\nfunction preventOverflow(_ref) {\n  var state = _ref.state,\n      options = _ref.options,\n      name = _ref.name;\n  var _options$mainAxis = options.mainAxis,\n      checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis,\n      _options$altAxis = options.altAxis,\n      checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis,\n      boundary = options.boundary,\n      rootBoundary = options.rootBoundary,\n      altBoundary = options.altBoundary,\n      padding = options.padding,\n      _options$tether = options.tether,\n      tether = _options$tether === void 0 ? true : _options$tether,\n      _options$tetherOffset = options.tetherOffset,\n      tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset;\n  var overflow = detectOverflow(state, {\n    boundary: boundary,\n    rootBoundary: rootBoundary,\n    padding: padding,\n    altBoundary: altBoundary\n  });\n  var basePlacement = getBasePlacement(state.placement);\n  var variation = getVariation(state.placement);\n  var isBasePlacement = !variation;\n  var mainAxis = getMainAxisFromPlacement(basePlacement);\n  var altAxis = getAltAxis(mainAxis);\n  var popperOffsets = state.modifiersData.popperOffsets;\n  var referenceRect = state.rects.reference;\n  var popperRect = state.rects.popper;\n  var tetherOffsetValue = typeof tetherOffset === 'function' ? tetherOffset(Object.assign({}, state.rects, {\n    placement: state.placement\n  })) : tetherOffset;\n  var normalizedTetherOffsetValue = typeof tetherOffsetValue === 'number' ? {\n    mainAxis: tetherOffsetValue,\n    altAxis: tetherOffsetValue\n  } : Object.assign({\n    mainAxis: 0,\n    altAxis: 0\n  }, tetherOffsetValue);\n  var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null;\n  var data = {\n    x: 0,\n    y: 0\n  };\n\n  if (!popperOffsets) {\n    return;\n  }\n\n  if (checkMainAxis) {\n    var _offsetModifierState$;\n\n    var mainSide = mainAxis === 'y' ? top : left;\n    var altSide = mainAxis === 'y' ? bottom : right;\n    var len = mainAxis === 'y' ? 'height' : 'width';\n    var offset = popperOffsets[mainAxis];\n    var min = offset + overflow[mainSide];\n    var max = offset - overflow[altSide];\n    var additive = tether ? -popperRect[len] / 2 : 0;\n    var minLen = variation === start ? referenceRect[len] : popperRect[len];\n    var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; // We need to include the arrow in the calculation so the arrow doesn't go\n    // outside the reference bounds\n\n    var arrowElement = state.elements.arrow;\n    var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : {\n      width: 0,\n      height: 0\n    };\n    var arrowPaddingObject = state.modifiersData['arrow#persistent'] ? state.modifiersData['arrow#persistent'].padding : getFreshSideObject();\n    var arrowPaddingMin = arrowPaddingObject[mainSide];\n    var arrowPaddingMax = arrowPaddingObject[altSide]; // If the reference length is smaller than the arrow length, we don't want\n    // to include its full size in the calculation. If the reference is small\n    // and near the edge of a boundary, the popper can overflow even if the\n    // reference is not overflowing as well (e.g. virtual elements with no\n    // width or height)\n\n    var arrowLen = within(0, referenceRect[len], arrowRect[len]);\n    var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis;\n    var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis;\n    var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow);\n    var clientOffset = arrowOffsetParent ? mainAxis === 'y' ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0;\n    var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0;\n    var tetherMin = offset + minOffset - offsetModifierValue - clientOffset;\n    var tetherMax = offset + maxOffset - offsetModifierValue;\n    var preventedOffset = within(tether ? mathMin(min, tetherMin) : min, offset, tether ? mathMax(max, tetherMax) : max);\n    popperOffsets[mainAxis] = preventedOffset;\n    data[mainAxis] = preventedOffset - offset;\n  }\n\n  if (checkAltAxis) {\n    var _offsetModifierState$2;\n\n    var _mainSide = mainAxis === 'x' ? top : left;\n\n    var _altSide = mainAxis === 'x' ? bottom : right;\n\n    var _offset = popperOffsets[altAxis];\n\n    var _len = altAxis === 'y' ? 'height' : 'width';\n\n    var _min = _offset + overflow[_mainSide];\n\n    var _max = _offset - overflow[_altSide];\n\n    var isOriginSide = [top, left].indexOf(basePlacement) !== -1;\n\n    var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0;\n\n    var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis;\n\n    var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max;\n\n    var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max);\n\n    popperOffsets[altAxis] = _preventedOffset;\n    data[altAxis] = _preventedOffset - _offset;\n  }\n\n  state.modifiersData[name] = data;\n} // eslint-disable-next-line import/no-unused-modules\n\n\nexport default {\n  name: 'preventOverflow',\n  enabled: true,\n  phase: 'main',\n  fn: preventOverflow,\n  requiresIfExists: ['offset']\n};","export default function getHTMLElementScroll(element) {\n  return {\n    scrollLeft: element.scrollLeft,\n    scrollTop: element.scrollTop\n  };\n}","import getWindowScroll from \"./getWindowScroll.js\";\nimport getWindow from \"./getWindow.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getHTMLElementScroll from \"./getHTMLElementScroll.js\";\nexport default function getNodeScroll(node) {\n  if (node === getWindow(node) || !isHTMLElement(node)) {\n    return getWindowScroll(node);\n  } else {\n    return getHTMLElementScroll(node);\n  }\n}","import getBoundingClientRect from \"./getBoundingClientRect.js\";\nimport getNodeScroll from \"./getNodeScroll.js\";\nimport getNodeName from \"./getNodeName.js\";\nimport { isHTMLElement } from \"./instanceOf.js\";\nimport getWindowScrollBarX from \"./getWindowScrollBarX.js\";\nimport getDocumentElement from \"./getDocumentElement.js\";\nimport isScrollParent from \"./isScrollParent.js\";\nimport { round } from \"../utils/math.js\";\n\nfunction isElementScaled(element) {\n  var rect = element.getBoundingClientRect();\n  var scaleX = round(rect.width) / element.offsetWidth || 1;\n  var scaleY = round(rect.height) / element.offsetHeight || 1;\n  return scaleX !== 1 || scaleY !== 1;\n} // Returns the composite rect of an element relative to its offsetParent.\n// Composite means it takes into account transforms as well as layout.\n\n\nexport default function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) {\n  if (isFixed === void 0) {\n    isFixed = false;\n  }\n\n  var isOffsetParentAnElement = isHTMLElement(offsetParent);\n  var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent);\n  var documentElement = getDocumentElement(offsetParent);\n  var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled, isFixed);\n  var scroll = {\n    scrollLeft: 0,\n    scrollTop: 0\n  };\n  var offsets = {\n    x: 0,\n    y: 0\n  };\n\n  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n    if (getNodeName(offsetParent) !== 'body' || // https://github.com/popperjs/popper-core/issues/1078\n    isScrollParent(documentElement)) {\n      scroll = getNodeScroll(offsetParent);\n    }\n\n    if (isHTMLElement(offsetParent)) {\n      offsets = getBoundingClientRect(offsetParent, true);\n      offsets.x += offsetParent.clientLeft;\n      offsets.y += offsetParent.clientTop;\n    } else if (documentElement) {\n      offsets.x = getWindowScrollBarX(documentElement);\n    }\n  }\n\n  return {\n    x: rect.left + scroll.scrollLeft - offsets.x,\n    y: rect.top + scroll.scrollTop - offsets.y,\n    width: rect.width,\n    height: rect.height\n  };\n}","import { modifierPhases } from \"../enums.js\"; // source: https://stackoverflow.com/questions/49875255\n\nfunction order(modifiers) {\n  var map = new Map();\n  var visited = new Set();\n  var result = [];\n  modifiers.forEach(function (modifier) {\n    map.set(modifier.name, modifier);\n  }); // On visiting object, check for its dependencies and visit them recursively\n\n  function sort(modifier) {\n    visited.add(modifier.name);\n    var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []);\n    requires.forEach(function (dep) {\n      if (!visited.has(dep)) {\n        var depModifier = map.get(dep);\n\n        if (depModifier) {\n          sort(depModifier);\n        }\n      }\n    });\n    result.push(modifier);\n  }\n\n  modifiers.forEach(function (modifier) {\n    if (!visited.has(modifier.name)) {\n      // check for visited object\n      sort(modifier);\n    }\n  });\n  return result;\n}\n\nexport default function orderModifiers(modifiers) {\n  // order based on dependencies\n  var orderedModifiers = order(modifiers); // order based on phase\n\n  return modifierPhases.reduce(function (acc, phase) {\n    return acc.concat(orderedModifiers.filter(function (modifier) {\n      return modifier.phase === phase;\n    }));\n  }, []);\n}","export default function debounce(fn) {\n  var pending;\n  return function () {\n    if (!pending) {\n      pending = new Promise(function (resolve) {\n        Promise.resolve().then(function () {\n          pending = undefined;\n          resolve(fn());\n        });\n      });\n    }\n\n    return pending;\n  };\n}","export default function mergeByName(modifiers) {\n  var merged = modifiers.reduce(function (merged, current) {\n    var existing = merged[current.name];\n    merged[current.name] = existing ? Object.assign({}, existing, current, {\n      options: Object.assign({}, existing.options, current.options),\n      data: Object.assign({}, existing.data, current.data)\n    }) : current;\n    return merged;\n  }, {}); // IE11 does not support Object.values\n\n  return Object.keys(merged).map(function (key) {\n    return merged[key];\n  });\n}","import getCompositeRect from \"./dom-utils/getCompositeRect.js\";\nimport getLayoutRect from \"./dom-utils/getLayoutRect.js\";\nimport listScrollParents from \"./dom-utils/listScrollParents.js\";\nimport getOffsetParent from \"./dom-utils/getOffsetParent.js\";\nimport orderModifiers from \"./utils/orderModifiers.js\";\nimport debounce from \"./utils/debounce.js\";\nimport mergeByName from \"./utils/mergeByName.js\";\nimport detectOverflow from \"./utils/detectOverflow.js\";\nimport { isElement } from \"./dom-utils/instanceOf.js\";\nvar DEFAULT_OPTIONS = {\n  placement: 'bottom',\n  modifiers: [],\n  strategy: 'absolute'\n};\n\nfunction areValidElements() {\n  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n    args[_key] = arguments[_key];\n  }\n\n  return !args.some(function (element) {\n    return !(element && typeof element.getBoundingClientRect === 'function');\n  });\n}\n\nexport function popperGenerator(generatorOptions) {\n  if (generatorOptions === void 0) {\n    generatorOptions = {};\n  }\n\n  var _generatorOptions = generatorOptions,\n      _generatorOptions$def = _generatorOptions.defaultModifiers,\n      defaultModifiers = _generatorOptions$def === void 0 ? [] : _generatorOptions$def,\n      _generatorOptions$def2 = _generatorOptions.defaultOptions,\n      defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2;\n  return function createPopper(reference, popper, options) {\n    if (options === void 0) {\n      options = defaultOptions;\n    }\n\n    var state = {\n      placement: 'bottom',\n      orderedModifiers: [],\n      options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions),\n      modifiersData: {},\n      elements: {\n        reference: reference,\n        popper: popper\n      },\n      attributes: {},\n      styles: {}\n    };\n    var effectCleanupFns = [];\n    var isDestroyed = false;\n    var instance = {\n      state: state,\n      setOptions: function setOptions(setOptionsAction) {\n        var options = typeof setOptionsAction === 'function' ? setOptionsAction(state.options) : setOptionsAction;\n        cleanupModifierEffects();\n        state.options = Object.assign({}, defaultOptions, state.options, options);\n        state.scrollParents = {\n          reference: isElement(reference) ? listScrollParents(reference) : reference.contextElement ? listScrollParents(reference.contextElement) : [],\n          popper: listScrollParents(popper)\n        }; // Orders the modifiers based on their dependencies and `phase`\n        // properties\n\n        var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers, state.options.modifiers))); // Strip out disabled modifiers\n\n        state.orderedModifiers = orderedModifiers.filter(function (m) {\n          return m.enabled;\n        });\n        runModifierEffects();\n        return instance.update();\n      },\n      // Sync update â€“ it will always be executed, even if not necessary. This\n      // is useful for low frequency updates where sync behavior simplifies the\n      // logic.\n      // For high frequency updates (e.g. `resize` and `scroll` events), always\n      // prefer the async Popper#update method\n      forceUpdate: function forceUpdate() {\n        if (isDestroyed) {\n          return;\n        }\n\n        var _state$elements = state.elements,\n            reference = _state$elements.reference,\n            popper = _state$elements.popper; // Don't proceed if `reference` or `popper` are not valid elements\n        // anymore\n\n        if (!areValidElements(reference, popper)) {\n          return;\n        } // Store the reference and popper rects to be read by modifiers\n\n\n        state.rects = {\n          reference: getCompositeRect(reference, getOffsetParent(popper), state.options.strategy === 'fixed'),\n          popper: getLayoutRect(popper)\n        }; // Modifiers have the ability to reset the current update cycle. The\n        // most common use case for this is the `flip` modifier changing the\n        // placement, which then needs to re-run all the modifiers, because the\n        // logic was previously ran for the previous placement and is therefore\n        // stale/incorrect\n\n        state.reset = false;\n        state.placement = state.options.placement; // On each update cycle, the `modifiersData` property for each modifier\n        // is filled with the initial data specified by the modifier. This means\n        // it doesn't persist and is fresh on each update.\n        // To ensure persistent data, use `${name}#persistent`\n\n        state.orderedModifiers.forEach(function (modifier) {\n          return state.modifiersData[modifier.name] = Object.assign({}, modifier.data);\n        });\n\n        for (var index = 0; index < state.orderedModifiers.length; index++) {\n          if (state.reset === true) {\n            state.reset = false;\n            index = -1;\n            continue;\n          }\n\n          var _state$orderedModifie = state.orderedModifiers[index],\n              fn = _state$orderedModifie.fn,\n              _state$orderedModifie2 = _state$orderedModifie.options,\n              _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2,\n              name = _state$orderedModifie.name;\n\n          if (typeof fn === 'function') {\n            state = fn({\n              state: state,\n              options: _options,\n              name: name,\n              instance: instance\n            }) || state;\n          }\n        }\n      },\n      // Async and optimistically optimized update â€“ it will not be executed if\n      // not necessary (debounced to run at most once-per-tick)\n      update: debounce(function () {\n        return new Promise(function (resolve) {\n          instance.forceUpdate();\n          resolve(state);\n        });\n      }),\n      destroy: function destroy() {\n        cleanupModifierEffects();\n        isDestroyed = true;\n      }\n    };\n\n    if (!areValidElements(reference, popper)) {\n      return instance;\n    }\n\n    instance.setOptions(options).then(function (state) {\n      if (!isDestroyed && options.onFirstUpdate) {\n        options.onFirstUpdate(state);\n      }\n    }); // Modifiers have the ability to execute arbitrary code before the first\n    // update cycle runs. They will be executed in the same order as the update\n    // cycle. This is useful when a modifier adds some persistent data that\n    // other modifiers need to use, but the modifier is run after the dependent\n    // one.\n\n    function runModifierEffects() {\n      state.orderedModifiers.forEach(function (_ref) {\n        var name = _ref.name,\n            _ref$options = _ref.options,\n            options = _ref$options === void 0 ? {} : _ref$options,\n            effect = _ref.effect;\n\n        if (typeof effect === 'function') {\n          var cleanupFn = effect({\n            state: state,\n            name: name,\n            instance: instance,\n            options: options\n          });\n\n          var noopFn = function noopFn() {};\n\n          effectCleanupFns.push(cleanupFn || noopFn);\n        }\n      });\n    }\n\n    function cleanupModifierEffects() {\n      effectCleanupFns.forEach(function (fn) {\n        return fn();\n      });\n      effectCleanupFns = [];\n    }\n\n    return instance;\n  };\n}\nexport var createPopper = /*#__PURE__*/popperGenerator(); // eslint-disable-next-line import/no-unused-modules\n\nexport { detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles];\nvar createPopper = /*#__PURE__*/popperGenerator({\n  defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow };","import { popperGenerator, detectOverflow } from \"./createPopper.js\";\nimport eventListeners from \"./modifiers/eventListeners.js\";\nimport popperOffsets from \"./modifiers/popperOffsets.js\";\nimport computeStyles from \"./modifiers/computeStyles.js\";\nimport applyStyles from \"./modifiers/applyStyles.js\";\nimport offset from \"./modifiers/offset.js\";\nimport flip from \"./modifiers/flip.js\";\nimport preventOverflow from \"./modifiers/preventOverflow.js\";\nimport arrow from \"./modifiers/arrow.js\";\nimport hide from \"./modifiers/hide.js\";\nvar defaultModifiers = [eventListeners, popperOffsets, computeStyles, applyStyles, offset, flip, preventOverflow, arrow, hide];\nvar createPopper = /*#__PURE__*/popperGenerator({\n  defaultModifiers: defaultModifiers\n}); // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper, popperGenerator, defaultModifiers, detectOverflow }; // eslint-disable-next-line import/no-unused-modules\n\nexport { createPopper as createPopperLite } from \"./popper-lite.js\"; // eslint-disable-next-line import/no-unused-modules\n\nexport * from \"./modifiers/index.js\";","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\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'\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 RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\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'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\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_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  popperConfig: null,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  popperConfig: '(null|object|function)',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._popper = null\n    this._parent = this._element.parentNode // dropdown wrapper\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    this._inNavbar = this._detectNavbar()\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._createPopper()\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    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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    super.dispose()\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper) {\n      this._popper.update()\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    // 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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'popper')\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      // Popper 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  _createPopper() {\n    if (typeof Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\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    const popperConfig = this._getPopperConfig()\n    this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const parentDropdown = this._parent\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n      return PLACEMENT_RIGHT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n      return PLACEMENT_LEFT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n      return PLACEMENT_TOPCENTER\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n      return PLACEMENT_BOTTOMCENTER\n    }\n\n    // We need to trim the value because custom properties can also include spaces\n    const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n      return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n    }\n\n    return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n  }\n\n  _detectNavbar() {\n    return this._element.closest(SELECTOR_NAVBAR) !== null\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _getPopperConfig() {\n    const defaultBsPopperConfig = {\n      placement: this._getPlacement(),\n      modifiers: [{\n        name: 'preventOverflow',\n        options: {\n          boundary: this._config.boundary\n        }\n      },\n      {\n        name: 'offset',\n        options: {\n          offset: this._getOffset()\n        }\n      }]\n    }\n\n    // Disable Popper if we have a static display or Dropdown is in Navbar\n    if (this._inNavbar || this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n      defaultBsPopperConfig.modifiers = [{\n        name: 'applyStyles',\n        enabled: false\n      }]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).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  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 an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\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\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\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    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\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/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 modal.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  isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\n  keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n    this._scrollBar = new ScrollBarHelper()\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    this._scrollBar.hide()\n\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._adjustDialog()\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._dialog, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    this._adjustDialog()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated()\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic modal\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    this._element.style.display = 'block'\n    this._element.removeAttribute('aria-hidden')\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.scrollTop = 0\n\n    const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n    if (modalBody) {\n      modalBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        this._adjustDialog()\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideModal() {\n    this._element.style.display = 'none'\n    this._element.setAttribute('aria-hidden', true)\n    this._element.removeAttribute('aria-modal')\n    this._element.removeAttribute('role')\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      this._resetAdjustments()\n      this._scrollBar.reset()\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isModalOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialog)\n    }, this._dialog)\n\n    this._element.focus()\n  }\n\n  /**\n   * The following methods are used to handle overflowing modals\n   */\n\n  _adjustDialog() {\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const scrollbarWidth = this._scrollBar.getWidth()\n    const isBodyOverflowing = scrollbarWidth > 0\n\n    if (isBodyOverflowing && !isModalOverflowing) {\n      const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n\n    if (!isBodyOverflowing && isModalOverflowing) {\n      const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n  }\n\n  _resetAdjustments() {\n    this._element.style.paddingLeft = ''\n    this._element.style.paddingRight = ''\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      // only register focus restorer if modal will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking modal toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Modal.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Modal.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\nexport default Modal\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 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 * as Popper from '@popperjs/core'\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'\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}`\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  popperConfig: 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  popperConfig: '(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 Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org/docs/v2/)')\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._popper = null\n    this._templateFactory = null\n    this._newContent = null\n\n    // Protected\n    this.tip = null\n\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._disposePopper()\n    super.dispose()\n  }\n\n  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    // TODO: v6 remove this or make it optional\n    this._disposePopper()\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    this._popper = this._createPopper(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._disposePopper()\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._popper) {\n      this._popper.update()\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    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\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._disposePopper()\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  _createPopper(tip) {\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    const attachment = AttachmentMap[placement.toUpperCase()]\n    return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getPopperConfig(attachment) {\n    const defaultBsPopperConfig = {\n      placement: attachment,\n      modifiers: [\n        {\n          name: 'flip',\n          options: {\n            fallbackPlacements: this._config.fallbackPlacements\n          }\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: this._getOffset()\n          }\n        },\n        {\n          name: 'preventOverflow',\n          options: {\n            boundary: this._config.boundary\n          }\n        },\n        {\n          name: 'arrow',\n          options: {\n            element: `.${this.constructor.NAME}-arrow`\n          }\n        },\n        {\n          name: 'preSetPlacement',\n          enabled: true,\n          phase: 'beforeMain',\n          fn: data => {\n            // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n            // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n            this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n          }\n        }\n      ]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\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  _disposePopper() {\n    if (this._popper) {\n      this._popper.destroy()\n      this._popper = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\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'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\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\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  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\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    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\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_INNER_ELEM}`)\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 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 Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Modal from './src/modal.js'\nimport Offcanvas from './src/offcanvas.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 Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dialog,\n  Dropdown,\n  Modal,\n  Offcanvas,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\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","_unused","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","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","data","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","hidden","_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_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_KEY","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","focus","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","ESCAPE_KEY","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG_CONTENT","SELECTOR_DIALOG_BODY","modal","Dialog","_dialogContent","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","showEvent","body","scrollbarGutter","_showElement","hideEvent","_hideDialog","handleUpdate","showModal","scrollTop","dialogBody","transitionComplete","_triggerBackdropTransition","event2","isDialogOverflowing","scrollHeight","clientHeight","initialOverflowY","overflowY","jQueryInterface","each","alreadyOpen","effect","mathMax","mathMin","hash","allPlacements","placements","createPopper","defaultModifiers","popperOffsets","computeStyles","applyStyles","offset","flip","preventOverflow","arrow","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","autoClose","boundary","display","popperConfig","reference","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","_completeHide","destroy","update","Popper","referenceElement","_getPopperConfig","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","modifiers","options","enabled","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","Modal","_dialog","_scrollBar","_adjustDialog","_hideModal","modalBody","_resetAdjustments","isModalOverflowing","isBodyOverflowing","paddingLeft","paddingRight","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","scroll","Offcanvas","blur","completeCallback","position","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","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","textContent","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","fallbackPlacements","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","phase","state","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","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","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","height","offsetTop","scrollTo","top","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","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","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"mappings":"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","x_google_ignoreList":[16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70]}
\ No newline at end of file
index af034e9a6c32550755795107942fd51be8349dea..36f19550c4f13185b1cdf9d56dedb72c8d62cc11 100644 (file)
@@ -763,13 +763,13 @@ const enableDismissTrigger = (component, method = 'hide') => {
  * Constants
  */
 
-const NAME$f = 'alert';
-const DATA_KEY$a = 'bs.alert';
-const EVENT_KEY$b = `.${DATA_KEY$a}`;
-const EVENT_CLOSE = `close${EVENT_KEY$b}`;
-const EVENT_CLOSED = `closed${EVENT_KEY$b}`;
-const CLASS_NAME_FADE$5 = 'fade';
-const CLASS_NAME_SHOW$8 = 'show';
+const NAME$g = 'alert';
+const DATA_KEY$b = 'bs.alert';
+const EVENT_KEY$c = `.${DATA_KEY$b}`;
+const EVENT_CLOSE = `close${EVENT_KEY$c}`;
+const EVENT_CLOSED = `closed${EVENT_KEY$c}`;
+const CLASS_NAME_FADE$6 = 'fade';
+const CLASS_NAME_SHOW$9 = 'show';
 
 /**
  * Class definition
@@ -778,7 +778,7 @@ const CLASS_NAME_SHOW$8 = 'show';
 class Alert extends BaseComponent {
   // Getters
   static get NAME() {
-    return NAME$f;
+    return NAME$g;
   }
 
   // Public
@@ -787,8 +787,8 @@ class Alert extends BaseComponent {
     if (closeEvent.defaultPrevented) {
       return;
     }
-    this._element.classList.remove(CLASS_NAME_SHOW$8);
-    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);
+    this._element.classList.remove(CLASS_NAME_SHOW$9);
+    const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$6);
     this._queueCallback(() => this._destroyElement(), this._element, isAnimated);
   }
 
@@ -818,13 +818,13 @@ enableDismissTrigger(Alert, 'close');
  * Constants
  */
 
-const NAME$e = 'button';
-const DATA_KEY$9 = 'bs.button';
-const EVENT_KEY$a = `.${DATA_KEY$9}`;
-const DATA_API_KEY$6 = '.data-api';
+const NAME$f = 'button';
+const DATA_KEY$a = 'bs.button';
+const EVENT_KEY$b = `.${DATA_KEY$a}`;
+const DATA_API_KEY$7 = '.data-api';
 const CLASS_NAME_ACTIVE$3 = 'active';
-const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]';
-const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
+const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="button"]';
+const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
 
 /**
  * Class definition
@@ -833,7 +833,7 @@ const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
 class Button extends BaseComponent {
   // Getters
   static get NAME() {
-    return NAME$e;
+    return NAME$f;
   }
 
   // Public
@@ -847,9 +847,9 @@ class Button extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {
+EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$6, event => {
   event.preventDefault();
-  const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
+  const button = event.target.closest(SELECTOR_DATA_TOGGLE$6);
   const data = Button.getOrCreateInstance(button);
   data.toggle();
 });
@@ -866,23 +866,23 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event
  * Constants
  */
 
-const NAME$d = 'swipe';
-const EVENT_KEY$9 = '.bs.swipe';
-const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;
-const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;
-const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;
-const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;
-const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;
+const NAME$e = 'swipe';
+const EVENT_KEY$a = '.bs.swipe';
+const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$a}`;
+const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$a}`;
+const EVENT_TOUCHEND = `touchend${EVENT_KEY$a}`;
+const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$a}`;
+const EVENT_POINTERUP = `pointerup${EVENT_KEY$a}`;
 const POINTER_TYPE_TOUCH = 'touch';
 const POINTER_TYPE_PEN = 'pen';
 const CLASS_NAME_POINTER_EVENT = 'pointer-event';
 const SWIPE_THRESHOLD = 40;
-const Default$c = {
+const Default$d = {
   endCallback: null,
   leftCallback: null,
   rightCallback: null
 };
-const DefaultType$c = {
+const DefaultType$d = {
   endCallback: '(function|null)',
   leftCallback: '(function|null)',
   rightCallback: '(function|null)'
@@ -907,18 +907,18 @@ class Swipe extends Config {
 
   // Getters
   static get Default() {
-    return Default$c;
+    return Default$d;
   }
   static get DefaultType() {
-    return DefaultType$c;
+    return DefaultType$d;
   }
   static get NAME() {
-    return NAME$d;
+    return NAME$e;
   }
 
   // Public
   dispose() {
-    EventHandler.off(this._element, EVENT_KEY$9);
+    EventHandler.off(this._element, EVENT_KEY$a);
   }
 
   // Private
@@ -986,10 +986,10 @@ class Swipe extends Config {
  * Constants
  */
 
-const NAME$c = 'carousel';
-const DATA_KEY$8 = 'bs.carousel';
-const EVENT_KEY$8 = `.${DATA_KEY$8}`;
-const DATA_API_KEY$5 = '.data-api';
+const NAME$d = 'carousel';
+const DATA_KEY$9 = 'bs.carousel';
+const EVENT_KEY$9 = `.${DATA_KEY$9}`;
+const DATA_API_KEY$6 = '.data-api';
 const ARROW_LEFT_KEY$1 = 'ArrowLeft';
 const ARROW_RIGHT_KEY$1 = 'ArrowRight';
 const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
@@ -998,14 +998,14 @@ const ORDER_NEXT = 'next';
 const ORDER_PREV = 'prev';
 const DIRECTION_LEFT = 'left';
 const DIRECTION_RIGHT = 'right';
-const EVENT_SLIDE = `slide${EVENT_KEY$8}`;
-const EVENT_SLID = `slid${EVENT_KEY$8}`;
-const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;
-const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;
-const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;
-const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;
-const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;
-const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
+const EVENT_SLIDE = `slide${EVENT_KEY$9}`;
+const EVENT_SLID = `slid${EVENT_KEY$9}`;
+const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$9}`;
+const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$9}`;
+const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$9}`;
+const EVENT_DRAG_START = `dragstart${EVENT_KEY$9}`;
+const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$9}${DATA_API_KEY$6}`;
+const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
 const CLASS_NAME_CAROUSEL = 'carousel';
 const CLASS_NAME_ACTIVE$2 = 'active';
 const CLASS_NAME_SLIDE = 'slide';
@@ -1024,7 +1024,7 @@ const KEY_TO_DIRECTION = {
   [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
   [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
 };
-const Default$b = {
+const Default$c = {
   interval: 5000,
   keyboard: true,
   pause: 'hover',
@@ -1032,7 +1032,7 @@ const Default$b = {
   touch: true,
   wrap: true
 };
-const DefaultType$b = {
+const DefaultType$c = {
   interval: '(number|boolean)',
   // TODO:v6 remove boolean support
   keyboard: 'boolean',
@@ -1063,13 +1063,13 @@ class Carousel extends BaseComponent {
 
   // Getters
   static get Default() {
-    return Default$b;
+    return Default$c;
   }
   static get DefaultType() {
-    return DefaultType$b;
+    return DefaultType$c;
   }
   static get NAME() {
-    return NAME$c;
+    return NAME$d;
   }
 
   // Public
@@ -1296,7 +1296,7 @@ class Carousel extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, function (event) {
   const target = SelectorEngine.getElementFromSelector(this);
   if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
     return;
@@ -1336,16 +1336,16 @@ EventHandler.on(window, EVENT_LOAD_DATA_API$3, () => {
  * Constants
  */
 
-const NAME$b = 'collapse';
-const DATA_KEY$7 = 'bs.collapse';
-const EVENT_KEY$7 = `.${DATA_KEY$7}`;
-const DATA_API_KEY$4 = '.data-api';
-const EVENT_SHOW$6 = `show${EVENT_KEY$7}`;
-const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;
-const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;
-const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;
-const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
-const CLASS_NAME_SHOW$7 = 'show';
+const NAME$c = 'collapse';
+const DATA_KEY$8 = 'bs.collapse';
+const EVENT_KEY$8 = `.${DATA_KEY$8}`;
+const DATA_API_KEY$5 = '.data-api';
+const EVENT_SHOW$7 = `show${EVENT_KEY$8}`;
+const EVENT_SHOWN$7 = `shown${EVENT_KEY$8}`;
+const EVENT_HIDE$7 = `hide${EVENT_KEY$8}`;
+const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$8}`;
+const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
+const CLASS_NAME_SHOW$8 = 'show';
 const CLASS_NAME_COLLAPSE = 'collapse';
 const CLASS_NAME_COLLAPSING = 'collapsing';
 const CLASS_NAME_COLLAPSED = 'collapsed';
@@ -1354,12 +1354,12 @@ const CLASS_NAME_HORIZONTAL = 'collapse-horizontal';
 const WIDTH = 'width';
 const HEIGHT = 'height';
 const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
-const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
-const Default$a = {
+const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="collapse"]';
+const Default$b = {
   parent: null,
   toggle: true
 };
-const DefaultType$a = {
+const DefaultType$b = {
   parent: '(null|element)',
   toggle: 'boolean'
 };
@@ -1373,7 +1373,7 @@ class Collapse extends BaseComponent {
     super(element, config);
     this._isTransitioning = false;
     this._triggerArray = [];
-    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);
+    const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$5);
     for (const elem of toggleList) {
       const selector = SelectorEngine.getSelectorFromElement(elem);
       const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
@@ -1392,13 +1392,13 @@ class Collapse extends BaseComponent {
 
   // Getters
   static get Default() {
-    return Default$a;
+    return Default$b;
   }
   static get DefaultType() {
-    return DefaultType$a;
+    return DefaultType$b;
   }
   static get NAME() {
-    return NAME$b;
+    return NAME$c;
   }
 
   // Public
@@ -1424,7 +1424,7 @@ class Collapse extends BaseComponent {
     if (activeChildren.length && activeChildren[0]._isTransitioning) {
       return;
     }
-    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
+    const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$7);
     if (startEvent.defaultPrevented) {
       return;
     }
@@ -1440,9 +1440,9 @@ class Collapse extends BaseComponent {
     const complete = () => {
       this._isTransitioning = false;
       this._element.classList.remove(CLASS_NAME_COLLAPSING);
-      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
+      this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
       this._element.style[dimension] = '';
-      EventHandler.trigger(this._element, EVENT_SHOWN$6);
+      EventHandler.trigger(this._element, EVENT_SHOWN$7);
     };
     const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
     const scrollSize = `scroll${capitalizedDimension}`;
@@ -1453,7 +1453,7 @@ class Collapse extends BaseComponent {
     if (this._isTransitioning || !this._isShown()) {
       return;
     }
-    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+    const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$7);
     if (startEvent.defaultPrevented) {
       return;
     }
@@ -1461,7 +1461,7 @@ class Collapse extends BaseComponent {
     this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
     reflow(this._element);
     this._element.classList.add(CLASS_NAME_COLLAPSING);
-    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
+    this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
     for (const trigger of this._triggerArray) {
       const element = SelectorEngine.getElementFromSelector(trigger);
       if (element && !this._isShown(element)) {
@@ -1473,7 +1473,7 @@ class Collapse extends BaseComponent {
       this._isTransitioning = false;
       this._element.classList.remove(CLASS_NAME_COLLAPSING);
       this._element.classList.add(CLASS_NAME_COLLAPSE);
-      EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+      EventHandler.trigger(this._element, EVENT_HIDDEN$7);
     };
     this._element.style[dimension] = '';
     this._queueCallback(complete, this._element, true);
@@ -1481,7 +1481,7 @@ class Collapse extends BaseComponent {
 
   // Private
   _isShown(element = this._element) {
-    return element.classList.contains(CLASS_NAME_SHOW$7);
+    return element.classList.contains(CLASS_NAME_SHOW$8);
   }
   _configAfterMerge(config) {
     config.toggle = Boolean(config.toggle); // Coerce string values
@@ -1495,7 +1495,7 @@ class Collapse extends BaseComponent {
     if (!this._config.parent) {
       return;
     }
-    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);
+    const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$5);
     for (const element of children) {
       const selected = SelectorEngine.getElementFromSelector(element);
       if (selected) {
@@ -1523,7 +1523,7 @@ class Collapse extends BaseComponent {
  * Data API implementation
  */
 
-EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$5, function (event) {
   // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
   if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
     event.preventDefault();
@@ -1537,7 +1537,7 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, functi
 
 /**
  * --------------------------------------------------------------------------
- * Bootstrap dropdown.js
+ * Bootstrap util/backdrop.js
  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
  * --------------------------------------------------------------------------
  */
@@ -1547,198 +1547,698 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, functi
  * Constants
  */
 
-const NAME$a = 'dropdown';
-const DATA_KEY$6 = 'bs.dropdown';
-const EVENT_KEY$6 = `.${DATA_KEY$6}`;
-const DATA_API_KEY$3 = '.data-api';
-const ESCAPE_KEY$2 = 'Escape';
-const TAB_KEY$1 = 'Tab';
-const ARROW_UP_KEY$1 = 'ArrowUp';
-const ARROW_DOWN_KEY$1 = 'ArrowDown';
-const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
-
-const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
-const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
-const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
-const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
-const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
-const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;
-const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;
-const CLASS_NAME_SHOW$6 = 'show';
-const CLASS_NAME_DROPUP = 'dropup';
-const CLASS_NAME_DROPEND = 'dropend';
-const CLASS_NAME_DROPSTART = 'dropstart';
-const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
-const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
-const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
-const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;
-const SELECTOR_MENU = '.dropdown-menu';
-const SELECTOR_NAVBAR = '.navbar';
-const SELECTOR_NAVBAR_NAV = '.navbar-nav';
-const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
-const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';
-const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';
-const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';
-const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
-const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
-const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
-const PLACEMENT_TOPCENTER = 'top';
-const PLACEMENT_BOTTOMCENTER = 'bottom';
-const Default$9 = {
-  autoClose: true,
-  boundary: 'clippingParents',
-  display: 'dynamic',
-  offset: [0, 2],
-  popperConfig: null,
-  reference: 'toggle'
+const NAME$b = 'backdrop';
+const CLASS_NAME_FADE$5 = 'fade';
+const CLASS_NAME_SHOW$7 = 'show';
+const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$b}`;
+const Default$a = {
+  className: 'modal-backdrop',
+  clickCallback: null,
+  isAnimated: false,
+  isVisible: true,
+  // if false, we use the backdrop helper without adding any element to the dom
+  rootElement: 'body' // give the choice to place backdrop under different elements
 };
-const DefaultType$9 = {
-  autoClose: '(boolean|string)',
-  boundary: '(string|element)',
-  display: 'string',
-  offset: '(array|string|function)',
-  popperConfig: '(null|object|function)',
-  reference: '(string|element|object)'
+const DefaultType$a = {
+  className: 'string',
+  clickCallback: '(function|null)',
+  isAnimated: 'boolean',
+  isVisible: 'boolean',
+  rootElement: '(element|string)'
 };
 
 /**
  * Class definition
  */
 
-class Dropdown extends BaseComponent {
-  constructor(element, config) {
-    super(element, config);
-    this._popper = null;
-    this._parent = this._element.parentNode; // dropdown wrapper
-    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
-    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
-    this._inNavbar = this._detectNavbar();
+class Backdrop extends Config {
+  constructor(config) {
+    super();
+    this._config = this._getConfig(config);
+    this._isAppended = false;
+    this._element = null;
   }
 
   // Getters
   static get Default() {
-    return Default$9;
+    return Default$a;
   }
   static get DefaultType() {
-    return DefaultType$9;
+    return DefaultType$a;
   }
   static get NAME() {
-    return NAME$a;
+    return NAME$b;
   }
 
   // Public
-  toggle() {
-    return this._isShown() ? this.hide() : this.show();
-  }
-  show() {
-    if (isDisabled(this._element) || this._isShown()) {
-      return;
-    }
-    const relatedTarget = {
-      relatedTarget: this._element
-    };
-    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);
-    if (showEvent.defaultPrevented) {
+  show(callback) {
+    if (!this._config.isVisible) {
+      execute(callback);
       return;
     }
-    this._createPopper();
-
-    // If this is a touch-enabled device we add extra
-    // empty mouseover listeners to the body's immediate children;
-    // only needed because of broken event delegation on iOS
-    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
-    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {
-      for (const element of [].concat(...document.body.children)) {
-        EventHandler.on(element, 'mouseover', noop);
-      }
+    this._append();
+    const element = this._getElement();
+    if (this._config.isAnimated) {
+      reflow(element);
     }
-    this._element.focus();
-    this._element.setAttribute('aria-expanded', true);
-    this._menu.classList.add(CLASS_NAME_SHOW$6);
-    this._element.classList.add(CLASS_NAME_SHOW$6);
-    EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);
+    element.classList.add(CLASS_NAME_SHOW$7);
+    this._emulateAnimation(() => {
+      execute(callback);
+    });
   }
-  hide() {
-    if (isDisabled(this._element) || !this._isShown()) {
+  hide(callback) {
+    if (!this._config.isVisible) {
+      execute(callback);
       return;
     }
-    const relatedTarget = {
-      relatedTarget: this._element
-    };
-    this._completeHide(relatedTarget);
+    this._getElement().classList.remove(CLASS_NAME_SHOW$7);
+    this._emulateAnimation(() => {
+      this.dispose();
+      execute(callback);
+    });
   }
   dispose() {
-    if (this._popper) {
-      this._popper.destroy();
-    }
-    super.dispose();
-  }
-  update() {
-    this._inNavbar = this._detectNavbar();
-    if (this._popper) {
-      this._popper.update();
+    if (!this._isAppended) {
+      return;
     }
+    EventHandler.off(this._element, EVENT_MOUSEDOWN);
+    this._element.remove();
+    this._isAppended = false;
   }
 
   // Private
-  _completeHide(relatedTarget) {
-    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);
-    if (hideEvent.defaultPrevented) {
-      return;
-    }
-
-    // If this is a touch-enabled device we remove the extra
-    // empty mouseover listeners we added for iOS support
-    if ('ontouchstart' in document.documentElement) {
-      for (const element of [].concat(...document.body.children)) {
-        EventHandler.off(element, 'mouseover', noop);
+  _getElement() {
+    if (!this._element) {
+      const backdrop = document.createElement('div');
+      backdrop.className = this._config.className;
+      if (this._config.isAnimated) {
+        backdrop.classList.add(CLASS_NAME_FADE$5);
       }
+      this._element = backdrop;
     }
-    if (this._popper) {
-      this._popper.destroy();
-    }
-    this._menu.classList.remove(CLASS_NAME_SHOW$6);
-    this._element.classList.remove(CLASS_NAME_SHOW$6);
-    this._element.setAttribute('aria-expanded', 'false');
-    Manipulator.removeDataAttribute(this._menu, 'popper');
-    EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
+    return this._element;
   }
-  _getConfig(config) {
-    config = super._getConfig(config);
-    if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
-      // Popper virtual elements require a getBoundingClientRect method
-      throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
-    }
+  _configAfterMerge(config) {
+    // use getElement() with the default "body" to get a fresh Element on each instantiation
+    config.rootElement = getElement(config.rootElement);
     return config;
   }
-  _createPopper() {
-    if (typeof Popper === 'undefined') {
-      throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org/docs/v2/)');
-    }
-    let referenceElement = this._element;
-    if (this._config.reference === 'parent') {
-      referenceElement = this._parent;
-    } else if (isElement(this._config.reference)) {
-      referenceElement = getElement(this._config.reference);
-    } else if (typeof this._config.reference === 'object') {
-      referenceElement = this._config.reference;
+  _append() {
+    if (this._isAppended) {
+      return;
     }
-    const popperConfig = this._getPopperConfig();
-    this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);
+    const element = this._getElement();
+    this._config.rootElement.append(element);
+    EventHandler.on(element, EVENT_MOUSEDOWN, () => {
+      execute(this._config.clickCallback);
+    });
+    this._isAppended = true;
   }
-  _isShown() {
-    return this._menu.classList.contains(CLASS_NAME_SHOW$6);
+  _emulateAnimation(callback) {
+    executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
   }
-  _getPlacement() {
-    const parentDropdown = this._parent;
-    if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
-      return PLACEMENT_RIGHT;
-    }
-    if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
-      return PLACEMENT_LEFT;
-    }
-    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {
-      return PLACEMENT_TOPCENTER;
+}
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap util/focustrap.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+
+/**
+ * Constants
+ */
+
+const NAME$a = 'focustrap';
+const DATA_KEY$7 = 'bs.focustrap';
+const EVENT_KEY$7 = `.${DATA_KEY$7}`;
+const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$7}`;
+const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
+const TAB_KEY$1 = 'Tab';
+const TAB_NAV_FORWARD = 'forward';
+const TAB_NAV_BACKWARD = 'backward';
+const Default$9 = {
+  autofocus: true,
+  trapElement: null // The element to trap focus inside of
+};
+const DefaultType$9 = {
+  autofocus: 'boolean',
+  trapElement: 'element'
+};
+
+/**
+ * Class definition
+ */
+
+class FocusTrap extends Config {
+  constructor(config) {
+    super();
+    this._config = this._getConfig(config);
+    this._isActive = false;
+    this._lastTabNavDirection = null;
+  }
+
+  // Getters
+  static get Default() {
+    return Default$9;
+  }
+  static get DefaultType() {
+    return DefaultType$9;
+  }
+  static get NAME() {
+    return NAME$a;
+  }
+
+  // Public
+  activate() {
+    if (this._isActive) {
+      return;
+    }
+    if (this._config.autofocus) {
+      this._config.trapElement.focus();
+    }
+    EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
+    EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
+    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
+    this._isActive = true;
+  }
+  deactivate() {
+    if (!this._isActive) {
+      return;
+    }
+    this._isActive = false;
+    EventHandler.off(document, EVENT_KEY$7);
+  }
+
+  // Private
+  _handleFocusin(event) {
+    const {
+      trapElement
+    } = this._config;
+    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {
+      return;
+    }
+    const elements = SelectorEngine.focusableChildren(trapElement);
+    if (elements.length === 0) {
+      trapElement.focus();
+    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {
+      elements[elements.length - 1].focus();
+    } else {
+      elements[0].focus();
+    }
+  }
+  _handleKeydown(event) {
+    if (event.key !== TAB_KEY$1) {
+      return;
+    }
+    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;
+  }
+}
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap dialog.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+
+/**
+ * Constants
+ */
+
+const NAME$9 = 'dialog';
+const DATA_KEY$6 = 'bs.dialog';
+const EVENT_KEY$6 = `.${DATA_KEY$6}`;
+const DATA_API_KEY$4 = '.data-api';
+const ESCAPE_KEY$3 = 'Escape';
+const EVENT_HIDE$6 = `hide${EVENT_KEY$6}`;
+const EVENT_HIDE_PREVENTED$2 = `hidePrevented${EVENT_KEY$6}`;
+const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$6}`;
+const EVENT_SHOW$6 = `show${EVENT_KEY$6}`;
+const EVENT_SHOWN$6 = `shown${EVENT_KEY$6}`;
+const EVENT_RESIZE$2 = `resize${EVENT_KEY$6}`;
+const EVENT_CLICK_DISMISS$1 = `click.dismiss${EVENT_KEY$6}`;
+const EVENT_MOUSEDOWN_DISMISS$1 = `mousedown.dismiss${EVENT_KEY$6}`;
+const EVENT_KEYDOWN_DISMISS$2 = `keydown.dismiss${EVENT_KEY$6}`;
+const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$6}${DATA_API_KEY$4}`;
+const CLASS_NAME_OPEN$1 = 'dialog-open';
+const CLASS_NAME_FADE$4 = 'fade';
+const CLASS_NAME_SHOW$6 = 'show';
+const CLASS_NAME_STATIC$1 = 'dialog-static';
+const OPEN_SELECTOR$2 = '.dialog.show';
+const SELECTOR_DIALOG_CONTENT = '.dialog-content';
+const SELECTOR_DIALOG_BODY = '.dialog-body';
+const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="dialog"]';
+const Default$8 = {
+  backdrop: true,
+  focus: true,
+  keyboard: true,
+  modal: true
+};
+const DefaultType$8 = {
+  backdrop: '(boolean|string)',
+  focus: 'boolean',
+  keyboard: 'boolean',
+  modal: 'boolean'
+};
+
+/**
+ * Class definition
+ */
+
+class Dialog extends BaseComponent {
+  constructor(element, config) {
+    super(element, config);
+    this._dialogContent = SelectorEngine.findOne(SELECTOR_DIALOG_CONTENT, this._element);
+    this._backdrop = this._initializeBackDrop();
+    this._focustrap = this._initializeFocusTrap();
+    this._isShown = false;
+    this._isTransitioning = false;
+    this._addEventListeners();
+  }
+
+  // Getters
+  static get Default() {
+    return Default$8;
+  }
+  static get DefaultType() {
+    return DefaultType$8;
+  }
+  static get NAME() {
+    return NAME$9;
+  }
+
+  // Public
+  toggle(relatedTarget) {
+    return this._isShown ? this.hide() : this.show(relatedTarget);
+  }
+  show(relatedTarget) {
+    if (this._isShown || this._isTransitioning) {
+      return;
+    }
+    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6, {
+      relatedTarget
+    });
+    if (showEvent.defaultPrevented) {
+      return;
+    }
+    this._isShown = true;
+    this._isTransitioning = true;
+
+    // Use scrollbar-gutter CSS property instead of manual scrollbar handling
+    document.body.style.scrollbarGutter = 'stable';
+    document.body.classList.add(CLASS_NAME_OPEN$1);
+    this._backdrop.show(() => this._showElement(relatedTarget));
+  }
+  hide() {
+    if (!this._isShown || this._isTransitioning) {
+      return;
+    }
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+    if (hideEvent.defaultPrevented) {
+      return;
+    }
+    this._isShown = false;
+    this._isTransitioning = true;
+    this._focustrap.deactivate();
+    this._element.classList.remove(CLASS_NAME_SHOW$6);
+    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated());
+  }
+  dispose() {
+    EventHandler.off(window, EVENT_KEY$6);
+    EventHandler.off(this._element, EVENT_KEY$6);
+    this._backdrop.dispose();
+    this._focustrap.deactivate();
+    super.dispose();
+  }
+  handleUpdate() {
+    // No dialog adjustments needed with native dialog element
+  }
+
+  // Private
+  _initializeBackDrop() {
+    return new Backdrop({
+      isVisible: Boolean(this._config.backdrop),
+      // 'static' option will be translated to true, and booleans will keep their value,
+      isAnimated: this._isAnimated(),
+      className: 'dialog-backdrop'
+    });
+  }
+  _initializeFocusTrap() {
+    return new FocusTrap({
+      trapElement: this._element
+    });
+  }
+  _showElement(relatedTarget) {
+    // try to append dynamic dialog
+    if (!document.body.contains(this._element)) {
+      document.body.append(this._element);
+    }
+
+    // Use native dialog methods
+    if (this._config.modal) {
+      this._element.showModal();
+    } else {
+      this._element.show();
+    }
+    this._element.scrollTop = 0;
+    const dialogBody = SelectorEngine.findOne(SELECTOR_DIALOG_BODY, this._dialogContent);
+    if (dialogBody) {
+      dialogBody.scrollTop = 0;
+    }
+    reflow(this._element);
+    this._element.classList.add(CLASS_NAME_SHOW$6);
+    const transitionComplete = () => {
+      if (this._config.focus) {
+        this._focustrap.activate();
+      }
+      this._isTransitioning = false;
+      EventHandler.trigger(this._element, EVENT_SHOWN$6, {
+        relatedTarget
+      });
+    };
+    this._queueCallback(transitionComplete, this._dialogContent, this._isAnimated());
+  }
+  _addEventListeners() {
+    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$2, event => {
+      if (event.key !== ESCAPE_KEY$3) {
+        return;
+      }
+      if (this._config.keyboard) {
+        this.hide();
+        return;
+      }
+      this._triggerBackdropTransition();
+    });
+    EventHandler.on(window, EVENT_RESIZE$2, () => {
+      if (this._isShown && !this._isTransitioning) ;
+    });
+    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS$1, event => {
+      // Handle click outside dialog content
+      EventHandler.one(this._element, EVENT_CLICK_DISMISS$1, event2 => {
+        if (this._element !== event.target || this._element !== event2.target) {
+          return;
+        }
+        if (this._config.backdrop === 'static') {
+          this._triggerBackdropTransition();
+          return;
+        }
+        if (this._config.backdrop) {
+          this.hide();
+        }
+      });
+    });
+  }
+  _hideDialog() {
+    // Use native dialog close method
+    this._element.close();
+    this._isTransitioning = false;
+    this._backdrop.hide(() => {
+      document.body.classList.remove(CLASS_NAME_OPEN$1);
+      document.body.style.scrollbarGutter = '';
+      EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+    });
+  }
+  _isAnimated() {
+    return this._element.classList.contains(CLASS_NAME_FADE$4);
+  }
+  _triggerBackdropTransition() {
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$2);
+    if (hideEvent.defaultPrevented) {
+      return;
+    }
+    const isDialogOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+    const initialOverflowY = this._element.style.overflowY;
+    // return if the following background transition hasn't yet completed
+    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC$1)) {
+      return;
+    }
+    if (!isDialogOverflowing) {
+      this._element.style.overflowY = 'hidden';
+    }
+    this._element.classList.add(CLASS_NAME_STATIC$1);
+    this._queueCallback(() => {
+      this._element.classList.remove(CLASS_NAME_STATIC$1);
+      this._queueCallback(() => {
+        this._element.style.overflowY = initialOverflowY;
+      }, this._dialogContent);
+    }, this._dialogContent);
+    this._element.focus();
+  }
+
+  // Static
+  static jQueryInterface(config, relatedTarget) {
+    return this.each(function () {
+      const data = Dialog.getOrCreateInstance(this, config);
+      if (typeof config !== 'string') {
+        return;
+      }
+      if (typeof data[config] === 'undefined') {
+        throw new TypeError(`No method named "${config}"`);
+      }
+      data[config](relatedTarget);
+    });
+  }
+}
+
+/**
+ * Data API implementation
+ */
+
+EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
+  const target = SelectorEngine.getElementFromSelector(this);
+  if (['A', 'AREA'].includes(this.tagName)) {
+    event.preventDefault();
+  }
+  EventHandler.one(target, EVENT_SHOW$6, showEvent => {
+    if (showEvent.defaultPrevented) {
+      // only register focus restorer if dialog will actually get shown
+      return;
+    }
+    EventHandler.one(target, EVENT_HIDDEN$6, () => {
+      if (isVisible(this)) {
+        this.focus();
+      }
+    });
+  });
+
+  // avoid conflict when clicking dialog toggler while another one is open
+  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$2);
+  if (alreadyOpen) {
+    Dialog.getInstance(alreadyOpen).hide();
+  }
+  const data = Dialog.getOrCreateInstance(target);
+  data.toggle(this);
+});
+enableDismissTrigger(Dialog);
+
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap dropdown.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+
+/**
+ * Constants
+ */
+
+const NAME$8 = 'dropdown';
+const DATA_KEY$5 = 'bs.dropdown';
+const EVENT_KEY$5 = `.${DATA_KEY$5}`;
+const DATA_API_KEY$3 = '.data-api';
+const ESCAPE_KEY$2 = 'Escape';
+const TAB_KEY = 'Tab';
+const ARROW_UP_KEY$1 = 'ArrowUp';
+const ARROW_DOWN_KEY$1 = 'ArrowDown';
+const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
+
+const EVENT_HIDE$5 = `hide${EVENT_KEY$5}`;
+const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$5}`;
+const EVENT_SHOW$5 = `show${EVENT_KEY$5}`;
+const EVENT_SHOWN$5 = `shown${EVENT_KEY$5}`;
+const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
+const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$5}${DATA_API_KEY$3}`;
+const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$5}${DATA_API_KEY$3}`;
+const CLASS_NAME_SHOW$5 = 'show';
+const CLASS_NAME_DROPUP = 'dropup';
+const CLASS_NAME_DROPEND = 'dropend';
+const CLASS_NAME_DROPSTART = 'dropstart';
+const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
+const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
+const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
+const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$5}`;
+const SELECTOR_MENU = '.dropdown-menu';
+const SELECTOR_NAVBAR = '.navbar';
+const SELECTOR_NAVBAR_NAV = '.navbar-nav';
+const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
+const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';
+const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';
+const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';
+const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
+const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
+const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
+const PLACEMENT_TOPCENTER = 'top';
+const PLACEMENT_BOTTOMCENTER = 'bottom';
+const Default$7 = {
+  autoClose: true,
+  boundary: 'clippingParents',
+  display: 'dynamic',
+  offset: [0, 2],
+  popperConfig: null,
+  reference: 'toggle'
+};
+const DefaultType$7 = {
+  autoClose: '(boolean|string)',
+  boundary: '(string|element)',
+  display: 'string',
+  offset: '(array|string|function)',
+  popperConfig: '(null|object|function)',
+  reference: '(string|element|object)'
+};
+
+/**
+ * Class definition
+ */
+
+class Dropdown extends BaseComponent {
+  constructor(element, config) {
+    super(element, config);
+    this._popper = null;
+    this._parent = this._element.parentNode; // dropdown wrapper
+    // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
+    this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
+    this._inNavbar = this._detectNavbar();
+  }
+
+  // Getters
+  static get Default() {
+    return Default$7;
+  }
+  static get DefaultType() {
+    return DefaultType$7;
+  }
+  static get NAME() {
+    return NAME$8;
+  }
+
+  // Public
+  toggle() {
+    return this._isShown() ? this.hide() : this.show();
+  }
+  show() {
+    if (isDisabled(this._element) || this._isShown()) {
+      return;
+    }
+    const relatedTarget = {
+      relatedTarget: this._element
+    };
+    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);
+    if (showEvent.defaultPrevented) {
+      return;
+    }
+    this._createPopper();
+
+    // If this is a touch-enabled device we add extra
+    // empty mouseover listeners to the body's immediate children;
+    // only needed because of broken event delegation on iOS
+    // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+    if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {
+      for (const element of [].concat(...document.body.children)) {
+        EventHandler.on(element, 'mouseover', noop);
+      }
+    }
+    this._element.focus();
+    this._element.setAttribute('aria-expanded', true);
+    this._menu.classList.add(CLASS_NAME_SHOW$5);
+    this._element.classList.add(CLASS_NAME_SHOW$5);
+    EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);
+  }
+  hide() {
+    if (isDisabled(this._element) || !this._isShown()) {
+      return;
+    }
+    const relatedTarget = {
+      relatedTarget: this._element
+    };
+    this._completeHide(relatedTarget);
+  }
+  dispose() {
+    if (this._popper) {
+      this._popper.destroy();
+    }
+    super.dispose();
+  }
+  update() {
+    this._inNavbar = this._detectNavbar();
+    if (this._popper) {
+      this._popper.update();
+    }
+  }
+
+  // Private
+  _completeHide(relatedTarget) {
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);
+    if (hideEvent.defaultPrevented) {
+      return;
+    }
+
+    // If this is a touch-enabled device we remove the extra
+    // empty mouseover listeners we added for iOS support
+    if ('ontouchstart' in document.documentElement) {
+      for (const element of [].concat(...document.body.children)) {
+        EventHandler.off(element, 'mouseover', noop);
+      }
+    }
+    if (this._popper) {
+      this._popper.destroy();
+    }
+    this._menu.classList.remove(CLASS_NAME_SHOW$5);
+    this._element.classList.remove(CLASS_NAME_SHOW$5);
+    this._element.setAttribute('aria-expanded', 'false');
+    Manipulator.removeDataAttribute(this._menu, 'popper');
+    EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
+  }
+  _getConfig(config) {
+    config = super._getConfig(config);
+    if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
+      // Popper virtual elements require a getBoundingClientRect method
+      throw new TypeError(`${NAME$8.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
+    }
+    return config;
+  }
+  _createPopper() {
+    if (typeof Popper === 'undefined') {
+      throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org/docs/v2/)');
+    }
+    let referenceElement = this._element;
+    if (this._config.reference === 'parent') {
+      referenceElement = this._parent;
+    } else if (isElement(this._config.reference)) {
+      referenceElement = getElement(this._config.reference);
+    } else if (typeof this._config.reference === 'object') {
+      referenceElement = this._config.reference;
+    }
+    const popperConfig = this._getPopperConfig();
+    this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig);
+  }
+  _isShown() {
+    return this._menu.classList.contains(CLASS_NAME_SHOW$5);
+  }
+  _getPlacement() {
+    const parentDropdown = this._parent;
+    if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
+      return PLACEMENT_RIGHT;
+    }
+    if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
+      return PLACEMENT_LEFT;
+    }
+    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {
+      return PLACEMENT_TOPCENTER;
     }
     if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {
       return PLACEMENT_BOTTOMCENTER;
@@ -1809,7 +2309,7 @@ class Dropdown extends BaseComponent {
     getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();
   }
   static clearMenus(event) {
-    if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {
+    if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY) {
       return;
     }
     const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);
@@ -1825,7 +2325,7 @@ class Dropdown extends BaseComponent {
       }
 
       // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu
-      if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {
+      if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY || /input|select|option|textarea|form/i.test(event.target.tagName))) {
         continue;
       }
       const relatedTarget = {
@@ -1883,228 +2383,6 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$3, SELECTOR_DATA_TOGGLE$3, functi
   Dropdown.getOrCreateInstance(this).toggle();
 });
 
-/**
- * --------------------------------------------------------------------------
- * Bootstrap util/backdrop.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- * --------------------------------------------------------------------------
- */
-
-
-/**
- * Constants
- */
-
-const NAME$9 = 'backdrop';
-const CLASS_NAME_FADE$4 = 'fade';
-const CLASS_NAME_SHOW$5 = 'show';
-const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
-const Default$8 = {
-  className: 'modal-backdrop',
-  clickCallback: null,
-  isAnimated: false,
-  isVisible: true,
-  // if false, we use the backdrop helper without adding any element to the dom
-  rootElement: 'body' // give the choice to place backdrop under different elements
-};
-const DefaultType$8 = {
-  className: 'string',
-  clickCallback: '(function|null)',
-  isAnimated: 'boolean',
-  isVisible: 'boolean',
-  rootElement: '(element|string)'
-};
-
-/**
- * Class definition
- */
-
-class Backdrop extends Config {
-  constructor(config) {
-    super();
-    this._config = this._getConfig(config);
-    this._isAppended = false;
-    this._element = null;
-  }
-
-  // Getters
-  static get Default() {
-    return Default$8;
-  }
-  static get DefaultType() {
-    return DefaultType$8;
-  }
-  static get NAME() {
-    return NAME$9;
-  }
-
-  // Public
-  show(callback) {
-    if (!this._config.isVisible) {
-      execute(callback);
-      return;
-    }
-    this._append();
-    const element = this._getElement();
-    if (this._config.isAnimated) {
-      reflow(element);
-    }
-    element.classList.add(CLASS_NAME_SHOW$5);
-    this._emulateAnimation(() => {
-      execute(callback);
-    });
-  }
-  hide(callback) {
-    if (!this._config.isVisible) {
-      execute(callback);
-      return;
-    }
-    this._getElement().classList.remove(CLASS_NAME_SHOW$5);
-    this._emulateAnimation(() => {
-      this.dispose();
-      execute(callback);
-    });
-  }
-  dispose() {
-    if (!this._isAppended) {
-      return;
-    }
-    EventHandler.off(this._element, EVENT_MOUSEDOWN);
-    this._element.remove();
-    this._isAppended = false;
-  }
-
-  // Private
-  _getElement() {
-    if (!this._element) {
-      const backdrop = document.createElement('div');
-      backdrop.className = this._config.className;
-      if (this._config.isAnimated) {
-        backdrop.classList.add(CLASS_NAME_FADE$4);
-      }
-      this._element = backdrop;
-    }
-    return this._element;
-  }
-  _configAfterMerge(config) {
-    // use getElement() with the default "body" to get a fresh Element on each instantiation
-    config.rootElement = getElement(config.rootElement);
-    return config;
-  }
-  _append() {
-    if (this._isAppended) {
-      return;
-    }
-    const element = this._getElement();
-    this._config.rootElement.append(element);
-    EventHandler.on(element, EVENT_MOUSEDOWN, () => {
-      execute(this._config.clickCallback);
-    });
-    this._isAppended = true;
-  }
-  _emulateAnimation(callback) {
-    executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
-  }
-}
-
-/**
- * --------------------------------------------------------------------------
- * Bootstrap util/focustrap.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- * --------------------------------------------------------------------------
- */
-
-
-/**
- * Constants
- */
-
-const NAME$8 = 'focustrap';
-const DATA_KEY$5 = 'bs.focustrap';
-const EVENT_KEY$5 = `.${DATA_KEY$5}`;
-const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;
-const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;
-const TAB_KEY = 'Tab';
-const TAB_NAV_FORWARD = 'forward';
-const TAB_NAV_BACKWARD = 'backward';
-const Default$7 = {
-  autofocus: true,
-  trapElement: null // The element to trap focus inside of
-};
-const DefaultType$7 = {
-  autofocus: 'boolean',
-  trapElement: 'element'
-};
-
-/**
- * Class definition
- */
-
-class FocusTrap extends Config {
-  constructor(config) {
-    super();
-    this._config = this._getConfig(config);
-    this._isActive = false;
-    this._lastTabNavDirection = null;
-  }
-
-  // Getters
-  static get Default() {
-    return Default$7;
-  }
-  static get DefaultType() {
-    return DefaultType$7;
-  }
-  static get NAME() {
-    return NAME$8;
-  }
-
-  // Public
-  activate() {
-    if (this._isActive) {
-      return;
-    }
-    if (this._config.autofocus) {
-      this._config.trapElement.focus();
-    }
-    EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop
-    EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
-    EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
-    this._isActive = true;
-  }
-  deactivate() {
-    if (!this._isActive) {
-      return;
-    }
-    this._isActive = false;
-    EventHandler.off(document, EVENT_KEY$5);
-  }
-
-  // Private
-  _handleFocusin(event) {
-    const {
-      trapElement
-    } = this._config;
-    if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {
-      return;
-    }
-    const elements = SelectorEngine.focusableChildren(trapElement);
-    if (elements.length === 0) {
-      trapElement.focus();
-    } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {
-      elements[elements.length - 1].focus();
-    } else {
-      elements[0].focus();
-    }
-  }
-  _handleKeydown(event) {
-    if (event.key !== TAB_KEY) {
-      return;
-    }
-    this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;
-  }
-}
-
 /**
  * --------------------------------------------------------------------------
  * Bootstrap util/scrollBar.js
@@ -4138,5 +4416,5 @@ class Toast extends BaseComponent {
 
 enableDismissTrigger(Toast);
 
-export { Alert, Button, Carousel, Collapse, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip };
+export { Alert, Button, Carousel, Collapse, Dialog, Dropdown, Modal, Offcanvas, Popover, ScrollSpy, Tab, Toast, Tooltip };
 //# sourceMappingURL=bootstrap.esm.js.map
index 7414b6481bd20b13cc440b5b65d29cc5dddb26ba..c7a500669f3380ebe7a7d9c62eedc8b8ccbaadd9 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/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.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"],"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  // TODO: tooltip passes `false` instead of selector, so we need to check\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  // 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\nexport {\n  enableDismissTrigger\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|boolean)', // TODO:v6 remove boolean support\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    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && 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      // TODO: change tests that use empty divs to avoid this check\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 dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\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'\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 RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\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'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\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_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  popperConfig: null,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  popperConfig: '(null|object|function)',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._popper = null\n    this._parent = this._element.parentNode // dropdown wrapper\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    this._inNavbar = this._detectNavbar()\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._createPopper()\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    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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    super.dispose()\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper) {\n      this._popper.update()\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    // 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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'popper')\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      // Popper 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  _createPopper() {\n    if (typeof Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\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    const popperConfig = this._getPopperConfig()\n    this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const parentDropdown = this._parent\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n      return PLACEMENT_RIGHT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n      return PLACEMENT_LEFT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n      return PLACEMENT_TOPCENTER\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n      return PLACEMENT_BOTTOMCENTER\n    }\n\n    // We need to trim the value because custom properties can also include spaces\n    const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n      return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n    }\n\n    return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n  }\n\n  _detectNavbar() {\n    return this._element.closest(SELECTOR_NAVBAR) !== null\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _getPopperConfig() {\n    const defaultBsPopperConfig = {\n      placement: this._getPlacement(),\n      modifiers: [{\n        name: 'preventOverflow',\n        options: {\n          boundary: this._config.boundary\n        }\n      },\n      {\n        name: 'offset',\n        options: {\n          offset: this._getOffset()\n        }\n      }]\n    }\n\n    // Disable Popper if we have a static display or Dropdown is in Navbar\n    if (this._inNavbar || this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n      defaultBsPopperConfig.modifiers = [{\n        name: 'applyStyles',\n        enabled: false\n      }]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).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  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 an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\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\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\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    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\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 modal.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  isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\n  keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n    this._scrollBar = new ScrollBarHelper()\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    this._scrollBar.hide()\n\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._adjustDialog()\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._dialog, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    this._adjustDialog()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated()\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic modal\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    this._element.style.display = 'block'\n    this._element.removeAttribute('aria-hidden')\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.scrollTop = 0\n\n    const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n    if (modalBody) {\n      modalBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        this._adjustDialog()\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideModal() {\n    this._element.style.display = 'none'\n    this._element.setAttribute('aria-hidden', true)\n    this._element.removeAttribute('aria-modal')\n    this._element.removeAttribute('role')\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      this._resetAdjustments()\n      this._scrollBar.reset()\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isModalOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialog)\n    }, this._dialog)\n\n    this._element.focus()\n  }\n\n  /**\n   * The following methods are used to handle overflowing modals\n   */\n\n  _adjustDialog() {\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const scrollbarWidth = this._scrollBar.getWidth()\n    const isBodyOverflowing = scrollbarWidth > 0\n\n    if (isBodyOverflowing && !isModalOverflowing) {\n      const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n\n    if (!isBodyOverflowing && isModalOverflowing) {\n      const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n  }\n\n  _resetAdjustments() {\n    this._element.style.paddingLeft = ''\n    this._element.style.paddingRight = ''\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      // only register focus restorer if modal will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking modal toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Modal.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Modal.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\nexport default Modal\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 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 * as Popper from '@popperjs/core'\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'\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}`\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  popperConfig: 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  popperConfig: '(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 Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org/docs/v2/)')\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._popper = null\n    this._templateFactory = null\n    this._newContent = null\n\n    // Protected\n    this.tip = null\n\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._disposePopper()\n    super.dispose()\n  }\n\n  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    // TODO: v6 remove this or make it optional\n    this._disposePopper()\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    this._popper = this._createPopper(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._disposePopper()\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._popper) {\n      this._popper.update()\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    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\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._disposePopper()\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  _createPopper(tip) {\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    const attachment = AttachmentMap[placement.toUpperCase()]\n    return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getPopperConfig(attachment) {\n    const defaultBsPopperConfig = {\n      placement: attachment,\n      modifiers: [\n        {\n          name: 'flip',\n          options: {\n            fallbackPlacements: this._config.fallbackPlacements\n          }\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: this._getOffset()\n          }\n        },\n        {\n          name: 'preventOverflow',\n          options: {\n            boundary: this._config.boundary\n          }\n        },\n        {\n          name: 'arrow',\n          options: {\n            element: `.${this.constructor.NAME}-arrow`\n          }\n        },\n        {\n          name: 'preSetPlacement',\n          enabled: true,\n          phase: 'beforeMain',\n          fn: data => {\n            // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n            // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n            this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n          }\n        }\n      ]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\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  _disposePopper() {\n    if (this._popper) {\n      this._popper.destroy()\n      this._popper = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\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'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\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\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  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\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    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\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_INNER_ELEM}`)\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"],"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","_unused","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","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","data","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","hidden","_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","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","autoClose","boundary","display","offset","popperConfig","reference","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","showEvent","_createPopper","body","focus","_completeHide","destroy","update","hideEvent","Popper","referenceElement","_getPopperConfig","createPopper","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","modifiers","options","enabled","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","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","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","scrollTop","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","scrollHeight","clientHeight","initialOverflowY","overflowY","isBodyOverflowing","paddingLeft","paddingRight","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","scroll","Offcanvas","blur","completeCallback","position","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","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","textContent","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","fallbackPlacements","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","phase","state","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","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","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","top","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","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","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"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/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/dialog.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.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"],"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  // TODO: tooltip passes `false` instead of selector, so we need to check\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  // 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\nexport {\n  enableDismissTrigger\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|boolean)', // TODO:v6 remove boolean support\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    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && 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      // TODO: change tests that use empty divs to avoid this check\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 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 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 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  isVisible, reflow\n} 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'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'dialog-static'\n\nconst OPEN_SELECTOR = '.dialog.show'\nconst SELECTOR_DIALOG_CONTENT = '.dialog-content'\nconst SELECTOR_DIALOG_BODY = '.dialog-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true,\n  modal: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\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._dialogContent = SelectorEngine.findOne(SELECTOR_DIALOG_CONTENT, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    // Use scrollbar-gutter CSS property instead of manual scrollbar handling\n    document.body.style.scrollbarGutter = 'stable'\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._element, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // No dialog adjustments needed with native dialog element\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated(),\n      className: 'dialog-backdrop'\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic dialog\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    // Use native dialog methods\n    if (this._config.modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    this._element.scrollTop = 0\n\n    const dialogBody = SelectorEngine.findOne(SELECTOR_DIALOG_BODY, this._dialogContent)\n    if (dialogBody) {\n      dialogBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialogContent, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        // No need for dialog adjustments with native dialog\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // Handle click outside dialog content\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideDialog() {\n    // Use native dialog close method\n    this._element.close()\n\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      document.body.style.scrollbarGutter = ''\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isDialogOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isDialogOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialogContent)\n    }, this._dialogContent)\n\n    this._element.focus()\n  }\n\n  // Static\n  static jQueryInterface(config, relatedTarget) {\n    return this.each(function () {\n      const data = Dialog.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config](relatedTarget)\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      // only register focus restorer if dialog will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking dialog toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Dialog.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Dialog.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\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'\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 RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\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'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\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_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  popperConfig: null,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  popperConfig: '(null|object|function)',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._popper = null\n    this._parent = this._element.parentNode // dropdown wrapper\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    this._inNavbar = this._detectNavbar()\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._createPopper()\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    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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    super.dispose()\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper) {\n      this._popper.update()\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    // 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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'popper')\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      // Popper 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  _createPopper() {\n    if (typeof Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\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    const popperConfig = this._getPopperConfig()\n    this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const parentDropdown = this._parent\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n      return PLACEMENT_RIGHT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n      return PLACEMENT_LEFT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n      return PLACEMENT_TOPCENTER\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n      return PLACEMENT_BOTTOMCENTER\n    }\n\n    // We need to trim the value because custom properties can also include spaces\n    const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n      return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n    }\n\n    return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n  }\n\n  _detectNavbar() {\n    return this._element.closest(SELECTOR_NAVBAR) !== null\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _getPopperConfig() {\n    const defaultBsPopperConfig = {\n      placement: this._getPlacement(),\n      modifiers: [{\n        name: 'preventOverflow',\n        options: {\n          boundary: this._config.boundary\n        }\n      },\n      {\n        name: 'offset',\n        options: {\n          offset: this._getOffset()\n        }\n      }]\n    }\n\n    // Disable Popper if we have a static display or Dropdown is in Navbar\n    if (this._inNavbar || this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n      defaultBsPopperConfig.modifiers = [{\n        name: 'applyStyles',\n        enabled: false\n      }]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).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  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 an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\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\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\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    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\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/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 modal.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  isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\n  keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n    this._scrollBar = new ScrollBarHelper()\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    this._scrollBar.hide()\n\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._adjustDialog()\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._dialog, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    this._adjustDialog()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated()\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic modal\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    this._element.style.display = 'block'\n    this._element.removeAttribute('aria-hidden')\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.scrollTop = 0\n\n    const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n    if (modalBody) {\n      modalBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        this._adjustDialog()\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideModal() {\n    this._element.style.display = 'none'\n    this._element.setAttribute('aria-hidden', true)\n    this._element.removeAttribute('aria-modal')\n    this._element.removeAttribute('role')\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      this._resetAdjustments()\n      this._scrollBar.reset()\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isModalOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialog)\n    }, this._dialog)\n\n    this._element.focus()\n  }\n\n  /**\n   * The following methods are used to handle overflowing modals\n   */\n\n  _adjustDialog() {\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const scrollbarWidth = this._scrollBar.getWidth()\n    const isBodyOverflowing = scrollbarWidth > 0\n\n    if (isBodyOverflowing && !isModalOverflowing) {\n      const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n\n    if (!isBodyOverflowing && isModalOverflowing) {\n      const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n  }\n\n  _resetAdjustments() {\n    this._element.style.paddingLeft = ''\n    this._element.style.paddingRight = ''\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      // only register focus restorer if modal will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking modal toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Modal.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Modal.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\nexport default Modal\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 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 * as Popper from '@popperjs/core'\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'\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}`\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  popperConfig: 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  popperConfig: '(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 Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org/docs/v2/)')\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._popper = null\n    this._templateFactory = null\n    this._newContent = null\n\n    // Protected\n    this.tip = null\n\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._disposePopper()\n    super.dispose()\n  }\n\n  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    // TODO: v6 remove this or make it optional\n    this._disposePopper()\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    this._popper = this._createPopper(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._disposePopper()\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._popper) {\n      this._popper.update()\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    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\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._disposePopper()\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  _createPopper(tip) {\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    const attachment = AttachmentMap[placement.toUpperCase()]\n    return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getPopperConfig(attachment) {\n    const defaultBsPopperConfig = {\n      placement: attachment,\n      modifiers: [\n        {\n          name: 'flip',\n          options: {\n            fallbackPlacements: this._config.fallbackPlacements\n          }\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: this._getOffset()\n          }\n        },\n        {\n          name: 'preventOverflow',\n          options: {\n            boundary: this._config.boundary\n          }\n        },\n        {\n          name: 'arrow',\n          options: {\n            element: `.${this.constructor.NAME}-arrow`\n          }\n        },\n        {\n          name: 'preSetPlacement',\n          enabled: true,\n          phase: 'beforeMain',\n          fn: data => {\n            // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n            // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n            this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n          }\n        }\n      ]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\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  _disposePopper() {\n    if (this._popper) {\n      this._popper.destroy()\n      this._popper = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\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'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\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\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  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\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    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\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_INNER_ELEM}`)\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"],"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","_unused","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","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","data","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","hidden","_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_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_KEY","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","focus","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","ESCAPE_KEY","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG_CONTENT","SELECTOR_DIALOG_BODY","modal","Dialog","_dialogContent","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","showEvent","body","scrollbarGutter","_showElement","hideEvent","_hideDialog","handleUpdate","showModal","scrollTop","dialogBody","transitionComplete","_triggerBackdropTransition","event2","isDialogOverflowing","scrollHeight","clientHeight","initialOverflowY","overflowY","jQueryInterface","each","alreadyOpen","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","autoClose","boundary","display","offset","popperConfig","reference","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","_completeHide","destroy","update","Popper","referenceElement","_getPopperConfig","createPopper","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","modifiers","options","enabled","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","Modal","_dialog","_scrollBar","_adjustDialog","_hideModal","modalBody","_resetAdjustments","isModalOverflowing","isBodyOverflowing","paddingLeft","paddingRight","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","scroll","Offcanvas","blur","completeCallback","position","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","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","textContent","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","fallbackPlacements","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","phase","state","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","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","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","top","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","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","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"mappings":"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"}
\ No newline at end of file
index bfc1d17d88493b00bbc54049abd25b24e447468c..0502851670cacd92a1989d9a6595a0c76b75c533 100644 (file)
    * Constants
    */
 
-  const NAME$f = 'alert';
-  const DATA_KEY$a = 'bs.alert';
-  const EVENT_KEY$b = `.${DATA_KEY$a}`;
-  const EVENT_CLOSE = `close${EVENT_KEY$b}`;
-  const EVENT_CLOSED = `closed${EVENT_KEY$b}`;
-  const CLASS_NAME_FADE$5 = 'fade';
-  const CLASS_NAME_SHOW$8 = 'show';
+  const NAME$g = 'alert';
+  const DATA_KEY$b = 'bs.alert';
+  const EVENT_KEY$c = `.${DATA_KEY$b}`;
+  const EVENT_CLOSE = `close${EVENT_KEY$c}`;
+  const EVENT_CLOSED = `closed${EVENT_KEY$c}`;
+  const CLASS_NAME_FADE$6 = 'fade';
+  const CLASS_NAME_SHOW$9 = 'show';
 
   /**
    * Class definition
   class Alert extends BaseComponent {
     // Getters
     static get NAME() {
-      return NAME$f;
+      return NAME$g;
     }
 
     // Public
       if (closeEvent.defaultPrevented) {
         return;
       }
-      this._element.classList.remove(CLASS_NAME_SHOW$8);
-      const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$5);
+      this._element.classList.remove(CLASS_NAME_SHOW$9);
+      const isAnimated = this._element.classList.contains(CLASS_NAME_FADE$6);
       this._queueCallback(() => this._destroyElement(), this._element, isAnimated);
     }
 
    * Constants
    */
 
-  const NAME$e = 'button';
-  const DATA_KEY$9 = 'bs.button';
-  const EVENT_KEY$a = `.${DATA_KEY$9}`;
-  const DATA_API_KEY$6 = '.data-api';
+  const NAME$f = 'button';
+  const DATA_KEY$a = 'bs.button';
+  const EVENT_KEY$b = `.${DATA_KEY$a}`;
+  const DATA_API_KEY$7 = '.data-api';
   const CLASS_NAME_ACTIVE$3 = 'active';
-  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="button"]';
-  const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$a}${DATA_API_KEY$6}`;
+  const SELECTOR_DATA_TOGGLE$6 = '[data-bs-toggle="button"]';
+  const EVENT_CLICK_DATA_API$7 = `click${EVENT_KEY$b}${DATA_API_KEY$7}`;
 
   /**
    * Class definition
   class Button extends BaseComponent {
     // Getters
     static get NAME() {
-      return NAME$e;
+      return NAME$f;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_TOGGLE$5, event => {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$7, SELECTOR_DATA_TOGGLE$6, event => {
     event.preventDefault();
-    const button = event.target.closest(SELECTOR_DATA_TOGGLE$5);
+    const button = event.target.closest(SELECTOR_DATA_TOGGLE$6);
     const data = Button.getOrCreateInstance(button);
     data.toggle();
   });
    * Constants
    */
 
-  const NAME$d = 'swipe';
-  const EVENT_KEY$9 = '.bs.swipe';
-  const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$9}`;
-  const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$9}`;
-  const EVENT_TOUCHEND = `touchend${EVENT_KEY$9}`;
-  const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$9}`;
-  const EVENT_POINTERUP = `pointerup${EVENT_KEY$9}`;
+  const NAME$e = 'swipe';
+  const EVENT_KEY$a = '.bs.swipe';
+  const EVENT_TOUCHSTART = `touchstart${EVENT_KEY$a}`;
+  const EVENT_TOUCHMOVE = `touchmove${EVENT_KEY$a}`;
+  const EVENT_TOUCHEND = `touchend${EVENT_KEY$a}`;
+  const EVENT_POINTERDOWN = `pointerdown${EVENT_KEY$a}`;
+  const EVENT_POINTERUP = `pointerup${EVENT_KEY$a}`;
   const POINTER_TYPE_TOUCH = 'touch';
   const POINTER_TYPE_PEN = 'pen';
   const CLASS_NAME_POINTER_EVENT = 'pointer-event';
   const SWIPE_THRESHOLD = 40;
-  const Default$c = {
+  const Default$d = {
     endCallback: null,
     leftCallback: null,
     rightCallback: null
   };
-  const DefaultType$c = {
+  const DefaultType$d = {
     endCallback: '(function|null)',
     leftCallback: '(function|null)',
     rightCallback: '(function|null)'
 
     // Getters
     static get Default() {
-      return Default$c;
+      return Default$d;
     }
     static get DefaultType() {
-      return DefaultType$c;
+      return DefaultType$d;
     }
     static get NAME() {
-      return NAME$d;
+      return NAME$e;
     }
 
     // Public
     dispose() {
-      EventHandler.off(this._element, EVENT_KEY$9);
+      EventHandler.off(this._element, EVENT_KEY$a);
     }
 
     // Private
    * Constants
    */
 
-  const NAME$c = 'carousel';
-  const DATA_KEY$8 = 'bs.carousel';
-  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
-  const DATA_API_KEY$5 = '.data-api';
+  const NAME$d = 'carousel';
+  const DATA_KEY$9 = 'bs.carousel';
+  const EVENT_KEY$9 = `.${DATA_KEY$9}`;
+  const DATA_API_KEY$6 = '.data-api';
   const ARROW_LEFT_KEY$1 = 'ArrowLeft';
   const ARROW_RIGHT_KEY$1 = 'ArrowRight';
   const TOUCHEVENT_COMPAT_WAIT = 500; // Time for mouse compat events to fire after touch
   const ORDER_PREV = 'prev';
   const DIRECTION_LEFT = 'left';
   const DIRECTION_RIGHT = 'right';
-  const EVENT_SLIDE = `slide${EVENT_KEY$8}`;
-  const EVENT_SLID = `slid${EVENT_KEY$8}`;
-  const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$8}`;
-  const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$8}`;
-  const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$8}`;
-  const EVENT_DRAG_START = `dragstart${EVENT_KEY$8}`;
-  const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$8}${DATA_API_KEY$5}`;
-  const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
+  const EVENT_SLIDE = `slide${EVENT_KEY$9}`;
+  const EVENT_SLID = `slid${EVENT_KEY$9}`;
+  const EVENT_KEYDOWN$1 = `keydown${EVENT_KEY$9}`;
+  const EVENT_MOUSEENTER$1 = `mouseenter${EVENT_KEY$9}`;
+  const EVENT_MOUSELEAVE$1 = `mouseleave${EVENT_KEY$9}`;
+  const EVENT_DRAG_START = `dragstart${EVENT_KEY$9}`;
+  const EVENT_LOAD_DATA_API$3 = `load${EVENT_KEY$9}${DATA_API_KEY$6}`;
+  const EVENT_CLICK_DATA_API$6 = `click${EVENT_KEY$9}${DATA_API_KEY$6}`;
   const CLASS_NAME_CAROUSEL = 'carousel';
   const CLASS_NAME_ACTIVE$2 = 'active';
   const CLASS_NAME_SLIDE = 'slide';
     [ARROW_LEFT_KEY$1]: DIRECTION_RIGHT,
     [ARROW_RIGHT_KEY$1]: DIRECTION_LEFT
   };
-  const Default$b = {
+  const Default$c = {
     interval: 5000,
     keyboard: true,
     pause: 'hover',
     touch: true,
     wrap: true
   };
-  const DefaultType$b = {
+  const DefaultType$c = {
     interval: '(number|boolean)',
     // TODO:v6 remove boolean support
     keyboard: 'boolean',
 
     // Getters
     static get Default() {
-      return Default$b;
+      return Default$c;
     }
     static get DefaultType() {
-      return DefaultType$b;
+      return DefaultType$c;
     }
     static get NAME() {
-      return NAME$c;
+      return NAME$d;
     }
 
     // Public
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_SLIDE, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$6, SELECTOR_DATA_SLIDE, function (event) {
     const target = SelectorEngine.getElementFromSelector(this);
     if (!target || !target.classList.contains(CLASS_NAME_CAROUSEL)) {
       return;
    * Constants
    */
 
-  const NAME$b = 'collapse';
-  const DATA_KEY$7 = 'bs.collapse';
-  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
-  const DATA_API_KEY$4 = '.data-api';
-  const EVENT_SHOW$6 = `show${EVENT_KEY$7}`;
-  const EVENT_SHOWN$6 = `shown${EVENT_KEY$7}`;
-  const EVENT_HIDE$6 = `hide${EVENT_KEY$7}`;
-  const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$7}`;
-  const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$7}${DATA_API_KEY$4}`;
-  const CLASS_NAME_SHOW$7 = 'show';
+  const NAME$c = 'collapse';
+  const DATA_KEY$8 = 'bs.collapse';
+  const EVENT_KEY$8 = `.${DATA_KEY$8}`;
+  const DATA_API_KEY$5 = '.data-api';
+  const EVENT_SHOW$7 = `show${EVENT_KEY$8}`;
+  const EVENT_SHOWN$7 = `shown${EVENT_KEY$8}`;
+  const EVENT_HIDE$7 = `hide${EVENT_KEY$8}`;
+  const EVENT_HIDDEN$7 = `hidden${EVENT_KEY$8}`;
+  const EVENT_CLICK_DATA_API$5 = `click${EVENT_KEY$8}${DATA_API_KEY$5}`;
+  const CLASS_NAME_SHOW$8 = 'show';
   const CLASS_NAME_COLLAPSE = 'collapse';
   const CLASS_NAME_COLLAPSING = 'collapsing';
   const CLASS_NAME_COLLAPSED = 'collapsed';
   const WIDTH = 'width';
   const HEIGHT = 'height';
   const SELECTOR_ACTIVES = '.collapse.show, .collapse.collapsing';
-  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="collapse"]';
-  const Default$a = {
+  const SELECTOR_DATA_TOGGLE$5 = '[data-bs-toggle="collapse"]';
+  const Default$b = {
     parent: null,
     toggle: true
   };
-  const DefaultType$a = {
+  const DefaultType$b = {
     parent: '(null|element)',
     toggle: 'boolean'
   };
       super(element, config);
       this._isTransitioning = false;
       this._triggerArray = [];
-      const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$4);
+      const toggleList = SelectorEngine.find(SELECTOR_DATA_TOGGLE$5);
       for (const elem of toggleList) {
         const selector = SelectorEngine.getSelectorFromElement(elem);
         const filterElement = SelectorEngine.find(selector).filter(foundElement => foundElement === this._element);
 
     // Getters
     static get Default() {
-      return Default$a;
+      return Default$b;
     }
     static get DefaultType() {
-      return DefaultType$a;
+      return DefaultType$b;
     }
     static get NAME() {
-      return NAME$b;
+      return NAME$c;
     }
 
     // Public
       if (activeChildren.length && activeChildren[0]._isTransitioning) {
         return;
       }
-      const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$6);
+      const startEvent = EventHandler.trigger(this._element, EVENT_SHOW$7);
       if (startEvent.defaultPrevented) {
         return;
       }
       const complete = () => {
         this._isTransitioning = false;
         this._element.classList.remove(CLASS_NAME_COLLAPSING);
-        this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
+        this._element.classList.add(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
         this._element.style[dimension] = '';
-        EventHandler.trigger(this._element, EVENT_SHOWN$6);
+        EventHandler.trigger(this._element, EVENT_SHOWN$7);
       };
       const capitalizedDimension = dimension[0].toUpperCase() + dimension.slice(1);
       const scrollSize = `scroll${capitalizedDimension}`;
       if (this._isTransitioning || !this._isShown()) {
         return;
       }
-      const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+      const startEvent = EventHandler.trigger(this._element, EVENT_HIDE$7);
       if (startEvent.defaultPrevented) {
         return;
       }
       this._element.style[dimension] = `${this._element.getBoundingClientRect()[dimension]}px`;
       reflow(this._element);
       this._element.classList.add(CLASS_NAME_COLLAPSING);
-      this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$7);
+      this._element.classList.remove(CLASS_NAME_COLLAPSE, CLASS_NAME_SHOW$8);
       for (const trigger of this._triggerArray) {
         const element = SelectorEngine.getElementFromSelector(trigger);
         if (element && !this._isShown(element)) {
         this._isTransitioning = false;
         this._element.classList.remove(CLASS_NAME_COLLAPSING);
         this._element.classList.add(CLASS_NAME_COLLAPSE);
-        EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+        EventHandler.trigger(this._element, EVENT_HIDDEN$7);
       };
       this._element.style[dimension] = '';
       this._queueCallback(complete, this._element, true);
 
     // Private
     _isShown(element = this._element) {
-      return element.classList.contains(CLASS_NAME_SHOW$7);
+      return element.classList.contains(CLASS_NAME_SHOW$8);
     }
     _configAfterMerge(config) {
       config.toggle = Boolean(config.toggle); // Coerce string values
       if (!this._config.parent) {
         return;
       }
-      const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$4);
+      const children = this._getFirstLevelChildren(SELECTOR_DATA_TOGGLE$5);
       for (const element of children) {
         const selected = SelectorEngine.getElementFromSelector(element);
         if (selected) {
    * Data API implementation
    */
 
-  EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
+  EventHandler.on(document, EVENT_CLICK_DATA_API$5, SELECTOR_DATA_TOGGLE$5, function (event) {
     // preventDefault only for <a> elements (which change the URL) not inside the collapsible element
     if (event.target.tagName === 'A' || event.delegateTarget && event.delegateTarget.tagName === 'A') {
       event.preventDefault();
 
   /**
    * --------------------------------------------------------------------------
-   * Bootstrap dropdown.js
+   * Bootstrap util/backdrop.js
    * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
    * --------------------------------------------------------------------------
    */
    * Constants
    */
 
-  const NAME$a = 'dropdown';
-  const DATA_KEY$6 = 'bs.dropdown';
-  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
-  const DATA_API_KEY$3 = '.data-api';
-  const ESCAPE_KEY$2 = 'Escape';
-  const TAB_KEY$1 = 'Tab';
-  const ARROW_UP_KEY$1 = 'ArrowUp';
-  const ARROW_DOWN_KEY$1 = 'ArrowDown';
-  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
-
-  const EVENT_HIDE$5 = `hide${EVENT_KEY$6}`;
-  const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$6}`;
-  const EVENT_SHOW$5 = `show${EVENT_KEY$6}`;
-  const EVENT_SHOWN$5 = `shown${EVENT_KEY$6}`;
-  const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$6}${DATA_API_KEY$3}`;
-  const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$6}${DATA_API_KEY$3}`;
-  const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$6}${DATA_API_KEY$3}`;
-  const CLASS_NAME_SHOW$6 = 'show';
-  const CLASS_NAME_DROPUP = 'dropup';
-  const CLASS_NAME_DROPEND = 'dropend';
-  const CLASS_NAME_DROPSTART = 'dropstart';
-  const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
-  const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
-  const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
-  const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$6}`;
-  const SELECTOR_MENU = '.dropdown-menu';
-  const SELECTOR_NAVBAR = '.navbar';
-  const SELECTOR_NAVBAR_NAV = '.navbar-nav';
-  const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
-  const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';
-  const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';
-  const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';
-  const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
-  const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
-  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
-  const PLACEMENT_TOPCENTER = 'top';
-  const PLACEMENT_BOTTOMCENTER = 'bottom';
-  const Default$9 = {
-    autoClose: true,
-    boundary: 'clippingParents',
-    display: 'dynamic',
-    offset: [0, 2],
-    popperConfig: null,
-    reference: 'toggle'
+  const NAME$b = 'backdrop';
+  const CLASS_NAME_FADE$5 = 'fade';
+  const CLASS_NAME_SHOW$7 = 'show';
+  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$b}`;
+  const Default$a = {
+    className: 'modal-backdrop',
+    clickCallback: null,
+    isAnimated: false,
+    isVisible: true,
+    // if false, we use the backdrop helper without adding any element to the dom
+    rootElement: 'body' // give the choice to place backdrop under different elements
   };
-  const DefaultType$9 = {
-    autoClose: '(boolean|string)',
-    boundary: '(string|element)',
-    display: 'string',
-    offset: '(array|string|function)',
-    popperConfig: '(null|object|function)',
-    reference: '(string|element|object)'
+  const DefaultType$a = {
+    className: 'string',
+    clickCallback: '(function|null)',
+    isAnimated: 'boolean',
+    isVisible: 'boolean',
+    rootElement: '(element|string)'
   };
 
   /**
    * Class definition
    */
 
-  class Dropdown extends BaseComponent {
-    constructor(element, config) {
-      super(element, config);
-      this._popper = null;
-      this._parent = this._element.parentNode; // dropdown wrapper
-      // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
-      this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
-      this._inNavbar = this._detectNavbar();
+  class Backdrop extends Config {
+    constructor(config) {
+      super();
+      this._config = this._getConfig(config);
+      this._isAppended = false;
+      this._element = null;
     }
 
     // Getters
     static get Default() {
-      return Default$9;
+      return Default$a;
     }
     static get DefaultType() {
-      return DefaultType$9;
+      return DefaultType$a;
     }
     static get NAME() {
-      return NAME$a;
+      return NAME$b;
     }
 
     // Public
-    toggle() {
-      return this._isShown() ? this.hide() : this.show();
-    }
-    show() {
-      if (isDisabled(this._element) || this._isShown()) {
-        return;
-      }
-      const relatedTarget = {
-        relatedTarget: this._element
-      };
-      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);
-      if (showEvent.defaultPrevented) {
+    show(callback) {
+      if (!this._config.isVisible) {
+        execute(callback);
         return;
       }
-      this._createPopper();
-
-      // If this is a touch-enabled device we add extra
-      // empty mouseover listeners to the body's immediate children;
-      // only needed because of broken event delegation on iOS
-      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
-      if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {
-        for (const element of [].concat(...document.body.children)) {
-          EventHandler.on(element, 'mouseover', noop);
-        }
+      this._append();
+      const element = this._getElement();
+      if (this._config.isAnimated) {
+        reflow(element);
       }
-      this._element.focus();
-      this._element.setAttribute('aria-expanded', true);
-      this._menu.classList.add(CLASS_NAME_SHOW$6);
-      this._element.classList.add(CLASS_NAME_SHOW$6);
-      EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);
+      element.classList.add(CLASS_NAME_SHOW$7);
+      this._emulateAnimation(() => {
+        execute(callback);
+      });
     }
-    hide() {
-      if (isDisabled(this._element) || !this._isShown()) {
+    hide(callback) {
+      if (!this._config.isVisible) {
+        execute(callback);
         return;
       }
-      const relatedTarget = {
-        relatedTarget: this._element
-      };
-      this._completeHide(relatedTarget);
+      this._getElement().classList.remove(CLASS_NAME_SHOW$7);
+      this._emulateAnimation(() => {
+        this.dispose();
+        execute(callback);
+      });
     }
     dispose() {
-      if (this._popper) {
-        this._popper.destroy();
-      }
-      super.dispose();
-    }
-    update() {
-      this._inNavbar = this._detectNavbar();
-      if (this._popper) {
-        this._popper.update();
+      if (!this._isAppended) {
+        return;
       }
+      EventHandler.off(this._element, EVENT_MOUSEDOWN);
+      this._element.remove();
+      this._isAppended = false;
     }
 
     // Private
-    _completeHide(relatedTarget) {
-      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);
-      if (hideEvent.defaultPrevented) {
-        return;
-      }
-
-      // If this is a touch-enabled device we remove the extra
-      // empty mouseover listeners we added for iOS support
-      if ('ontouchstart' in document.documentElement) {
-        for (const element of [].concat(...document.body.children)) {
-          EventHandler.off(element, 'mouseover', noop);
+    _getElement() {
+      if (!this._element) {
+        const backdrop = document.createElement('div');
+        backdrop.className = this._config.className;
+        if (this._config.isAnimated) {
+          backdrop.classList.add(CLASS_NAME_FADE$5);
         }
+        this._element = backdrop;
       }
-      if (this._popper) {
-        this._popper.destroy();
-      }
-      this._menu.classList.remove(CLASS_NAME_SHOW$6);
-      this._element.classList.remove(CLASS_NAME_SHOW$6);
-      this._element.setAttribute('aria-expanded', 'false');
-      Manipulator.removeDataAttribute(this._menu, 'popper');
-      EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
+      return this._element;
     }
-    _getConfig(config) {
-      config = super._getConfig(config);
-      if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
-        // Popper virtual elements require a getBoundingClientRect method
-        throw new TypeError(`${NAME$a.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
-      }
+    _configAfterMerge(config) {
+      // use getElement() with the default "body" to get a fresh Element on each instantiation
+      config.rootElement = getElement(config.rootElement);
       return config;
     }
-    _createPopper() {
-      if (typeof Popper__namespace === 'undefined') {
-        throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org/docs/v2/)');
-      }
-      let referenceElement = this._element;
-      if (this._config.reference === 'parent') {
-        referenceElement = this._parent;
-      } else if (isElement(this._config.reference)) {
-        referenceElement = getElement(this._config.reference);
-      } else if (typeof this._config.reference === 'object') {
-        referenceElement = this._config.reference;
+    _append() {
+      if (this._isAppended) {
+        return;
       }
-      const popperConfig = this._getPopperConfig();
-      this._popper = Popper__namespace.createPopper(referenceElement, this._menu, popperConfig);
+      const element = this._getElement();
+      this._config.rootElement.append(element);
+      EventHandler.on(element, EVENT_MOUSEDOWN, () => {
+        execute(this._config.clickCallback);
+      });
+      this._isAppended = true;
     }
-    _isShown() {
-      return this._menu.classList.contains(CLASS_NAME_SHOW$6);
+    _emulateAnimation(callback) {
+      executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
     }
-    _getPlacement() {
-      const parentDropdown = this._parent;
-      if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
-        return PLACEMENT_RIGHT;
-      }
-      if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
-        return PLACEMENT_LEFT;
-      }
-      if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {
-        return PLACEMENT_TOPCENTER;
+  }
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap util/focustrap.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$a = 'focustrap';
+  const DATA_KEY$7 = 'bs.focustrap';
+  const EVENT_KEY$7 = `.${DATA_KEY$7}`;
+  const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$7}`;
+  const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$7}`;
+  const TAB_KEY$1 = 'Tab';
+  const TAB_NAV_FORWARD = 'forward';
+  const TAB_NAV_BACKWARD = 'backward';
+  const Default$9 = {
+    autofocus: true,
+    trapElement: null // The element to trap focus inside of
+  };
+  const DefaultType$9 = {
+    autofocus: 'boolean',
+    trapElement: 'element'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class FocusTrap extends Config {
+    constructor(config) {
+      super();
+      this._config = this._getConfig(config);
+      this._isActive = false;
+      this._lastTabNavDirection = null;
+    }
+
+    // Getters
+    static get Default() {
+      return Default$9;
+    }
+    static get DefaultType() {
+      return DefaultType$9;
+    }
+    static get NAME() {
+      return NAME$a;
+    }
+
+    // Public
+    activate() {
+      if (this._isActive) {
+        return;
+      }
+      if (this._config.autofocus) {
+        this._config.trapElement.focus();
+      }
+      EventHandler.off(document, EVENT_KEY$7); // guard against infinite focus loop
+      EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
+      EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
+      this._isActive = true;
+    }
+    deactivate() {
+      if (!this._isActive) {
+        return;
+      }
+      this._isActive = false;
+      EventHandler.off(document, EVENT_KEY$7);
+    }
+
+    // Private
+    _handleFocusin(event) {
+      const {
+        trapElement
+      } = this._config;
+      if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {
+        return;
+      }
+      const elements = SelectorEngine.focusableChildren(trapElement);
+      if (elements.length === 0) {
+        trapElement.focus();
+      } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {
+        elements[elements.length - 1].focus();
+      } else {
+        elements[0].focus();
+      }
+    }
+    _handleKeydown(event) {
+      if (event.key !== TAB_KEY$1) {
+        return;
+      }
+      this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;
+    }
+  }
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap dialog.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$9 = 'dialog';
+  const DATA_KEY$6 = 'bs.dialog';
+  const EVENT_KEY$6 = `.${DATA_KEY$6}`;
+  const DATA_API_KEY$4 = '.data-api';
+  const ESCAPE_KEY$3 = 'Escape';
+  const EVENT_HIDE$6 = `hide${EVENT_KEY$6}`;
+  const EVENT_HIDE_PREVENTED$2 = `hidePrevented${EVENT_KEY$6}`;
+  const EVENT_HIDDEN$6 = `hidden${EVENT_KEY$6}`;
+  const EVENT_SHOW$6 = `show${EVENT_KEY$6}`;
+  const EVENT_SHOWN$6 = `shown${EVENT_KEY$6}`;
+  const EVENT_RESIZE$2 = `resize${EVENT_KEY$6}`;
+  const EVENT_CLICK_DISMISS$1 = `click.dismiss${EVENT_KEY$6}`;
+  const EVENT_MOUSEDOWN_DISMISS$1 = `mousedown.dismiss${EVENT_KEY$6}`;
+  const EVENT_KEYDOWN_DISMISS$2 = `keydown.dismiss${EVENT_KEY$6}`;
+  const EVENT_CLICK_DATA_API$4 = `click${EVENT_KEY$6}${DATA_API_KEY$4}`;
+  const CLASS_NAME_OPEN$1 = 'dialog-open';
+  const CLASS_NAME_FADE$4 = 'fade';
+  const CLASS_NAME_SHOW$6 = 'show';
+  const CLASS_NAME_STATIC$1 = 'dialog-static';
+  const OPEN_SELECTOR$2 = '.dialog.show';
+  const SELECTOR_DIALOG_CONTENT = '.dialog-content';
+  const SELECTOR_DIALOG_BODY = '.dialog-body';
+  const SELECTOR_DATA_TOGGLE$4 = '[data-bs-toggle="dialog"]';
+  const Default$8 = {
+    backdrop: true,
+    focus: true,
+    keyboard: true,
+    modal: true
+  };
+  const DefaultType$8 = {
+    backdrop: '(boolean|string)',
+    focus: 'boolean',
+    keyboard: 'boolean',
+    modal: 'boolean'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Dialog extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._dialogContent = SelectorEngine.findOne(SELECTOR_DIALOG_CONTENT, this._element);
+      this._backdrop = this._initializeBackDrop();
+      this._focustrap = this._initializeFocusTrap();
+      this._isShown = false;
+      this._isTransitioning = false;
+      this._addEventListeners();
+    }
+
+    // Getters
+    static get Default() {
+      return Default$8;
+    }
+    static get DefaultType() {
+      return DefaultType$8;
+    }
+    static get NAME() {
+      return NAME$9;
+    }
+
+    // Public
+    toggle(relatedTarget) {
+      return this._isShown ? this.hide() : this.show(relatedTarget);
+    }
+    show(relatedTarget) {
+      if (this._isShown || this._isTransitioning) {
+        return;
+      }
+      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$6, {
+        relatedTarget
+      });
+      if (showEvent.defaultPrevented) {
+        return;
+      }
+      this._isShown = true;
+      this._isTransitioning = true;
+
+      // Use scrollbar-gutter CSS property instead of manual scrollbar handling
+      document.body.style.scrollbarGutter = 'stable';
+      document.body.classList.add(CLASS_NAME_OPEN$1);
+      this._backdrop.show(() => this._showElement(relatedTarget));
+    }
+    hide() {
+      if (!this._isShown || this._isTransitioning) {
+        return;
+      }
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$6);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      this._isShown = false;
+      this._isTransitioning = true;
+      this._focustrap.deactivate();
+      this._element.classList.remove(CLASS_NAME_SHOW$6);
+      this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated());
+    }
+    dispose() {
+      EventHandler.off(window, EVENT_KEY$6);
+      EventHandler.off(this._element, EVENT_KEY$6);
+      this._backdrop.dispose();
+      this._focustrap.deactivate();
+      super.dispose();
+    }
+    handleUpdate() {
+      // No dialog adjustments needed with native dialog element
+    }
+
+    // Private
+    _initializeBackDrop() {
+      return new Backdrop({
+        isVisible: Boolean(this._config.backdrop),
+        // 'static' option will be translated to true, and booleans will keep their value,
+        isAnimated: this._isAnimated(),
+        className: 'dialog-backdrop'
+      });
+    }
+    _initializeFocusTrap() {
+      return new FocusTrap({
+        trapElement: this._element
+      });
+    }
+    _showElement(relatedTarget) {
+      // try to append dynamic dialog
+      if (!document.body.contains(this._element)) {
+        document.body.append(this._element);
+      }
+
+      // Use native dialog methods
+      if (this._config.modal) {
+        this._element.showModal();
+      } else {
+        this._element.show();
+      }
+      this._element.scrollTop = 0;
+      const dialogBody = SelectorEngine.findOne(SELECTOR_DIALOG_BODY, this._dialogContent);
+      if (dialogBody) {
+        dialogBody.scrollTop = 0;
+      }
+      reflow(this._element);
+      this._element.classList.add(CLASS_NAME_SHOW$6);
+      const transitionComplete = () => {
+        if (this._config.focus) {
+          this._focustrap.activate();
+        }
+        this._isTransitioning = false;
+        EventHandler.trigger(this._element, EVENT_SHOWN$6, {
+          relatedTarget
+        });
+      };
+      this._queueCallback(transitionComplete, this._dialogContent, this._isAnimated());
+    }
+    _addEventListeners() {
+      EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS$2, event => {
+        if (event.key !== ESCAPE_KEY$3) {
+          return;
+        }
+        if (this._config.keyboard) {
+          this.hide();
+          return;
+        }
+        this._triggerBackdropTransition();
+      });
+      EventHandler.on(window, EVENT_RESIZE$2, () => {
+        if (this._isShown && !this._isTransitioning) ;
+      });
+      EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS$1, event => {
+        // Handle click outside dialog content
+        EventHandler.one(this._element, EVENT_CLICK_DISMISS$1, event2 => {
+          if (this._element !== event.target || this._element !== event2.target) {
+            return;
+          }
+          if (this._config.backdrop === 'static') {
+            this._triggerBackdropTransition();
+            return;
+          }
+          if (this._config.backdrop) {
+            this.hide();
+          }
+        });
+      });
+    }
+    _hideDialog() {
+      // Use native dialog close method
+      this._element.close();
+      this._isTransitioning = false;
+      this._backdrop.hide(() => {
+        document.body.classList.remove(CLASS_NAME_OPEN$1);
+        document.body.style.scrollbarGutter = '';
+        EventHandler.trigger(this._element, EVENT_HIDDEN$6);
+      });
+    }
+    _isAnimated() {
+      return this._element.classList.contains(CLASS_NAME_FADE$4);
+    }
+    _triggerBackdropTransition() {
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED$2);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      const isDialogOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+      const initialOverflowY = this._element.style.overflowY;
+      // return if the following background transition hasn't yet completed
+      if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC$1)) {
+        return;
+      }
+      if (!isDialogOverflowing) {
+        this._element.style.overflowY = 'hidden';
+      }
+      this._element.classList.add(CLASS_NAME_STATIC$1);
+      this._queueCallback(() => {
+        this._element.classList.remove(CLASS_NAME_STATIC$1);
+        this._queueCallback(() => {
+          this._element.style.overflowY = initialOverflowY;
+        }, this._dialogContent);
+      }, this._dialogContent);
+      this._element.focus();
+    }
+
+    // Static
+    static jQueryInterface(config, relatedTarget) {
+      return this.each(function () {
+        const data = Dialog.getOrCreateInstance(this, config);
+        if (typeof config !== 'string') {
+          return;
+        }
+        if (typeof data[config] === 'undefined') {
+          throw new TypeError(`No method named "${config}"`);
+        }
+        data[config](relatedTarget);
+      });
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, EVENT_CLICK_DATA_API$4, SELECTOR_DATA_TOGGLE$4, function (event) {
+    const target = SelectorEngine.getElementFromSelector(this);
+    if (['A', 'AREA'].includes(this.tagName)) {
+      event.preventDefault();
+    }
+    EventHandler.one(target, EVENT_SHOW$6, showEvent => {
+      if (showEvent.defaultPrevented) {
+        // only register focus restorer if dialog will actually get shown
+        return;
+      }
+      EventHandler.one(target, EVENT_HIDDEN$6, () => {
+        if (isVisible(this)) {
+          this.focus();
+        }
+      });
+    });
+
+    // avoid conflict when clicking dialog toggler while another one is open
+    const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR$2);
+    if (alreadyOpen) {
+      Dialog.getInstance(alreadyOpen).hide();
+    }
+    const data = Dialog.getOrCreateInstance(target);
+    data.toggle(this);
+  });
+  enableDismissTrigger(Dialog);
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap dropdown.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME$8 = 'dropdown';
+  const DATA_KEY$5 = 'bs.dropdown';
+  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
+  const DATA_API_KEY$3 = '.data-api';
+  const ESCAPE_KEY$2 = 'Escape';
+  const TAB_KEY = 'Tab';
+  const ARROW_UP_KEY$1 = 'ArrowUp';
+  const ARROW_DOWN_KEY$1 = 'ArrowDown';
+  const RIGHT_MOUSE_BUTTON = 2; // MouseEvent.button value for the secondary button, usually the right button
+
+  const EVENT_HIDE$5 = `hide${EVENT_KEY$5}`;
+  const EVENT_HIDDEN$5 = `hidden${EVENT_KEY$5}`;
+  const EVENT_SHOW$5 = `show${EVENT_KEY$5}`;
+  const EVENT_SHOWN$5 = `shown${EVENT_KEY$5}`;
+  const EVENT_CLICK_DATA_API$3 = `click${EVENT_KEY$5}${DATA_API_KEY$3}`;
+  const EVENT_KEYDOWN_DATA_API = `keydown${EVENT_KEY$5}${DATA_API_KEY$3}`;
+  const EVENT_KEYUP_DATA_API = `keyup${EVENT_KEY$5}${DATA_API_KEY$3}`;
+  const CLASS_NAME_SHOW$5 = 'show';
+  const CLASS_NAME_DROPUP = 'dropup';
+  const CLASS_NAME_DROPEND = 'dropend';
+  const CLASS_NAME_DROPSTART = 'dropstart';
+  const CLASS_NAME_DROPUP_CENTER = 'dropup-center';
+  const CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center';
+  const SELECTOR_DATA_TOGGLE$3 = '[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)';
+  const SELECTOR_DATA_TOGGLE_SHOWN = `${SELECTOR_DATA_TOGGLE$3}.${CLASS_NAME_SHOW$5}`;
+  const SELECTOR_MENU = '.dropdown-menu';
+  const SELECTOR_NAVBAR = '.navbar';
+  const SELECTOR_NAVBAR_NAV = '.navbar-nav';
+  const SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)';
+  const PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start';
+  const PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end';
+  const PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start';
+  const PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end';
+  const PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start';
+  const PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start';
+  const PLACEMENT_TOPCENTER = 'top';
+  const PLACEMENT_BOTTOMCENTER = 'bottom';
+  const Default$7 = {
+    autoClose: true,
+    boundary: 'clippingParents',
+    display: 'dynamic',
+    offset: [0, 2],
+    popperConfig: null,
+    reference: 'toggle'
+  };
+  const DefaultType$7 = {
+    autoClose: '(boolean|string)',
+    boundary: '(string|element)',
+    display: 'string',
+    offset: '(array|string|function)',
+    popperConfig: '(null|object|function)',
+    reference: '(string|element|object)'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Dropdown extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._popper = null;
+      this._parent = this._element.parentNode; // dropdown wrapper
+      // TODO: v6 revert #37011 & change markup https://getbootstrap.com/docs/5.3/forms/input-group/
+      this._menu = SelectorEngine.next(this._element, SELECTOR_MENU)[0] || SelectorEngine.prev(this._element, SELECTOR_MENU)[0] || SelectorEngine.findOne(SELECTOR_MENU, this._parent);
+      this._inNavbar = this._detectNavbar();
+    }
+
+    // Getters
+    static get Default() {
+      return Default$7;
+    }
+    static get DefaultType() {
+      return DefaultType$7;
+    }
+    static get NAME() {
+      return NAME$8;
+    }
+
+    // Public
+    toggle() {
+      return this._isShown() ? this.hide() : this.show();
+    }
+    show() {
+      if (isDisabled(this._element) || this._isShown()) {
+        return;
+      }
+      const relatedTarget = {
+        relatedTarget: this._element
+      };
+      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW$5, relatedTarget);
+      if (showEvent.defaultPrevented) {
+        return;
+      }
+      this._createPopper();
+
+      // If this is a touch-enabled device we add extra
+      // empty mouseover listeners to the body's immediate children;
+      // only needed because of broken event delegation on iOS
+      // https://www.quirksmode.org/blog/archives/2014/02/mouse_event_bub.html
+      if ('ontouchstart' in document.documentElement && !this._parent.closest(SELECTOR_NAVBAR_NAV)) {
+        for (const element of [].concat(...document.body.children)) {
+          EventHandler.on(element, 'mouseover', noop);
+        }
+      }
+      this._element.focus();
+      this._element.setAttribute('aria-expanded', true);
+      this._menu.classList.add(CLASS_NAME_SHOW$5);
+      this._element.classList.add(CLASS_NAME_SHOW$5);
+      EventHandler.trigger(this._element, EVENT_SHOWN$5, relatedTarget);
+    }
+    hide() {
+      if (isDisabled(this._element) || !this._isShown()) {
+        return;
+      }
+      const relatedTarget = {
+        relatedTarget: this._element
+      };
+      this._completeHide(relatedTarget);
+    }
+    dispose() {
+      if (this._popper) {
+        this._popper.destroy();
+      }
+      super.dispose();
+    }
+    update() {
+      this._inNavbar = this._detectNavbar();
+      if (this._popper) {
+        this._popper.update();
+      }
+    }
+
+    // Private
+    _completeHide(relatedTarget) {
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE$5, relatedTarget);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+
+      // If this is a touch-enabled device we remove the extra
+      // empty mouseover listeners we added for iOS support
+      if ('ontouchstart' in document.documentElement) {
+        for (const element of [].concat(...document.body.children)) {
+          EventHandler.off(element, 'mouseover', noop);
+        }
+      }
+      if (this._popper) {
+        this._popper.destroy();
+      }
+      this._menu.classList.remove(CLASS_NAME_SHOW$5);
+      this._element.classList.remove(CLASS_NAME_SHOW$5);
+      this._element.setAttribute('aria-expanded', 'false');
+      Manipulator.removeDataAttribute(this._menu, 'popper');
+      EventHandler.trigger(this._element, EVENT_HIDDEN$5, relatedTarget);
+    }
+    _getConfig(config) {
+      config = super._getConfig(config);
+      if (typeof config.reference === 'object' && !isElement(config.reference) && typeof config.reference.getBoundingClientRect !== 'function') {
+        // Popper virtual elements require a getBoundingClientRect method
+        throw new TypeError(`${NAME$8.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);
+      }
+      return config;
+    }
+    _createPopper() {
+      if (typeof Popper__namespace === 'undefined') {
+        throw new TypeError('Bootstrap\'s dropdowns require Popper (https://popper.js.org/docs/v2/)');
+      }
+      let referenceElement = this._element;
+      if (this._config.reference === 'parent') {
+        referenceElement = this._parent;
+      } else if (isElement(this._config.reference)) {
+        referenceElement = getElement(this._config.reference);
+      } else if (typeof this._config.reference === 'object') {
+        referenceElement = this._config.reference;
+      }
+      const popperConfig = this._getPopperConfig();
+      this._popper = Popper__namespace.createPopper(referenceElement, this._menu, popperConfig);
+    }
+    _isShown() {
+      return this._menu.classList.contains(CLASS_NAME_SHOW$5);
+    }
+    _getPlacement() {
+      const parentDropdown = this._parent;
+      if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {
+        return PLACEMENT_RIGHT;
+      }
+      if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {
+        return PLACEMENT_LEFT;
+      }
+      if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {
+        return PLACEMENT_TOPCENTER;
       }
       if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {
         return PLACEMENT_BOTTOMCENTER;
       getNextActiveElement(items, target, key === ARROW_DOWN_KEY$1, !items.includes(target)).focus();
     }
     static clearMenus(event) {
-      if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY$1) {
+      if (event.button === RIGHT_MOUSE_BUTTON || event.type === 'keyup' && event.key !== TAB_KEY) {
         return;
       }
       const openToggles = SelectorEngine.find(SELECTOR_DATA_TOGGLE_SHOWN);
         }
 
         // Tab navigation through the dropdown menu or events from contained inputs shouldn't close the menu
-        if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY$1 || /input|select|option|textarea|form/i.test(event.target.tagName))) {
+        if (context._menu.contains(event.target) && (event.type === 'keyup' && event.key === TAB_KEY || /input|select|option|textarea|form/i.test(event.target.tagName))) {
           continue;
         }
         const relatedTarget = {
     Dropdown.getOrCreateInstance(this).toggle();
   });
 
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap util/backdrop.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-
-
-  /**
-   * Constants
-   */
-
-  const NAME$9 = 'backdrop';
-  const CLASS_NAME_FADE$4 = 'fade';
-  const CLASS_NAME_SHOW$5 = 'show';
-  const EVENT_MOUSEDOWN = `mousedown.bs.${NAME$9}`;
-  const Default$8 = {
-    className: 'modal-backdrop',
-    clickCallback: null,
-    isAnimated: false,
-    isVisible: true,
-    // if false, we use the backdrop helper without adding any element to the dom
-    rootElement: 'body' // give the choice to place backdrop under different elements
-  };
-  const DefaultType$8 = {
-    className: 'string',
-    clickCallback: '(function|null)',
-    isAnimated: 'boolean',
-    isVisible: 'boolean',
-    rootElement: '(element|string)'
-  };
-
-  /**
-   * Class definition
-   */
-
-  class Backdrop extends Config {
-    constructor(config) {
-      super();
-      this._config = this._getConfig(config);
-      this._isAppended = false;
-      this._element = null;
-    }
-
-    // Getters
-    static get Default() {
-      return Default$8;
-    }
-    static get DefaultType() {
-      return DefaultType$8;
-    }
-    static get NAME() {
-      return NAME$9;
-    }
-
-    // Public
-    show(callback) {
-      if (!this._config.isVisible) {
-        execute(callback);
-        return;
-      }
-      this._append();
-      const element = this._getElement();
-      if (this._config.isAnimated) {
-        reflow(element);
-      }
-      element.classList.add(CLASS_NAME_SHOW$5);
-      this._emulateAnimation(() => {
-        execute(callback);
-      });
-    }
-    hide(callback) {
-      if (!this._config.isVisible) {
-        execute(callback);
-        return;
-      }
-      this._getElement().classList.remove(CLASS_NAME_SHOW$5);
-      this._emulateAnimation(() => {
-        this.dispose();
-        execute(callback);
-      });
-    }
-    dispose() {
-      if (!this._isAppended) {
-        return;
-      }
-      EventHandler.off(this._element, EVENT_MOUSEDOWN);
-      this._element.remove();
-      this._isAppended = false;
-    }
-
-    // Private
-    _getElement() {
-      if (!this._element) {
-        const backdrop = document.createElement('div');
-        backdrop.className = this._config.className;
-        if (this._config.isAnimated) {
-          backdrop.classList.add(CLASS_NAME_FADE$4);
-        }
-        this._element = backdrop;
-      }
-      return this._element;
-    }
-    _configAfterMerge(config) {
-      // use getElement() with the default "body" to get a fresh Element on each instantiation
-      config.rootElement = getElement(config.rootElement);
-      return config;
-    }
-    _append() {
-      if (this._isAppended) {
-        return;
-      }
-      const element = this._getElement();
-      this._config.rootElement.append(element);
-      EventHandler.on(element, EVENT_MOUSEDOWN, () => {
-        execute(this._config.clickCallback);
-      });
-      this._isAppended = true;
-    }
-    _emulateAnimation(callback) {
-      executeAfterTransition(callback, this._getElement(), this._config.isAnimated);
-    }
-  }
-
-  /**
-   * --------------------------------------------------------------------------
-   * Bootstrap util/focustrap.js
-   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
-   * --------------------------------------------------------------------------
-   */
-
-
-  /**
-   * Constants
-   */
-
-  const NAME$8 = 'focustrap';
-  const DATA_KEY$5 = 'bs.focustrap';
-  const EVENT_KEY$5 = `.${DATA_KEY$5}`;
-  const EVENT_FOCUSIN$2 = `focusin${EVENT_KEY$5}`;
-  const EVENT_KEYDOWN_TAB = `keydown.tab${EVENT_KEY$5}`;
-  const TAB_KEY = 'Tab';
-  const TAB_NAV_FORWARD = 'forward';
-  const TAB_NAV_BACKWARD = 'backward';
-  const Default$7 = {
-    autofocus: true,
-    trapElement: null // The element to trap focus inside of
-  };
-  const DefaultType$7 = {
-    autofocus: 'boolean',
-    trapElement: 'element'
-  };
-
-  /**
-   * Class definition
-   */
-
-  class FocusTrap extends Config {
-    constructor(config) {
-      super();
-      this._config = this._getConfig(config);
-      this._isActive = false;
-      this._lastTabNavDirection = null;
-    }
-
-    // Getters
-    static get Default() {
-      return Default$7;
-    }
-    static get DefaultType() {
-      return DefaultType$7;
-    }
-    static get NAME() {
-      return NAME$8;
-    }
-
-    // Public
-    activate() {
-      if (this._isActive) {
-        return;
-      }
-      if (this._config.autofocus) {
-        this._config.trapElement.focus();
-      }
-      EventHandler.off(document, EVENT_KEY$5); // guard against infinite focus loop
-      EventHandler.on(document, EVENT_FOCUSIN$2, event => this._handleFocusin(event));
-      EventHandler.on(document, EVENT_KEYDOWN_TAB, event => this._handleKeydown(event));
-      this._isActive = true;
-    }
-    deactivate() {
-      if (!this._isActive) {
-        return;
-      }
-      this._isActive = false;
-      EventHandler.off(document, EVENT_KEY$5);
-    }
-
-    // Private
-    _handleFocusin(event) {
-      const {
-        trapElement
-      } = this._config;
-      if (event.target === document || event.target === trapElement || trapElement.contains(event.target)) {
-        return;
-      }
-      const elements = SelectorEngine.focusableChildren(trapElement);
-      if (elements.length === 0) {
-        trapElement.focus();
-      } else if (this._lastTabNavDirection === TAB_NAV_BACKWARD) {
-        elements[elements.length - 1].focus();
-      } else {
-        elements[0].focus();
-      }
-    }
-    _handleKeydown(event) {
-      if (event.key !== TAB_KEY) {
-        return;
-      }
-      this._lastTabNavDirection = event.shiftKey ? TAB_NAV_BACKWARD : TAB_NAV_FORWARD;
-    }
-  }
-
   /**
    * --------------------------------------------------------------------------
    * Bootstrap util/scrollBar.js
     Button,
     Carousel,
     Collapse,
+    Dialog,
     Dropdown,
     Modal,
     Offcanvas,
index 0451b8bc3470cb0f30c9256ba59b970440bdd574..314d29389e44e3754ea1f5f68e3f3549f0583355 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/dropdown.js","../../js/src/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.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/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  // TODO: tooltip passes `false` instead of selector, so we need to check\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  // 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\nexport {\n  enableDismissTrigger\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|boolean)', // TODO:v6 remove boolean support\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    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && 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      // TODO: change tests that use empty divs to avoid this check\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 dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\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'\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 RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\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'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\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_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  popperConfig: null,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  popperConfig: '(null|object|function)',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._popper = null\n    this._parent = this._element.parentNode // dropdown wrapper\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    this._inNavbar = this._detectNavbar()\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._createPopper()\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    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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    super.dispose()\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper) {\n      this._popper.update()\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    // 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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'popper')\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      // Popper 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  _createPopper() {\n    if (typeof Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\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    const popperConfig = this._getPopperConfig()\n    this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const parentDropdown = this._parent\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n      return PLACEMENT_RIGHT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n      return PLACEMENT_LEFT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n      return PLACEMENT_TOPCENTER\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n      return PLACEMENT_BOTTOMCENTER\n    }\n\n    // We need to trim the value because custom properties can also include spaces\n    const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n      return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n    }\n\n    return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n  }\n\n  _detectNavbar() {\n    return this._element.closest(SELECTOR_NAVBAR) !== null\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _getPopperConfig() {\n    const defaultBsPopperConfig = {\n      placement: this._getPlacement(),\n      modifiers: [{\n        name: 'preventOverflow',\n        options: {\n          boundary: this._config.boundary\n        }\n      },\n      {\n        name: 'offset',\n        options: {\n          offset: this._getOffset()\n        }\n      }]\n    }\n\n    // Disable Popper if we have a static display or Dropdown is in Navbar\n    if (this._inNavbar || this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n      defaultBsPopperConfig.modifiers = [{\n        name: 'applyStyles',\n        enabled: false\n      }]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).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  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 an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\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\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\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    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\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 modal.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  isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\n  keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n    this._scrollBar = new ScrollBarHelper()\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    this._scrollBar.hide()\n\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._adjustDialog()\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._dialog, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    this._adjustDialog()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated()\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic modal\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    this._element.style.display = 'block'\n    this._element.removeAttribute('aria-hidden')\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.scrollTop = 0\n\n    const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n    if (modalBody) {\n      modalBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        this._adjustDialog()\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideModal() {\n    this._element.style.display = 'none'\n    this._element.setAttribute('aria-hidden', true)\n    this._element.removeAttribute('aria-modal')\n    this._element.removeAttribute('role')\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      this._resetAdjustments()\n      this._scrollBar.reset()\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isModalOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialog)\n    }, this._dialog)\n\n    this._element.focus()\n  }\n\n  /**\n   * The following methods are used to handle overflowing modals\n   */\n\n  _adjustDialog() {\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const scrollbarWidth = this._scrollBar.getWidth()\n    const isBodyOverflowing = scrollbarWidth > 0\n\n    if (isBodyOverflowing && !isModalOverflowing) {\n      const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n\n    if (!isBodyOverflowing && isModalOverflowing) {\n      const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n  }\n\n  _resetAdjustments() {\n    this._element.style.paddingLeft = ''\n    this._element.style.paddingRight = ''\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      // only register focus restorer if modal will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking modal toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Modal.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Modal.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\nexport default Modal\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 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 * as Popper from '@popperjs/core'\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'\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}`\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  popperConfig: 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  popperConfig: '(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 Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org/docs/v2/)')\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._popper = null\n    this._templateFactory = null\n    this._newContent = null\n\n    // Protected\n    this.tip = null\n\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._disposePopper()\n    super.dispose()\n  }\n\n  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    // TODO: v6 remove this or make it optional\n    this._disposePopper()\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    this._popper = this._createPopper(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._disposePopper()\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._popper) {\n      this._popper.update()\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    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\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._disposePopper()\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  _createPopper(tip) {\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    const attachment = AttachmentMap[placement.toUpperCase()]\n    return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getPopperConfig(attachment) {\n    const defaultBsPopperConfig = {\n      placement: attachment,\n      modifiers: [\n        {\n          name: 'flip',\n          options: {\n            fallbackPlacements: this._config.fallbackPlacements\n          }\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: this._getOffset()\n          }\n        },\n        {\n          name: 'preventOverflow',\n          options: {\n            boundary: this._config.boundary\n          }\n        },\n        {\n          name: 'arrow',\n          options: {\n            element: `.${this.constructor.NAME}-arrow`\n          }\n        },\n        {\n          name: 'preSetPlacement',\n          enabled: true,\n          phase: 'beforeMain',\n          fn: data => {\n            // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n            // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n            this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n          }\n        }\n      ]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\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  _disposePopper() {\n    if (this._popper) {\n      this._popper.destroy()\n      this._popper = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\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'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\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\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  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\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    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\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_INNER_ELEM}`)\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 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 Dropdown from './src/dropdown.js'\nimport Modal from './src/modal.js'\nimport Offcanvas from './src/offcanvas.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 Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dropdown,\n  Modal,\n  Offcanvas,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\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","_unused","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","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","data","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","hidden","_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","ESCAPE_KEY","TAB_KEY","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","autoClose","boundary","display","offset","popperConfig","reference","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","showEvent","_createPopper","body","focus","_completeHide","destroy","update","hideEvent","Popper","referenceElement","_getPopperConfig","createPopper","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","modifiers","options","enabled","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","EVENT_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","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","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","Modal","_dialog","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_scrollBar","_adjustDialog","_showElement","_hideModal","handleUpdate","scrollTop","modalBody","transitionComplete","_triggerBackdropTransition","event2","_resetAdjustments","isModalOverflowing","scrollHeight","clientHeight","initialOverflowY","overflowY","isBodyOverflowing","paddingLeft","paddingRight","alreadyOpen","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","scroll","Offcanvas","blur","completeCallback","position","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","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","textContent","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","fallbackPlacements","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","phase","state","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","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","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","top","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","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","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"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/util/backdrop.js","../../js/src/util/focustrap.js","../../js/src/dialog.js","../../js/src/dropdown.js","../../js/src/util/scrollbar.js","../../js/src/modal.js","../../js/src/offcanvas.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/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  // TODO: tooltip passes `false` instead of selector, so we need to check\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  // 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\nexport {\n  enableDismissTrigger\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|boolean)', // TODO:v6 remove boolean support\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    // FIXME TODO use `document.visibilityState`\n    // Don't call next when the page isn't visible\n    // or the carousel or its parent isn't visible\n    if (!document.hidden && 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      // TODO: change tests that use empty divs to avoid this check\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 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 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 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  isVisible, reflow\n} 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'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'dialog-static'\n\nconst OPEN_SELECTOR = '.dialog.show'\nconst SELECTOR_DIALOG_CONTENT = '.dialog-content'\nconst SELECTOR_DIALOG_BODY = '.dialog-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true,\n  modal: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\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._dialogContent = SelectorEngine.findOne(SELECTOR_DIALOG_CONTENT, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    // Use scrollbar-gutter CSS property instead of manual scrollbar handling\n    document.body.style.scrollbarGutter = 'stable'\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._element, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // No dialog adjustments needed with native dialog element\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated(),\n      className: 'dialog-backdrop'\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic dialog\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    // Use native dialog methods\n    if (this._config.modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    this._element.scrollTop = 0\n\n    const dialogBody = SelectorEngine.findOne(SELECTOR_DIALOG_BODY, this._dialogContent)\n    if (dialogBody) {\n      dialogBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialogContent, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        // No need for dialog adjustments with native dialog\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // Handle click outside dialog content\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideDialog() {\n    // Use native dialog close method\n    this._element.close()\n\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      document.body.style.scrollbarGutter = ''\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isDialogOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isDialogOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialogContent)\n    }, this._dialogContent)\n\n    this._element.focus()\n  }\n\n  // Static\n  static jQueryInterface(config, relatedTarget) {\n    return this.each(function () {\n      const data = Dialog.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config](relatedTarget)\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      // only register focus restorer if dialog will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking dialog toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Dialog.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Dialog.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog","/**\n * --------------------------------------------------------------------------\n * Bootstrap dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport * as Popper from '@popperjs/core'\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'\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 RIGHT_MOUSE_BUTTON = 2 // MouseEvent.button value for the secondary button, usually the right button\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'\nconst CLASS_NAME_DROPUP = 'dropup'\nconst CLASS_NAME_DROPEND = 'dropend'\nconst CLASS_NAME_DROPSTART = 'dropstart'\nconst CLASS_NAME_DROPUP_CENTER = 'dropup-center'\nconst CLASS_NAME_DROPDOWN_CENTER = 'dropdown-center'\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_NAVBAR = '.navbar'\nconst SELECTOR_NAVBAR_NAV = '.navbar-nav'\nconst SELECTOR_VISIBLE_ITEMS = '.dropdown-menu .dropdown-item:not(.disabled):not(:disabled)'\n\nconst PLACEMENT_TOP = isRTL() ? 'top-end' : 'top-start'\nconst PLACEMENT_TOPEND = isRTL() ? 'top-start' : 'top-end'\nconst PLACEMENT_BOTTOM = isRTL() ? 'bottom-end' : 'bottom-start'\nconst PLACEMENT_BOTTOMEND = isRTL() ? 'bottom-start' : 'bottom-end'\nconst PLACEMENT_RIGHT = isRTL() ? 'left-start' : 'right-start'\nconst PLACEMENT_LEFT = isRTL() ? 'right-start' : 'left-start'\nconst PLACEMENT_TOPCENTER = 'top'\nconst PLACEMENT_BOTTOMCENTER = 'bottom'\n\nconst Default = {\n  autoClose: true,\n  boundary: 'clippingParents',\n  display: 'dynamic',\n  offset: [0, 2],\n  popperConfig: null,\n  reference: 'toggle'\n}\n\nconst DefaultType = {\n  autoClose: '(boolean|string)',\n  boundary: '(string|element)',\n  display: 'string',\n  offset: '(array|string|function)',\n  popperConfig: '(null|object|function)',\n  reference: '(string|element|object)'\n}\n\n/**\n * Class definition\n */\n\nclass Dropdown extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._popper = null\n    this._parent = this._element.parentNode // dropdown wrapper\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    this._inNavbar = this._detectNavbar()\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._createPopper()\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    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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    super.dispose()\n  }\n\n  update() {\n    this._inNavbar = this._detectNavbar()\n    if (this._popper) {\n      this._popper.update()\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    // 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    if (this._popper) {\n      this._popper.destroy()\n    }\n\n    this._menu.classList.remove(CLASS_NAME_SHOW)\n    this._element.classList.remove(CLASS_NAME_SHOW)\n    this._element.setAttribute('aria-expanded', 'false')\n    Manipulator.removeDataAttribute(this._menu, 'popper')\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      // Popper 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  _createPopper() {\n    if (typeof Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s dropdowns require Popper (https://popper.js.org/docs/v2/)')\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    const popperConfig = this._getPopperConfig()\n    this._popper = Popper.createPopper(referenceElement, this._menu, popperConfig)\n  }\n\n  _isShown() {\n    return this._menu.classList.contains(CLASS_NAME_SHOW)\n  }\n\n  _getPlacement() {\n    const parentDropdown = this._parent\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPEND)) {\n      return PLACEMENT_RIGHT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPSTART)) {\n      return PLACEMENT_LEFT\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP_CENTER)) {\n      return PLACEMENT_TOPCENTER\n    }\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPDOWN_CENTER)) {\n      return PLACEMENT_BOTTOMCENTER\n    }\n\n    // We need to trim the value because custom properties can also include spaces\n    const isEnd = getComputedStyle(this._menu).getPropertyValue('--bs-position').trim() === 'end'\n\n    if (parentDropdown.classList.contains(CLASS_NAME_DROPUP)) {\n      return isEnd ? PLACEMENT_TOPEND : PLACEMENT_TOP\n    }\n\n    return isEnd ? PLACEMENT_BOTTOMEND : PLACEMENT_BOTTOM\n  }\n\n  _detectNavbar() {\n    return this._element.closest(SELECTOR_NAVBAR) !== null\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _getPopperConfig() {\n    const defaultBsPopperConfig = {\n      placement: this._getPlacement(),\n      modifiers: [{\n        name: 'preventOverflow',\n        options: {\n          boundary: this._config.boundary\n        }\n      },\n      {\n        name: 'offset',\n        options: {\n          offset: this._getOffset()\n        }\n      }]\n    }\n\n    // Disable Popper if we have a static display or Dropdown is in Navbar\n    if (this._inNavbar || this._config.display === 'static') {\n      Manipulator.setDataAttribute(this._menu, 'popper', 'static') // TODO: v6 remove\n      defaultBsPopperConfig.modifiers = [{\n        name: 'applyStyles',\n        enabled: false\n      }]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\n    }\n  }\n\n  _selectMenuItem({ key, target }) {\n    const items = SelectorEngine.find(SELECTOR_VISIBLE_ITEMS, this._menu).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  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 an UP | DOWN | ESCAPE key => not a dropdown command\n    // If input/textarea && if key is other than ESCAPE => not a dropdown command\n\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\n    if (!isUpOrDownEvent && !isEscapeEvent) {\n      return\n    }\n\n    if (isInput && !isEscapeEvent) {\n      return\n    }\n\n    event.preventDefault()\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    const instance = Dropdown.getOrCreateInstance(getToggleButton)\n\n    if (isUpOrDownEvent) {\n      event.stopPropagation()\n      instance.show()\n      instance._selectMenuItem(event)\n      return\n    }\n\n    if (instance._isShown()) { // else is escape and we check if it is shown\n      event.stopPropagation()\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/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 modal.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  isRTL, isVisible, reflow\n} from './util/index.js'\nimport ScrollBarHelper from './util/scrollbar.js'\n\n/**\n * Constants\n */\n\nconst NAME = 'modal'\nconst DATA_KEY = 'bs.modal'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'modal-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'modal-static'\n\nconst OPEN_SELECTOR = '.modal.show'\nconst SELECTOR_DIALOG = '.modal-dialog'\nconst SELECTOR_MODAL_BODY = '.modal-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"modal\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\n  keyboard: 'boolean'\n}\n\n/**\n * Class definition\n */\n\nclass Modal extends BaseComponent {\n  constructor(element, config) {\n    super(element, config)\n\n    this._dialog = SelectorEngine.findOne(SELECTOR_DIALOG, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n    this._scrollBar = new ScrollBarHelper()\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    this._scrollBar.hide()\n\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._adjustDialog()\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideModal(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._dialog, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    this._adjustDialog()\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated()\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic modal\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    this._element.style.display = 'block'\n    this._element.removeAttribute('aria-hidden')\n    this._element.setAttribute('aria-modal', true)\n    this._element.setAttribute('role', 'dialog')\n    this._element.scrollTop = 0\n\n    const modalBody = SelectorEngine.findOne(SELECTOR_MODAL_BODY, this._dialog)\n    if (modalBody) {\n      modalBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialog, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        this._adjustDialog()\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // a bad trick to segregate clicks that may start inside dialog but end outside, and avoid listen to scrollbar clicks\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideModal() {\n    this._element.style.display = 'none'\n    this._element.setAttribute('aria-hidden', true)\n    this._element.removeAttribute('aria-modal')\n    this._element.removeAttribute('role')\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      this._resetAdjustments()\n      this._scrollBar.reset()\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isModalOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialog)\n    }, this._dialog)\n\n    this._element.focus()\n  }\n\n  /**\n   * The following methods are used to handle overflowing modals\n   */\n\n  _adjustDialog() {\n    const isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const scrollbarWidth = this._scrollBar.getWidth()\n    const isBodyOverflowing = scrollbarWidth > 0\n\n    if (isBodyOverflowing && !isModalOverflowing) {\n      const property = isRTL() ? 'paddingLeft' : 'paddingRight'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n\n    if (!isBodyOverflowing && isModalOverflowing) {\n      const property = isRTL() ? 'paddingRight' : 'paddingLeft'\n      this._element.style[property] = `${scrollbarWidth}px`\n    }\n  }\n\n  _resetAdjustments() {\n    this._element.style.paddingLeft = ''\n    this._element.style.paddingRight = ''\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      // only register focus restorer if modal will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking modal toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Modal.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Modal.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Modal)\n\nexport default Modal\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 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 * as Popper from '@popperjs/core'\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'\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}`\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  popperConfig: 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  popperConfig: '(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 Popper === 'undefined') {\n      throw new TypeError('Bootstrap\\'s tooltips require Popper (https://popper.js.org/docs/v2/)')\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._popper = null\n    this._templateFactory = null\n    this._newContent = null\n\n    // Protected\n    this.tip = null\n\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._disposePopper()\n    super.dispose()\n  }\n\n  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    // TODO: v6 remove this or make it optional\n    this._disposePopper()\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    this._popper = this._createPopper(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._disposePopper()\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._popper) {\n      this._popper.update()\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    // TODO: remove this check in v6\n    if (!tip) {\n      return null\n    }\n\n    tip.classList.remove(CLASS_NAME_FADE, CLASS_NAME_SHOW)\n    // TODO: v6 the following can be achieved with CSS only\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._disposePopper()\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  _createPopper(tip) {\n    const placement = execute(this._config.placement, [this, tip, this._element])\n    const attachment = AttachmentMap[placement.toUpperCase()]\n    return Popper.createPopper(this._element, tip, this._getPopperConfig(attachment))\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      return popperData => offset(popperData, this._element)\n    }\n\n    return offset\n  }\n\n  _resolvePossibleFunction(arg) {\n    return execute(arg, [this._element, this._element])\n  }\n\n  _getPopperConfig(attachment) {\n    const defaultBsPopperConfig = {\n      placement: attachment,\n      modifiers: [\n        {\n          name: 'flip',\n          options: {\n            fallbackPlacements: this._config.fallbackPlacements\n          }\n        },\n        {\n          name: 'offset',\n          options: {\n            offset: this._getOffset()\n          }\n        },\n        {\n          name: 'preventOverflow',\n          options: {\n            boundary: this._config.boundary\n          }\n        },\n        {\n          name: 'arrow',\n          options: {\n            element: `.${this.constructor.NAME}-arrow`\n          }\n        },\n        {\n          name: 'preSetPlacement',\n          enabled: true,\n          phase: 'beforeMain',\n          fn: data => {\n            // Pre-set Popper's placement attribute in order to read the arrow sizes properly.\n            // Otherwise, Popper mixes up the width and height dimensions since the initial arrow style is for top placement\n            this._getTipElement().setAttribute('data-popper-placement', data.state.placement)\n          }\n        }\n      ]\n    }\n\n    return {\n      ...defaultBsPopperConfig,\n      ...execute(this._config.popperConfig, [undefined, defaultBsPopperConfig])\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  _disposePopper() {\n    if (this._popper) {\n      this._popper.destroy()\n      this._popper = null\n    }\n\n    if (this.tip) {\n      this.tip.remove()\n      this.tip = null\n    }\n  }\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'\n\n/**\n * Constants\n */\n\nconst NAME = 'popover'\n\nconst SELECTOR_TITLE = '.popover-header'\nconst SELECTOR_CONTENT = '.popover-body'\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\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  offset: null, // TODO: v6 @deprecated, keep it for backwards compatibility reasons\n  rootMargin: '0px 0px -25%',\n  smoothScroll: false,\n  target: null,\n  threshold: [0.1, 0.5, 1]\n}\n\nconst DefaultType = {\n  offset: '(number|null)', // TODO v6 @deprecated, keep it for backwards compatibility reasons\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    // TODO: on v6 target should be given explicitly & remove the {target: 'ss-target'} case\n    config.target = getElement(config.target) || document.body\n\n    // TODO: v6 Only for backwards compatibility reasons. Use rootMargin only\n    config.rootMargin = config.offset ? `${config.offset}px 0px -30%` : config.rootMargin\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_INNER_ELEM}`)\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 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 Dialog from './src/dialog.js'\nimport Dropdown from './src/dropdown.js'\nimport Modal from './src/modal.js'\nimport Offcanvas from './src/offcanvas.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 Tooltip from './src/tooltip.js'\n\nexport default {\n  Alert,\n  Button,\n  Carousel,\n  Collapse,\n  Dialog,\n  Dropdown,\n  Modal,\n  Offcanvas,\n  Popover,\n  ScrollSpy,\n  Tab,\n  Toast,\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","_unused","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","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","data","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","hidden","_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_MOUSEDOWN","className","clickCallback","rootElement","Backdrop","_isAppended","_append","_getElement","_emulateAnimation","backdrop","createElement","append","EVENT_FOCUSIN","EVENT_KEYDOWN_TAB","TAB_KEY","TAB_NAV_FORWARD","TAB_NAV_BACKWARD","autofocus","trapElement","FocusTrap","_isActive","_lastTabNavDirection","activate","focus","_handleFocusin","_handleKeydown","deactivate","elements","shiftKey","ESCAPE_KEY","EVENT_HIDE_PREVENTED","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","CLASS_NAME_OPEN","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG_CONTENT","SELECTOR_DIALOG_BODY","modal","Dialog","_dialogContent","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","showEvent","body","scrollbarGutter","_showElement","hideEvent","_hideDialog","handleUpdate","showModal","scrollTop","dialogBody","transitionComplete","_triggerBackdropTransition","event2","isDialogOverflowing","scrollHeight","clientHeight","initialOverflowY","overflowY","jQueryInterface","each","alreadyOpen","ARROW_UP_KEY","ARROW_DOWN_KEY","RIGHT_MOUSE_BUTTON","EVENT_KEYDOWN_DATA_API","EVENT_KEYUP_DATA_API","CLASS_NAME_DROPUP","CLASS_NAME_DROPEND","CLASS_NAME_DROPSTART","CLASS_NAME_DROPUP_CENTER","CLASS_NAME_DROPDOWN_CENTER","SELECTOR_DATA_TOGGLE_SHOWN","SELECTOR_MENU","SELECTOR_NAVBAR","SELECTOR_NAVBAR_NAV","SELECTOR_VISIBLE_ITEMS","PLACEMENT_TOP","PLACEMENT_TOPEND","PLACEMENT_BOTTOM","PLACEMENT_BOTTOMEND","PLACEMENT_RIGHT","PLACEMENT_LEFT","PLACEMENT_TOPCENTER","PLACEMENT_BOTTOMCENTER","autoClose","boundary","display","offset","popperConfig","reference","Dropdown","_popper","_parent","_menu","_inNavbar","_detectNavbar","_createPopper","_completeHide","destroy","update","Popper","referenceElement","_getPopperConfig","createPopper","_getPlacement","parentDropdown","isEnd","_getOffset","popperData","defaultBsPopperConfig","placement","modifiers","options","enabled","_selectMenuItem","clearMenus","openToggles","context","composedPath","isMenuTarget","dataApiKeydownHandler","isInput","isEscapeEvent","isUpOrDownEvent","getToggleButton","stopPropagation","SELECTOR_FIXED_CONTENT","SELECTOR_STICKY_CONTENT","PROPERTY_PADDING","PROPERTY_MARGIN","ScrollBarHelper","getWidth","documentWidth","clientWidth","innerWidth","width","_disableOverFlow","_setElementAttributes","calculatedValue","reset","_resetElementAttributes","isOverflowing","_saveInitialAttribute","overflow","styleProperty","scrollbarWidth","manipulationCallBack","setProperty","_applyManipulationCallback","actualValue","removeProperty","callBack","SELECTOR_DIALOG","SELECTOR_MODAL_BODY","Modal","_dialog","_scrollBar","_adjustDialog","_hideModal","modalBody","_resetAdjustments","isModalOverflowing","isBodyOverflowing","paddingLeft","paddingRight","CLASS_NAME_SHOWING","CLASS_NAME_HIDING","CLASS_NAME_BACKDROP","scroll","Offcanvas","blur","completeCallback","position","ARIA_ATTRIBUTE_PATTERN","DefaultAllowlist","a","area","b","br","col","code","dd","div","dl","dt","em","hr","h1","h2","h3","h4","h5","h6","i","li","ol","p","pre","s","small","span","sub","sup","strong","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","textContent","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","fallbackPlacements","title","Tooltip","_isEnabled","_timeout","_isHovered","_activeTrigger","_templateFactory","_newContent","tip","_setListeners","_fixTitle","enable","disable","toggleEnabled","_leave","_enter","_hideModalHandler","_disposePopper","_isWithContent","shadowRoot","isInTheDom","ownerDocument","_getTipElement","_isWithActiveTrigger","_getTitle","_createTipElement","_getContentForTemplate","_getTemplateFactory","tipId","setContent","_initializeOnDelegatedTarget","_getDelegateConfig","attachment","phase","state","triggers","eventIn","eventOut","_setTimeout","timeout","dataAttributes","dataAttribute","SELECTOR_TITLE","SELECTOR_CONTENT","Popover","_getContent","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","_activeTarget","_observer","_previousScrollData","visibleEntryTop","parentScrollTop","refresh","_initializeTargetsAndObservables","_maybeEnableSmoothScroll","disconnect","_getNewObserver","section","observe","observableSection","hash","height","offsetTop","scrollTo","top","behavior","IntersectionObserver","_observerCallback","targetElement","_process","userScrollsDown","isIntersecting","_clearActiveClass","entryIsLowerThanPrevious","targetLinks","anchor","decodeURI","_activateParents","listGroup","item","activeNodes","node","spy","HOME_KEY","END_KEY","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","open","EVENT_MOUSEOVER","EVENT_MOUSEOUT","CLASS_NAME_HIDE","autohide","Toast","_hasMouseInteraction","_hasKeyboardInteraction","_clearTimeout","_maybeScheduleHide","isShown","_onInteraction","isInteracting"],"mappings":"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"}
\ No newline at end of file
diff --git a/js/dist/dialog.js b/js/dist/dialog.js
new file mode 100644 (file)
index 0000000..6d8b3da
--- /dev/null
@@ -0,0 +1,293 @@
+/*!
+  * Bootstrap dialog.js v5.3.8 (https://getbootstrap.com/)
+  * Copyright 2011-2025 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+  */
+(function (global, factory) {
+  typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('./base-component.js'), require('./dom/event-handler.js'), require('./dom/selector-engine.js'), require('./util/backdrop.js'), require('./util/component-functions.js'), require('./util/focustrap.js'), require('./util/index.js')) :
+  typeof define === 'function' && define.amd ? define(['./base-component', './dom/event-handler', './dom/selector-engine', './util/backdrop', './util/component-functions', './util/focustrap', './util/index'], factory) :
+  (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Dialog = factory(global.BaseComponent, global.EventHandler, global.SelectorEngine, global.Backdrop, global.ComponentFunctions, global.Focustrap, global.Index));
+})(this, (function (BaseComponent, EventHandler, SelectorEngine, Backdrop, componentFunctions_js, FocusTrap, index_js) { 'use strict';
+
+  /**
+   * --------------------------------------------------------------------------
+   * Bootstrap dialog.js
+   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+   * --------------------------------------------------------------------------
+   */
+
+
+  /**
+   * Constants
+   */
+
+  const NAME = 'dialog';
+  const DATA_KEY = 'bs.dialog';
+  const EVENT_KEY = `.${DATA_KEY}`;
+  const DATA_API_KEY = '.data-api';
+  const ESCAPE_KEY = 'Escape';
+  const EVENT_HIDE = `hide${EVENT_KEY}`;
+  const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`;
+  const EVENT_HIDDEN = `hidden${EVENT_KEY}`;
+  const EVENT_SHOW = `show${EVENT_KEY}`;
+  const EVENT_SHOWN = `shown${EVENT_KEY}`;
+  const EVENT_RESIZE = `resize${EVENT_KEY}`;
+  const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`;
+  const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`;
+  const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`;
+  const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`;
+  const CLASS_NAME_OPEN = 'dialog-open';
+  const CLASS_NAME_FADE = 'fade';
+  const CLASS_NAME_SHOW = 'show';
+  const CLASS_NAME_STATIC = 'dialog-static';
+  const OPEN_SELECTOR = '.dialog.show';
+  const SELECTOR_DIALOG_CONTENT = '.dialog-content';
+  const SELECTOR_DIALOG_BODY = '.dialog-body';
+  const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dialog"]';
+  const Default = {
+    backdrop: true,
+    focus: true,
+    keyboard: true,
+    modal: true
+  };
+  const DefaultType = {
+    backdrop: '(boolean|string)',
+    focus: 'boolean',
+    keyboard: 'boolean',
+    modal: 'boolean'
+  };
+
+  /**
+   * Class definition
+   */
+
+  class Dialog extends BaseComponent {
+    constructor(element, config) {
+      super(element, config);
+      this._dialogContent = SelectorEngine.findOne(SELECTOR_DIALOG_CONTENT, this._element);
+      this._backdrop = this._initializeBackDrop();
+      this._focustrap = this._initializeFocusTrap();
+      this._isShown = false;
+      this._isTransitioning = false;
+      this._addEventListeners();
+    }
+
+    // Getters
+    static get Default() {
+      return Default;
+    }
+    static get DefaultType() {
+      return DefaultType;
+    }
+    static get NAME() {
+      return NAME;
+    }
+
+    // Public
+    toggle(relatedTarget) {
+      return this._isShown ? this.hide() : this.show(relatedTarget);
+    }
+    show(relatedTarget) {
+      if (this._isShown || this._isTransitioning) {
+        return;
+      }
+      const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {
+        relatedTarget
+      });
+      if (showEvent.defaultPrevented) {
+        return;
+      }
+      this._isShown = true;
+      this._isTransitioning = true;
+
+      // Use scrollbar-gutter CSS property instead of manual scrollbar handling
+      document.body.style.scrollbarGutter = 'stable';
+      document.body.classList.add(CLASS_NAME_OPEN);
+      this._backdrop.show(() => this._showElement(relatedTarget));
+    }
+    hide() {
+      if (!this._isShown || this._isTransitioning) {
+        return;
+      }
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      this._isShown = false;
+      this._isTransitioning = true;
+      this._focustrap.deactivate();
+      this._element.classList.remove(CLASS_NAME_SHOW);
+      this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated());
+    }
+    dispose() {
+      EventHandler.off(window, EVENT_KEY);
+      EventHandler.off(this._element, EVENT_KEY);
+      this._backdrop.dispose();
+      this._focustrap.deactivate();
+      super.dispose();
+    }
+    handleUpdate() {
+      // No dialog adjustments needed with native dialog element
+    }
+
+    // Private
+    _initializeBackDrop() {
+      return new Backdrop({
+        isVisible: Boolean(this._config.backdrop),
+        // 'static' option will be translated to true, and booleans will keep their value,
+        isAnimated: this._isAnimated(),
+        className: 'dialog-backdrop'
+      });
+    }
+    _initializeFocusTrap() {
+      return new FocusTrap({
+        trapElement: this._element
+      });
+    }
+    _showElement(relatedTarget) {
+      // try to append dynamic dialog
+      if (!document.body.contains(this._element)) {
+        document.body.append(this._element);
+      }
+
+      // Use native dialog methods
+      if (this._config.modal) {
+        this._element.showModal();
+      } else {
+        this._element.show();
+      }
+      this._element.scrollTop = 0;
+      const dialogBody = SelectorEngine.findOne(SELECTOR_DIALOG_BODY, this._dialogContent);
+      if (dialogBody) {
+        dialogBody.scrollTop = 0;
+      }
+      index_js.reflow(this._element);
+      this._element.classList.add(CLASS_NAME_SHOW);
+      const transitionComplete = () => {
+        if (this._config.focus) {
+          this._focustrap.activate();
+        }
+        this._isTransitioning = false;
+        EventHandler.trigger(this._element, EVENT_SHOWN, {
+          relatedTarget
+        });
+      };
+      this._queueCallback(transitionComplete, this._dialogContent, this._isAnimated());
+    }
+    _addEventListeners() {
+      EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
+        if (event.key !== ESCAPE_KEY) {
+          return;
+        }
+        if (this._config.keyboard) {
+          this.hide();
+          return;
+        }
+        this._triggerBackdropTransition();
+      });
+      EventHandler.on(window, EVENT_RESIZE, () => {
+        if (this._isShown && !this._isTransitioning) ;
+      });
+      EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
+        // Handle click outside dialog content
+        EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
+          if (this._element !== event.target || this._element !== event2.target) {
+            return;
+          }
+          if (this._config.backdrop === 'static') {
+            this._triggerBackdropTransition();
+            return;
+          }
+          if (this._config.backdrop) {
+            this.hide();
+          }
+        });
+      });
+    }
+    _hideDialog() {
+      // Use native dialog close method
+      this._element.close();
+      this._isTransitioning = false;
+      this._backdrop.hide(() => {
+        document.body.classList.remove(CLASS_NAME_OPEN);
+        document.body.style.scrollbarGutter = '';
+        EventHandler.trigger(this._element, EVENT_HIDDEN);
+      });
+    }
+    _isAnimated() {
+      return this._element.classList.contains(CLASS_NAME_FADE);
+    }
+    _triggerBackdropTransition() {
+      const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED);
+      if (hideEvent.defaultPrevented) {
+        return;
+      }
+      const isDialogOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
+      const initialOverflowY = this._element.style.overflowY;
+      // return if the following background transition hasn't yet completed
+      if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {
+        return;
+      }
+      if (!isDialogOverflowing) {
+        this._element.style.overflowY = 'hidden';
+      }
+      this._element.classList.add(CLASS_NAME_STATIC);
+      this._queueCallback(() => {
+        this._element.classList.remove(CLASS_NAME_STATIC);
+        this._queueCallback(() => {
+          this._element.style.overflowY = initialOverflowY;
+        }, this._dialogContent);
+      }, this._dialogContent);
+      this._element.focus();
+    }
+
+    // Static
+    static jQueryInterface(config, relatedTarget) {
+      return this.each(function () {
+        const data = Dialog.getOrCreateInstance(this, config);
+        if (typeof config !== 'string') {
+          return;
+        }
+        if (typeof data[config] === 'undefined') {
+          throw new TypeError(`No method named "${config}"`);
+        }
+        data[config](relatedTarget);
+      });
+    }
+  }
+
+  /**
+   * Data API implementation
+   */
+
+  EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
+    const target = SelectorEngine.getElementFromSelector(this);
+    if (['A', 'AREA'].includes(this.tagName)) {
+      event.preventDefault();
+    }
+    EventHandler.one(target, EVENT_SHOW, showEvent => {
+      if (showEvent.defaultPrevented) {
+        // only register focus restorer if dialog will actually get shown
+        return;
+      }
+      EventHandler.one(target, EVENT_HIDDEN, () => {
+        if (index_js.isVisible(this)) {
+          this.focus();
+        }
+      });
+    });
+
+    // avoid conflict when clicking dialog toggler while another one is open
+    const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR);
+    if (alreadyOpen) {
+      Dialog.getInstance(alreadyOpen).hide();
+    }
+    const data = Dialog.getOrCreateInstance(target);
+    data.toggle(this);
+  });
+  componentFunctions_js.enableDismissTrigger(Dialog);
+
+  return Dialog;
+
+}));
+//# sourceMappingURL=dialog.js.map
diff --git a/js/dist/dialog.js.map b/js/dist/dialog.js.map
new file mode 100644 (file)
index 0000000..1820b49
--- /dev/null
@@ -0,0 +1 @@
+{"version":3,"file":"dialog.js","sources":["../src/dialog.js"],"sourcesContent":["/**\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 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  isVisible, reflow\n} 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'\nconst ESCAPE_KEY = 'Escape'\n\nconst EVENT_HIDE = `hide${EVENT_KEY}`\nconst EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`\nconst EVENT_HIDDEN = `hidden${EVENT_KEY}`\nconst EVENT_SHOW = `show${EVENT_KEY}`\nconst EVENT_SHOWN = `shown${EVENT_KEY}`\nconst EVENT_RESIZE = `resize${EVENT_KEY}`\nconst EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`\nconst EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`\nconst EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst CLASS_NAME_OPEN = 'dialog-open'\nconst CLASS_NAME_FADE = 'fade'\nconst CLASS_NAME_SHOW = 'show'\nconst CLASS_NAME_STATIC = 'dialog-static'\n\nconst OPEN_SELECTOR = '.dialog.show'\nconst SELECTOR_DIALOG_CONTENT = '.dialog-content'\nconst SELECTOR_DIALOG_BODY = '.dialog-body'\nconst SELECTOR_DATA_TOGGLE = '[data-bs-toggle=\"dialog\"]'\n\nconst Default = {\n  backdrop: true,\n  focus: true,\n  keyboard: true,\n  modal: true\n}\n\nconst DefaultType = {\n  backdrop: '(boolean|string)',\n  focus: 'boolean',\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._dialogContent = SelectorEngine.findOne(SELECTOR_DIALOG_CONTENT, this._element)\n    this._backdrop = this._initializeBackDrop()\n    this._focustrap = this._initializeFocusTrap()\n    this._isShown = false\n    this._isTransitioning = false\n\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 || 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._isShown = true\n    this._isTransitioning = true\n\n    // Use scrollbar-gutter CSS property instead of manual scrollbar handling\n    document.body.style.scrollbarGutter = 'stable'\n    document.body.classList.add(CLASS_NAME_OPEN)\n\n    this._backdrop.show(() => this._showElement(relatedTarget))\n  }\n\n  hide() {\n    if (!this._isShown || 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._isShown = false\n    this._isTransitioning = true\n    this._focustrap.deactivate()\n\n    this._element.classList.remove(CLASS_NAME_SHOW)\n\n    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())\n  }\n\n  dispose() {\n    EventHandler.off(window, EVENT_KEY)\n    EventHandler.off(this._element, EVENT_KEY)\n\n    this._backdrop.dispose()\n    this._focustrap.deactivate()\n\n    super.dispose()\n  }\n\n  handleUpdate() {\n    // No dialog adjustments needed with native dialog element\n  }\n\n  // Private\n  _initializeBackDrop() {\n    return new Backdrop({\n      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,\n      isAnimated: this._isAnimated(),\n      className: 'dialog-backdrop'\n    })\n  }\n\n  _initializeFocusTrap() {\n    return new FocusTrap({\n      trapElement: this._element\n    })\n  }\n\n  _showElement(relatedTarget) {\n    // try to append dynamic dialog\n    if (!document.body.contains(this._element)) {\n      document.body.append(this._element)\n    }\n\n    // Use native dialog methods\n    if (this._config.modal) {\n      this._element.showModal()\n    } else {\n      this._element.show()\n    }\n\n    this._element.scrollTop = 0\n\n    const dialogBody = SelectorEngine.findOne(SELECTOR_DIALOG_BODY, this._dialogContent)\n    if (dialogBody) {\n      dialogBody.scrollTop = 0\n    }\n\n    reflow(this._element)\n\n    this._element.classList.add(CLASS_NAME_SHOW)\n\n    const transitionComplete = () => {\n      if (this._config.focus) {\n        this._focustrap.activate()\n      }\n\n      this._isTransitioning = false\n      EventHandler.trigger(this._element, EVENT_SHOWN, {\n        relatedTarget\n      })\n    }\n\n    this._queueCallback(transitionComplete, this._dialogContent, this._isAnimated())\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      this._triggerBackdropTransition()\n    })\n\n    EventHandler.on(window, EVENT_RESIZE, () => {\n      if (this._isShown && !this._isTransitioning) {\n        // No need for dialog adjustments with native dialog\n      }\n    })\n\n    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {\n      // Handle click outside dialog content\n      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {\n        if (this._element !== event.target || this._element !== event2.target) {\n          return\n        }\n\n        if (this._config.backdrop === 'static') {\n          this._triggerBackdropTransition()\n          return\n        }\n\n        if (this._config.backdrop) {\n          this.hide()\n        }\n      })\n    })\n  }\n\n  _hideDialog() {\n    // Use native dialog close method\n    this._element.close()\n\n    this._isTransitioning = false\n\n    this._backdrop.hide(() => {\n      document.body.classList.remove(CLASS_NAME_OPEN)\n      document.body.style.scrollbarGutter = ''\n      EventHandler.trigger(this._element, EVENT_HIDDEN)\n    })\n  }\n\n  _isAnimated() {\n    return this._element.classList.contains(CLASS_NAME_FADE)\n  }\n\n  _triggerBackdropTransition() {\n    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)\n    if (hideEvent.defaultPrevented) {\n      return\n    }\n\n    const isDialogOverflowing = this._element.scrollHeight > document.documentElement.clientHeight\n    const initialOverflowY = this._element.style.overflowY\n    // return if the following background transition hasn't yet completed\n    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {\n      return\n    }\n\n    if (!isDialogOverflowing) {\n      this._element.style.overflowY = 'hidden'\n    }\n\n    this._element.classList.add(CLASS_NAME_STATIC)\n    this._queueCallback(() => {\n      this._element.classList.remove(CLASS_NAME_STATIC)\n      this._queueCallback(() => {\n        this._element.style.overflowY = initialOverflowY\n      }, this._dialogContent)\n    }, this._dialogContent)\n\n    this._element.focus()\n  }\n\n  // Static\n  static jQueryInterface(config, relatedTarget) {\n    return this.each(function () {\n      const data = Dialog.getOrCreateInstance(this, config)\n\n      if (typeof config !== 'string') {\n        return\n      }\n\n      if (typeof data[config] === 'undefined') {\n        throw new TypeError(`No method named \"${config}\"`)\n      }\n\n      data[config](relatedTarget)\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      // only register focus restorer if dialog will actually get shown\n      return\n    }\n\n    EventHandler.one(target, EVENT_HIDDEN, () => {\n      if (isVisible(this)) {\n        this.focus()\n      }\n    })\n  })\n\n  // avoid conflict when clicking dialog toggler while another one is open\n  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)\n  if (alreadyOpen) {\n    Dialog.getInstance(alreadyOpen).hide()\n  }\n\n  const data = Dialog.getOrCreateInstance(target)\n\n  data.toggle(this)\n})\n\nenableDismissTrigger(Dialog)\n\nexport default Dialog"],"names":["NAME","DATA_KEY","EVENT_KEY","DATA_API_KEY","ESCAPE_KEY","EVENT_HIDE","EVENT_HIDE_PREVENTED","EVENT_HIDDEN","EVENT_SHOW","EVENT_SHOWN","EVENT_RESIZE","EVENT_CLICK_DISMISS","EVENT_MOUSEDOWN_DISMISS","EVENT_KEYDOWN_DISMISS","EVENT_CLICK_DATA_API","CLASS_NAME_OPEN","CLASS_NAME_FADE","CLASS_NAME_SHOW","CLASS_NAME_STATIC","OPEN_SELECTOR","SELECTOR_DIALOG_CONTENT","SELECTOR_DIALOG_BODY","SELECTOR_DATA_TOGGLE","Default","backdrop","focus","keyboard","modal","DefaultType","Dialog","BaseComponent","constructor","element","config","_dialogContent","SelectorEngine","findOne","_element","_backdrop","_initializeBackDrop","_focustrap","_initializeFocusTrap","_isShown","_isTransitioning","_addEventListeners","toggle","relatedTarget","hide","show","showEvent","EventHandler","trigger","defaultPrevented","document","body","style","scrollbarGutter","classList","add","_showElement","hideEvent","deactivate","remove","_queueCallback","_hideDialog","_isAnimated","dispose","off","window","handleUpdate","Backdrop","isVisible","Boolean","_config","isAnimated","className","FocusTrap","trapElement","contains","append","showModal","scrollTop","dialogBody","reflow","transitionComplete","activate","on","event","key","_triggerBackdropTransition","one","event2","target","close","isDialogOverflowing","scrollHeight","documentElement","clientHeight","initialOverflowY","overflowY","jQueryInterface","each","data","getOrCreateInstance","TypeError","getElementFromSelector","includes","tagName","preventDefault","alreadyOpen","getInstance","enableDismissTrigger"],"mappings":"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"}
\ No newline at end of file
index 155d9fb6a59a98c706939cb6ec3f4dc3e1ed7944..0a5faa0d03f4d4970292189c49024963f395e65b 100644 (file)
@@ -9,6 +9,7 @@ export { default as Alert } from './src/alert.js'
 export { default as Button } from './src/button.js'
 export { default as Carousel } from './src/carousel.js'
 export { default as Collapse } from './src/collapse.js'
+export { default as Dialog } from './src/dialog.js'
 export { default as Dropdown } from './src/dropdown.js'
 export { default as Modal } from './src/modal.js'
 export { default as Offcanvas } from './src/offcanvas.js'
index a33df74657ff5a73a02430a438b37d6ada453cc8..159e414772d00d151fba2353e0d33ab369d00524 100644 (file)
@@ -9,6 +9,7 @@ import Alert from './src/alert.js'
 import Button from './src/button.js'
 import Carousel from './src/carousel.js'
 import Collapse from './src/collapse.js'
+import Dialog from './src/dialog.js'
 import Dropdown from './src/dropdown.js'
 import Modal from './src/modal.js'
 import Offcanvas from './src/offcanvas.js'
@@ -23,6 +24,7 @@ export default {
   Button,
   Carousel,
   Collapse,
+  Dialog,
   Dropdown,
   Modal,
   Offcanvas,
diff --git a/js/src/dialog.js b/js/src/dialog.js
new file mode 100644 (file)
index 0000000..df0bb55
--- /dev/null
@@ -0,0 +1,347 @@
+/**
+ * --------------------------------------------------------------------------
+ * Bootstrap dialog.js
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * --------------------------------------------------------------------------
+ */
+
+import BaseComponent from './base-component.js'
+import EventHandler from './dom/event-handler.js'
+import SelectorEngine from './dom/selector-engine.js'
+import Backdrop from './util/backdrop.js'
+import { enableDismissTrigger } from './util/component-functions.js'
+import FocusTrap from './util/focustrap.js'
+import {
+  isVisible, reflow
+} from './util/index.js'
+
+/**
+ * Constants
+ */
+
+const NAME = 'dialog'
+const DATA_KEY = 'bs.dialog'
+const EVENT_KEY = `.${DATA_KEY}`
+const DATA_API_KEY = '.data-api'
+const ESCAPE_KEY = 'Escape'
+
+const EVENT_HIDE = `hide${EVENT_KEY}`
+const EVENT_HIDE_PREVENTED = `hidePrevented${EVENT_KEY}`
+const EVENT_HIDDEN = `hidden${EVENT_KEY}`
+const EVENT_SHOW = `show${EVENT_KEY}`
+const EVENT_SHOWN = `shown${EVENT_KEY}`
+const EVENT_RESIZE = `resize${EVENT_KEY}`
+const EVENT_CLICK_DISMISS = `click.dismiss${EVENT_KEY}`
+const EVENT_MOUSEDOWN_DISMISS = `mousedown.dismiss${EVENT_KEY}`
+const EVENT_KEYDOWN_DISMISS = `keydown.dismiss${EVENT_KEY}`
+const EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`
+
+const CLASS_NAME_OPEN = 'dialog-open'
+const CLASS_NAME_FADE = 'fade'
+const CLASS_NAME_SHOW = 'show'
+const CLASS_NAME_STATIC = 'dialog-static'
+
+const OPEN_SELECTOR = '.dialog.show'
+const SELECTOR_DIALOG_CONTENT = '.dialog-content'
+const SELECTOR_DIALOG_BODY = '.dialog-body'
+const SELECTOR_DATA_TOGGLE = '[data-bs-toggle="dialog"]'
+
+const Default = {
+  backdrop: true,
+  focus: true,
+  keyboard: true,
+  modal: true
+}
+
+const DefaultType = {
+  backdrop: '(boolean|string)',
+  focus: 'boolean',
+  keyboard: 'boolean',
+  modal: 'boolean'
+}
+
+/**
+ * Class definition
+ */
+
+class Dialog extends BaseComponent {
+  constructor(element, config) {
+    super(element, config)
+
+    this._dialogContent = SelectorEngine.findOne(SELECTOR_DIALOG_CONTENT, this._element)
+    this._backdrop = this._initializeBackDrop()
+    this._focustrap = this._initializeFocusTrap()
+    this._isShown = false
+    this._isTransitioning = false
+
+    this._addEventListeners()
+  }
+
+  // Getters
+  static get Default() {
+    return Default
+  }
+
+  static get DefaultType() {
+    return DefaultType
+  }
+
+  static get NAME() {
+    return NAME
+  }
+
+  // Public
+  toggle(relatedTarget) {
+    return this._isShown ? this.hide() : this.show(relatedTarget)
+  }
+
+  show(relatedTarget) {
+    if (this._isShown || this._isTransitioning) {
+      return
+    }
+
+    const showEvent = EventHandler.trigger(this._element, EVENT_SHOW, {
+      relatedTarget
+    })
+
+    if (showEvent.defaultPrevented) {
+      return
+    }
+
+    this._isShown = true
+    this._isTransitioning = true
+
+    // Use scrollbar-gutter CSS property instead of manual scrollbar handling
+    document.body.style.scrollbarGutter = 'stable'
+    document.body.classList.add(CLASS_NAME_OPEN)
+
+    this._backdrop.show(() => this._showElement(relatedTarget))
+  }
+
+  hide() {
+    if (!this._isShown || this._isTransitioning) {
+      return
+    }
+
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE)
+
+    if (hideEvent.defaultPrevented) {
+      return
+    }
+
+    this._isShown = false
+    this._isTransitioning = true
+    this._focustrap.deactivate()
+
+    this._element.classList.remove(CLASS_NAME_SHOW)
+
+    this._queueCallback(() => this._hideDialog(), this._element, this._isAnimated())
+  }
+
+  dispose() {
+    EventHandler.off(window, EVENT_KEY)
+    EventHandler.off(this._element, EVENT_KEY)
+
+    this._backdrop.dispose()
+    this._focustrap.deactivate()
+
+    super.dispose()
+  }
+
+  handleUpdate() {
+    // No dialog adjustments needed with native dialog element
+  }
+
+  // Private
+  _initializeBackDrop() {
+    return new Backdrop({
+      isVisible: Boolean(this._config.backdrop), // 'static' option will be translated to true, and booleans will keep their value,
+      isAnimated: this._isAnimated(),
+      className: 'dialog-backdrop'
+    })
+  }
+
+  _initializeFocusTrap() {
+    return new FocusTrap({
+      trapElement: this._element
+    })
+  }
+
+  _showElement(relatedTarget) {
+    // try to append dynamic dialog
+    if (!document.body.contains(this._element)) {
+      document.body.append(this._element)
+    }
+
+    // Use native dialog methods
+    if (this._config.modal) {
+      this._element.showModal()
+    } else {
+      this._element.show()
+    }
+
+    this._element.scrollTop = 0
+
+    const dialogBody = SelectorEngine.findOne(SELECTOR_DIALOG_BODY, this._dialogContent)
+    if (dialogBody) {
+      dialogBody.scrollTop = 0
+    }
+
+    reflow(this._element)
+
+    this._element.classList.add(CLASS_NAME_SHOW)
+
+    const transitionComplete = () => {
+      if (this._config.focus) {
+        this._focustrap.activate()
+      }
+
+      this._isTransitioning = false
+      EventHandler.trigger(this._element, EVENT_SHOWN, {
+        relatedTarget
+      })
+    }
+
+    this._queueCallback(transitionComplete, this._dialogContent, this._isAnimated())
+  }
+
+  _addEventListeners() {
+    EventHandler.on(this._element, EVENT_KEYDOWN_DISMISS, event => {
+      if (event.key !== ESCAPE_KEY) {
+        return
+      }
+
+      if (this._config.keyboard) {
+        this.hide()
+        return
+      }
+
+      this._triggerBackdropTransition()
+    })
+
+    EventHandler.on(window, EVENT_RESIZE, () => {
+      if (this._isShown && !this._isTransitioning) {
+        // No need for dialog adjustments with native dialog
+      }
+    })
+
+    EventHandler.on(this._element, EVENT_MOUSEDOWN_DISMISS, event => {
+      // Handle click outside dialog content
+      EventHandler.one(this._element, EVENT_CLICK_DISMISS, event2 => {
+        if (this._element !== event.target || this._element !== event2.target) {
+          return
+        }
+
+        if (this._config.backdrop === 'static') {
+          this._triggerBackdropTransition()
+          return
+        }
+
+        if (this._config.backdrop) {
+          this.hide()
+        }
+      })
+    })
+  }
+
+  _hideDialog() {
+    // Use native dialog close method
+    this._element.close()
+
+    this._isTransitioning = false
+
+    this._backdrop.hide(() => {
+      document.body.classList.remove(CLASS_NAME_OPEN)
+      document.body.style.scrollbarGutter = ''
+      EventHandler.trigger(this._element, EVENT_HIDDEN)
+    })
+  }
+
+  _isAnimated() {
+    return this._element.classList.contains(CLASS_NAME_FADE)
+  }
+
+  _triggerBackdropTransition() {
+    const hideEvent = EventHandler.trigger(this._element, EVENT_HIDE_PREVENTED)
+    if (hideEvent.defaultPrevented) {
+      return
+    }
+
+    const isDialogOverflowing = this._element.scrollHeight > document.documentElement.clientHeight
+    const initialOverflowY = this._element.style.overflowY
+    // return if the following background transition hasn't yet completed
+    if (initialOverflowY === 'hidden' || this._element.classList.contains(CLASS_NAME_STATIC)) {
+      return
+    }
+
+    if (!isDialogOverflowing) {
+      this._element.style.overflowY = 'hidden'
+    }
+
+    this._element.classList.add(CLASS_NAME_STATIC)
+    this._queueCallback(() => {
+      this._element.classList.remove(CLASS_NAME_STATIC)
+      this._queueCallback(() => {
+        this._element.style.overflowY = initialOverflowY
+      }, this._dialogContent)
+    }, this._dialogContent)
+
+    this._element.focus()
+  }
+
+  // Static
+  static jQueryInterface(config, relatedTarget) {
+    return this.each(function () {
+      const data = Dialog.getOrCreateInstance(this, config)
+
+      if (typeof config !== 'string') {
+        return
+      }
+
+      if (typeof data[config] === 'undefined') {
+        throw new TypeError(`No method named "${config}"`)
+      }
+
+      data[config](relatedTarget)
+    })
+  }
+}
+
+/**
+ * Data API implementation
+ */
+
+EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_DATA_TOGGLE, function (event) {
+  const target = SelectorEngine.getElementFromSelector(this)
+
+  if (['A', 'AREA'].includes(this.tagName)) {
+    event.preventDefault()
+  }
+
+  EventHandler.one(target, EVENT_SHOW, showEvent => {
+    if (showEvent.defaultPrevented) {
+      // only register focus restorer if dialog will actually get shown
+      return
+    }
+
+    EventHandler.one(target, EVENT_HIDDEN, () => {
+      if (isVisible(this)) {
+        this.focus()
+      }
+    })
+  })
+
+  // avoid conflict when clicking dialog toggler while another one is open
+  const alreadyOpen = SelectorEngine.findOne(OPEN_SELECTOR)
+  if (alreadyOpen) {
+    Dialog.getInstance(alreadyOpen).hide()
+  }
+
+  const data = Dialog.getOrCreateInstance(target)
+
+  data.toggle(this)
+})
+
+enableDismissTrigger(Dialog)
+
+export default Dialog
\ No newline at end of file
diff --git a/js/tests/unit/dialog.spec.js b/js/tests/unit/dialog.spec.js
new file mode 100644 (file)
index 0000000..25a2d23
--- /dev/null
@@ -0,0 +1,467 @@
+import EventHandler from '../../src/dom/event-handler.js'
+import Dialog from '../../src/dialog.js'
+import {
+  clearBodyAndDocument, clearFixture, createEvent, getFixture
+} from '../helpers/fixture.js'
+
+describe('Dialog', () => {
+  let fixtureEl
+
+  beforeAll(() => {
+    fixtureEl = getFixture()
+  })
+
+  afterEach(() => {
+    clearFixture()
+    clearBodyAndDocument()
+    document.body.classList.remove('dialog-open')
+    document.body.style.scrollbarGutter = ''
+
+    for (const backdrop of document.querySelectorAll('.dialog-backdrop')) {
+      backdrop.remove()
+    }
+  })
+
+  beforeEach(() => {
+    clearBodyAndDocument()
+  })
+
+  describe('VERSION', () => {
+    it('should return plugin version', () => {
+      expect(Dialog.VERSION).toEqual(jasmine.any(String))
+    })
+  })
+
+  describe('Default', () => {
+    it('should return plugin default config', () => {
+      expect(Dialog.Default).toEqual(jasmine.any(Object))
+    })
+  })
+
+  describe('DATA_KEY', () => {
+    it('should return plugin data key', () => {
+      expect(Dialog.DATA_KEY).toEqual('bs.dialog')
+    })
+  })
+
+  describe('constructor', () => {
+    it('should take care of element either passed as a CSS selector or DOM element', () => {
+      fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+      const dialogEl = fixtureEl.querySelector('dialog')
+      const dialogBySelector = new Dialog('dialog')
+      const dialogByElement = new Dialog(dialogEl)
+
+      expect(dialogBySelector._element).toEqual(dialogEl)
+      expect(dialogByElement._element).toEqual(dialogEl)
+    })
+  })
+
+  describe('toggle', () => {
+    it('should handle scrollbar using scrollbar-gutter CSS property', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl)
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          expect(document.body.style.scrollbarGutter).toEqual('stable')
+          expect(document.body.classList.contains('dialog-open')).toBe(true)
+          dialog.toggle()
+        })
+
+        dialogEl.addEventListener('hidden.bs.dialog', () => {
+          expect(document.body.style.scrollbarGutter).toEqual('')
+          expect(document.body.classList.contains('dialog-open')).toBe(false)
+          resolve()
+        })
+
+        dialog.toggle()
+      })
+    })
+  })
+
+  describe('show', () => {
+    it('should show a dialog', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl)
+
+        dialogEl.addEventListener('show.bs.dialog', event => {
+          expect(event).toBeDefined()
+        })
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          expect(dialogEl.open).toBe(true)
+          expect(dialogEl.style.display).not.toEqual('none')
+          expect(document.querySelector('.dialog-backdrop')).not.toBeNull()
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+
+    it('should show modal dialog when modal option is true', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl, { modal: true })
+        const showModalSpy = spyOn(dialogEl, 'showModal').and.callThrough()
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          expect(showModalSpy).toHaveBeenCalled()
+          expect(dialogEl.open).toBe(true)
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+
+    it('should show non-modal dialog when modal option is false', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl, { modal: false })
+        const showSpy = spyOn(dialogEl, 'show').and.callThrough()
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          expect(showSpy).toHaveBeenCalled()
+          expect(dialogEl.open).toBe(true)
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+
+    it('should set scrollbar-gutter CSS property', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl)
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          expect(document.body.style.scrollbarGutter).toEqual('stable')
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+
+    it('should trap focus', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl)
+
+        const spy = spyOn(dialog._focustrap, 'activate').and.callThrough()
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          expect(spy).toHaveBeenCalled()
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+
+    it('should not trap focus if focus equal to false', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog fade"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl, {
+          focus: false
+        })
+
+        const spy = spyOn(dialog._focustrap, 'activate').and.callThrough()
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          expect(spy).not.toHaveBeenCalled()
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+  })
+
+  describe('hide', () => {
+    it('should hide a dialog', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl)
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          dialog.hide()
+        })
+
+        dialogEl.addEventListener('hide.bs.dialog', event => {
+          expect(event).toBeDefined()
+        })
+
+        dialogEl.addEventListener('hidden.bs.dialog', () => {
+          expect(dialogEl.open).toBe(false)
+          expect(document.body.style.scrollbarGutter).toEqual('')
+          expect(document.querySelector('.dialog-backdrop')).toBeNull()
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+
+    it('should use native dialog close method', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl)
+        const closeSpy = spyOn(dialogEl, 'close').and.callThrough()
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          dialog.hide()
+        })
+
+        dialogEl.addEventListener('hidden.bs.dialog', () => {
+          expect(closeSpy).toHaveBeenCalled()
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+  })
+
+  describe('dispose', () => {
+    it('should dispose a dialog', () => {
+      fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+      const dialogEl = fixtureEl.querySelector('dialog')
+      const dialog = new Dialog(dialogEl)
+
+      expect(Dialog.getInstance(dialogEl)).toEqual(dialog)
+
+      spyOn(EventHandler, 'off')
+
+      dialog.dispose()
+
+      expect(Dialog.getInstance(dialogEl)).toBeNull()
+    })
+  })
+
+  describe('handleUpdate', () => {
+    it('should call handleUpdate', () => {
+      fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+      const dialogEl = fixtureEl.querySelector('dialog')
+      const dialog = new Dialog(dialogEl)
+
+      spyOn(dialog, 'handleUpdate')
+
+      dialog.handleUpdate()
+
+      expect(dialog.handleUpdate).toHaveBeenCalled()
+    })
+  })
+
+  describe('data-api', () => {
+    it('should toggle dialog', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = [
+          '<button type="button" data-bs-toggle="dialog" data-bs-target="#exampleDialog"></button>',
+          '<dialog id="exampleDialog" class="dialog"><div class="dialog-content"></div></dialog>'
+        ].join('')
+
+        const dialogEl = fixtureEl.querySelector('#exampleDialog')
+        const trigger = fixtureEl.querySelector('[data-bs-toggle="dialog"]')
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          expect(dialogEl.open).toBe(true)
+          resolve()
+        })
+
+        trigger.click()
+      })
+    })
+
+    it('should not re-open dialog if another dialog is open', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = [
+          '<button type="button" data-bs-toggle="dialog" data-bs-target="#exampleDialog"></button>',
+          '<button type="button" data-bs-toggle="dialog" data-bs-target="#exampleDialog2"></button>',
+          '<dialog id="exampleDialog" class="dialog"><div class="dialog-content"></div></dialog>',
+          '<dialog id="exampleDialog2" class="dialog"><div class="dialog-content"></div></dialog>'
+        ].join('')
+
+        const dialogEl1 = fixtureEl.querySelector('#exampleDialog')
+        const dialogEl2 = fixtureEl.querySelector('#exampleDialog2')
+        const trigger2 = fixtureEl.querySelector('[data-bs-target="#exampleDialog2"]')
+        const dialog1 = new Dialog(dialogEl1)
+
+        dialogEl1.addEventListener('shown.bs.dialog', () => {
+          trigger2.click()
+        })
+
+        dialogEl1.addEventListener('hidden.bs.dialog', () => {
+          expect(dialogEl1.open).toBe(false)
+        })
+
+        dialogEl2.addEventListener('shown.bs.dialog', () => {
+          expect(dialogEl2.open).toBe(true)
+          resolve()
+        })
+
+        dialog1.show()
+      })
+    })
+  })
+
+  describe('jQuery interface', () => {
+    it('should create a dialog', () => {
+      fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+      const div = fixtureEl.querySelector('dialog')
+      const dialog = new Dialog(div)
+
+      expect(dialog._element).toEqual(div)
+    })
+
+    it('should not re create a dialog', () => {
+      fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+      const div = fixtureEl.querySelector('dialog')
+      const dialog = new Dialog(div)
+      const dialog2 = new Dialog(div)
+
+      expect(dialog).toEqual(dialog2)
+    })
+
+    it('should throw an error on undefined method', () => {
+      fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+      const div = fixtureEl.querySelector('dialog')
+      const action = 'undefinedMethod'
+
+      const mockCollection = {
+        each: function(callback) {
+          return callback.call(div)
+        }
+      }
+
+      expect(() => {
+        Dialog.jQueryInterface.call(mockCollection, action)
+      }).toThrowError(TypeError, `No method named "${action}"`)
+    })
+  })
+
+  describe('keyboard interaction', () => {
+    it('should close dialog on escape key', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl)
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          const keydownEvent = createEvent('keydown')
+          keydownEvent.key = 'Escape'
+
+          dialogEl.dispatchEvent(keydownEvent)
+        })
+
+        dialogEl.addEventListener('hidden.bs.dialog', () => {
+          expect(dialogEl.open).toBe(false)
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+
+    it('should not close dialog on escape key when keyboard is false', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl, { keyboard: false })
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          const keydownEvent = createEvent('keydown')
+          keydownEvent.key = 'Escape'
+
+          dialogEl.dispatchEvent(keydownEvent)
+
+          setTimeout(() => {
+            expect(dialogEl.open).toBe(true)
+            resolve()
+          }, 10)
+        })
+
+        dialog.show()
+      })
+    })
+  })
+
+  describe('backdrop interaction', () => {
+    it('should close dialog when clicking outside content', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl)
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          const mouseDown = createEvent('mousedown')
+          const click = createEvent('click')
+
+          dialogEl.dispatchEvent(mouseDown)
+          dialogEl.dispatchEvent(click)
+        })
+
+        dialogEl.addEventListener('hidden.bs.dialog', () => {
+          expect(dialogEl.open).toBe(false)
+          resolve()
+        })
+
+        dialog.show()
+      })
+    })
+
+    it('should not close dialog with static backdrop', () => {
+      return new Promise(resolve => {
+        fixtureEl.innerHTML = '<dialog class="dialog"><div class="dialog-content"></div></dialog>'
+
+        const dialogEl = fixtureEl.querySelector('dialog')
+        const dialog = new Dialog(dialogEl, { backdrop: 'static' })
+
+        dialogEl.addEventListener('shown.bs.dialog', () => {
+          const mouseDown = createEvent('mousedown')
+          const click = createEvent('click')
+
+          dialogEl.dispatchEvent(mouseDown)
+          dialogEl.dispatchEvent(click)
+
+          setTimeout(() => {
+            expect(dialogEl.open).toBe(true)
+            resolve()
+          }, 10)
+        })
+
+        dialog.show()
+      })
+    })
+  })
+})
\ No newline at end of file
diff --git a/scss/_dialog.scss b/scss/_dialog.scss
new file mode 100644 (file)
index 0000000..7823a07
--- /dev/null
@@ -0,0 +1,262 @@
+@use "sass:map";
+@use "config" as *;
+@use "variables" as *;
+@use "mixins/border-radius" as *;
+@use "mixins/box-shadow" as *;
+@use "mixins/transition" as *;
+@use "mixins/gradients" as *;
+@use "mixins/backdrop" as *;
+@use "vendor/rfs" as *;
+@use "layout/breakpoints" as *;
+
+// .dialog-open     - body class for killing the scroll
+// dialog           - native HTML dialog element
+// .dialog-content  - actual dialog w/ bg and corners and stuff
+
+@layer components {
+  // Native HTML dialog element
+  dialog {
+    // scss-docs-start dialog-css-vars
+    --#{$prefix}dialog-zindex: #{$zindex-modal};
+    --#{$prefix}dialog-width: #{$modal-md};
+    --#{$prefix}dialog-padding: #{$modal-inner-padding};
+    --#{$prefix}dialog-margin: #{$modal-dialog-margin};
+    --#{$prefix}dialog-color: #{$modal-content-color};
+    --#{$prefix}dialog-bg: #{$modal-content-bg};
+    --#{$prefix}dialog-border-color: #{$modal-content-border-color};
+    --#{$prefix}dialog-border-width: #{$modal-content-border-width};
+    --#{$prefix}dialog-border-radius: #{$modal-content-border-radius};
+    --#{$prefix}dialog-box-shadow: #{$modal-content-box-shadow-xs};
+    --#{$prefix}dialog-inner-border-radius: #{$modal-content-inner-border-radius};
+    --#{$prefix}dialog-header-padding-x: #{$modal-header-padding-x};
+    --#{$prefix}dialog-header-padding-y: #{$modal-header-padding-y};
+    --#{$prefix}dialog-header-padding: #{$modal-header-padding}; // Todo in v6: Split this padding into x and y
+    --#{$prefix}dialog-header-border-color: #{$modal-header-border-color};
+    --#{$prefix}dialog-header-border-width: #{$modal-header-border-width};
+    --#{$prefix}dialog-title-line-height: #{$modal-title-line-height};
+    --#{$prefix}dialog-footer-gap: #{$modal-footer-margin-between};
+    --#{$prefix}dialog-footer-bg: #{$modal-footer-bg};
+    --#{$prefix}dialog-footer-border-color: #{$modal-footer-border-color};
+    --#{$prefix}dialog-footer-border-width: #{$modal-footer-border-width};
+    // scss-docs-end dialog-css-vars
+
+    position: fixed;
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+    margin: 0;
+    padding: 0;
+    border: none;
+    background: transparent;
+    color: inherit;
+    width: auto;
+    height: auto;
+    max-width: calc(100vw - var(--#{$prefix}dialog-margin) * 2);
+    max-height: calc(100vh - var(--#{$prefix}dialog-margin) * 2);
+    // Use scrollbar-gutter instead of manual scrollbar detection
+    scrollbar-gutter: stable;
+    
+    // Remove default dialog backdrop
+    &::backdrop {
+      display: none;
+    }
+
+    // Prevent Chrome on Windows from adding a focus outline. For details, see
+    // https://github.com/twbs/bootstrap/pull/10951.
+    outline: 0;
+
+    // When fading in the dialog, animate it to slide down
+    &.fade {
+      .dialog-content {
+        transform: $modal-fade-transform;
+        @include transition($modal-transition);
+      }
+    }
+    
+    &.show {
+      .dialog-content {
+        transform: $modal-show-transform;
+      }
+    }
+
+    // When trying to close, animate focus to scale
+    &.dialog-static {
+      .dialog-content {
+        transform: $modal-scale-transform;
+      }
+    }
+  }
+
+  .dialog-content {
+    position: relative;
+    display: flex;
+    flex-direction: column;
+    width: var(--#{$prefix}dialog-width);
+    // counteract the pointer-events: none; in the native dialog
+    color: var(--#{$prefix}dialog-color);
+    pointer-events: auto;
+    background-color: var(--#{$prefix}dialog-bg);
+    background-clip: padding-box;
+    border: var(--#{$prefix}dialog-border-width) solid var(--#{$prefix}dialog-border-color);
+    @include border-radius(var(--#{$prefix}dialog-border-radius));
+    @include box-shadow(var(--#{$prefix}dialog-box-shadow));
+    // Remove focus outline from opened dialog
+    outline: 0;
+  }
+
+  // Use existing modal backdrop for consistency
+  .dialog-backdrop {
+    // scss-docs-start dialog-backdrop-css-vars
+    --#{$prefix}backdrop-zindex: #{$zindex-modal-backdrop};
+    --#{$prefix}backdrop-bg: #{$modal-backdrop-bg};
+    --#{$prefix}backdrop-opacity: #{$modal-backdrop-opacity};
+    // scss-docs-end dialog-backdrop-css-vars
+
+    @include overlay-backdrop(var(--#{$prefix}backdrop-zindex), var(--#{$prefix}backdrop-bg), var(--#{$prefix}backdrop-opacity));
+  }
+
+  // Dialog header
+  // Top section of the dialog w/ title and dismiss
+  .dialog-header {
+    display: flex;
+    flex-shrink: 0;
+    align-items: center;
+    padding: var(--#{$prefix}dialog-header-padding);
+    border-bottom: var(--#{$prefix}dialog-header-border-width) solid var(--#{$prefix}dialog-header-border-color);
+    @include border-top-radius(var(--#{$prefix}dialog-inner-border-radius));
+
+    .btn-close {
+      padding: calc(var(--#{$prefix}dialog-header-padding-y) * .5) calc(var(--#{$prefix}dialog-header-padding-x) * .5);
+      // Split properties to avoid invalid calc() function if value is 0
+      margin-top: calc(-.5 * var(--#{$prefix}dialog-header-padding-y));
+      margin-right: calc(-.5 * var(--#{$prefix}dialog-header-padding-x));
+      margin-bottom: calc(-.5 * var(--#{$prefix}dialog-header-padding-y));
+      margin-left: auto;
+    }
+  }
+
+  // Title text within header
+  .dialog-title {
+    margin-bottom: 0;
+    line-height: var(--#{$prefix}dialog-title-line-height);
+  }
+
+  // Dialog body
+  // Where all dialog content resides (sibling of .dialog-header and .dialog-footer)
+  .dialog-body {
+    position: relative;
+    // Enable `flex-grow: 1` so that the body take up as much space as possible
+    // when there should be a fixed height on dialog content.
+    flex: 1 1 auto;
+    padding: var(--#{$prefix}dialog-padding);
+  }
+
+  // Footer (for actions)
+  .dialog-footer {
+    display: flex;
+    flex-shrink: 0;
+    flex-wrap: wrap;
+    align-items: center; // vertically center
+    justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
+    padding: calc(var(--#{$prefix}dialog-padding) - var(--#{$prefix}dialog-footer-gap) * .5);
+    background-color: var(--#{$prefix}dialog-footer-bg);
+    border-top: var(--#{$prefix}dialog-footer-border-width) solid var(--#{$prefix}dialog-footer-border-color);
+    @include border-bottom-radius(var(--#{$prefix}dialog-inner-border-radius));
+
+    // Place margin between footer elements
+    // This solution is far from ideal because of the universal selector usage,
+    // but is needed to fix https://github.com/twbs/bootstrap/issues/24800
+    > * {
+      margin: calc(var(--#{$prefix}dialog-footer-gap) * .5); // Todo in v6: replace with gap on parent class
+    }
+  }
+
+  .dialog-scrollable {
+    .dialog-content {
+      max-height: calc(100vh - var(--#{$prefix}dialog-margin) * 2);
+      overflow: hidden;
+    }
+
+    .dialog-body {
+      overflow-y: auto;
+    }
+  }
+
+  .dialog-centered {
+    // Additional centering styles if needed
+    display: flex;
+    align-items: center;
+    justify-content: center;
+  }
+
+  // Scale up the dialog
+  @include media-breakpoint-up(sm) {
+    dialog {
+      --#{$prefix}dialog-margin: #{$modal-dialog-margin-y-sm-up};
+      --#{$prefix}dialog-box-shadow: #{$modal-content-box-shadow-sm-up};
+    }
+
+    // Automatically set dialog's width for larger viewports
+    .dialog-content {
+      max-width: var(--#{$prefix}dialog-width);
+    }
+
+    .dialog-sm {
+      --#{$prefix}dialog-width: #{$modal-sm};
+    }
+  }
+
+  @include media-breakpoint-up(lg) {
+    .dialog-lg,
+    .dialog-xl {
+      --#{$prefix}dialog-width: #{$modal-lg};
+    }
+  }
+
+  @include media-breakpoint-up(xl) {
+    .dialog-xl {
+      --#{$prefix}dialog-width: #{$modal-xl};
+    }
+  }
+
+  // scss-docs-start dialog-fullscreen-loop
+  @each $breakpoint in map.keys($grid-breakpoints) {
+    $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+    $postfix: if($infix != "", $infix + "-down", "");
+
+    @include media-breakpoint-down($breakpoint) {
+      .dialog-fullscreen#{$postfix} {
+        width: 100vw;
+        max-width: none;
+        height: 100vh;
+        margin: 0;
+        top: 0;
+        left: 0;
+        transform: none;
+
+        .dialog-content {
+          height: 100%;
+          border: 0;
+          @include border-radius(0);
+        }
+
+        .dialog-header,
+        .dialog-footer {
+          @include border-radius(0);
+        }
+
+        .dialog-body {
+          overflow-y: auto;
+        }
+      }
+    }
+  }
+  // scss-docs-end dialog-fullscreen-loop
+
+  // Body class to prevent scrolling
+  .dialog-open {
+    overflow: hidden;
+    // Use scrollbar-gutter for consistent scrollbar space
+    scrollbar-gutter: stable;
+  }
+}
\ No newline at end of file
index 328222c48d5ab4960eed70639a2f2ef5d24649e8..f0a341b1e3781d016472421c86def022dd0bdadd 100644 (file)
@@ -17,6 +17,7 @@
 @use "breadcrumb";
 @use "card";
 @use "carousel";
+@use "dialog";
 @use "dropdown";
 @use "list-group";
 @use "modal";
diff --git a/site/src/content/docs/components/dialog.mdx b/site/src/content/docs/components/dialog.mdx
new file mode 100644 (file)
index 0000000..fe84a08
--- /dev/null
@@ -0,0 +1,295 @@
+---
+title: Dialog
+description: Use Bootstrap's Dialog component to add native HTML5 dialog elements to your site for lightboxes, user notifications, or completely custom content.
+group: components
+toc: true
+---
+
+## Examples
+
+### Dialog components
+
+Below is a _static_ dialog example (meaning its `position` and `display` have been overridden). Included are the dialog content, header, body (required for `padding`), and footer (optional). We ask that you include dialog headers with dismiss actions whenever possible, or provide another explicit dismiss action.
+
+<div class="dialog show position-static d-block" tabindex="-1">
+  <div class="dialog-content">
+    <div class="dialog-header">
+      <h5 class="dialog-title">Dialog title</h5>
+      <button type="button" class="btn-close" data-bs-dismiss="dialog" aria-label="Close"></button>
+    </div>
+    <div class="dialog-body">
+      <p>Dialog body text goes here.</p>
+    </div>
+    <div class="dialog-footer">
+      <button type="button" class="btn btn-secondary" data-bs-dismiss="dialog">Close</button>
+      <button type="button" class="btn btn-primary">Save changes</button>
+    </div>
+  </div>
+</div>
+
+```html
+<dialog class="dialog" tabindex="-1">
+  <div class="dialog-content">
+    <div class="dialog-header">
+      <h5 class="dialog-title">Dialog title</h5>
+      <button type="button" class="btn-close" data-bs-dismiss="dialog" aria-label="Close"></button>
+    </div>
+    <div class="dialog-body">
+      <p>Dialog body text goes here.</p>
+    </div>
+    <div class="dialog-footer">
+      <button type="button" class="btn btn-secondary" data-bs-dismiss="dialog">Close</button>
+      <button type="button" class="btn btn-primary">Save changes</button>
+    </div>
+  </div>
+</dialog>
+```
+
+{{< callout info >}}
+In the above static example, we use `<div>`s for demonstration purposes. When you use the actual component, use the native `<dialog>` element as shown in the code snippet.
+{{< /callout >}}
+
+### Live demo
+
+Toggle a working dialog demo by clicking the button below. It will slide down and fade in from the top of the page.
+
+<div class="dialog fade" id="exampleDialog" tabindex="-1" aria-labelledby="exampleDialogLabel" aria-hidden="true">
+  <div class="dialog-content">
+    <div class="dialog-header">
+      <h1 class="dialog-title fs-5" id="exampleDialogLabel">Dialog title</h1>
+      <button type="button" class="btn-close" data-bs-dismiss="dialog" aria-label="Close"></button>
+    </div>
+    <div class="dialog-body">
+      Woo-hoo, you're reading this text in a dialog!
+    </div>
+    <div class="dialog-footer">
+      <button type="button" class="btn btn-secondary" data-bs-dismiss="dialog">Close</button>
+      <button type="button" class="btn btn-primary">Save changes</button>
+    </div>
+  </div>
+</div>
+
+<div class="bd-example-live">
+  <button type="button" class="btn btn-primary" data-bs-toggle="dialog" data-bs-target="#exampleDialog">
+    Launch demo dialog
+  </button>
+</div>
+
+```html
+<!-- Button trigger dialog -->
+<button type="button" class="btn btn-primary" data-bs-toggle="dialog" data-bs-target="#exampleDialog">
+  Launch demo dialog
+</button>
+
+<!-- Dialog -->
+<dialog class="dialog fade" id="exampleDialog" tabindex="-1" aria-labelledby="exampleDialogLabel" aria-hidden="true">
+  <div class="dialog-content">
+    <div class="dialog-header">
+      <h1 class="dialog-title fs-5" id="exampleDialogLabel">Dialog title</h1>
+      <button type="button" class="btn-close" data-bs-dismiss="dialog" aria-label="Close"></button>
+    </div>
+    <div class="dialog-body">
+      Woo-hoo, you're reading this text in a dialog!
+    </div>
+    <div class="dialog-footer">
+      <button type="button" class="btn btn-secondary" data-bs-dismiss="dialog">Close</button>
+      <button type="button" class="btn btn-primary">Save changes</button>
+    </div>
+  </div>
+</dialog>
+```
+
+### Static backdrop
+
+When backdrop is set to static, the dialog will not close when clicking outside of it. Click the button below to try it.
+
+<dialog class="dialog fade" id="staticBackdropLive" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLiveLabel" aria-hidden="true">
+  <div class="dialog-content">
+    <div class="dialog-header">
+      <h1 class="dialog-title fs-5" id="staticBackdropLiveLabel">Dialog title</h1>
+      <button type="button" class="btn-close" data-bs-dismiss="dialog" aria-label="Close"></button>
+    </div>
+    <div class="dialog-body">
+      <p>I will not close if you click outside of me. Don't even try to press escape key.</p>
+    </div>
+    <div class="dialog-footer">
+      <button type="button" class="btn btn-secondary" data-bs-dismiss="dialog">Close</button>
+      <button type="button" class="btn btn-primary">Understood</button>
+    </div>
+  </div>
+</dialog>
+
+<div class="bd-example-live">
+  <button type="button" class="btn btn-primary" data-bs-toggle="dialog" data-bs-target="#staticBackdropLive">Launch static backdrop dialog</button>
+</div>
+
+```html
+<!-- Button trigger dialog -->
+<button type="button" class="btn btn-primary" data-bs-toggle="dialog" data-bs-target="#staticBackdrop">
+  Launch static backdrop dialog
+</button>
+
+<!-- Dialog -->
+<dialog class="dialog fade" id="staticBackdrop" data-bs-backdrop="static" data-bs-keyboard="false" tabindex="-1" aria-labelledby="staticBackdropLabel" aria-hidden="true">
+  <div class="dialog-content">
+    <div class="dialog-header">
+      <h1 class="dialog-title fs-5" id="staticBackdropLabel">Dialog title</h1>
+      <button type="button" class="btn-close" data-bs-dismiss="dialog" aria-label="Close"></button>
+    </div>
+    <div class="dialog-body">
+      <p>I will not close if you click outside of me. Don't even try to press escape key.</p>
+    </div>
+    <div class="dialog-footer">
+      <button type="button" class="btn btn-secondary" data-bs-dismiss="dialog">Close</button>
+      <button type="button" class="btn btn-primary">Understood</button>
+    </div>
+  </div>
+</dialog>
+```
+
+### Non-modal dialog
+
+The Dialog component supports both modal and non-modal dialogs. Set `modal: false` to create a non-modal dialog that doesn't block interaction with the rest of the page.
+
+```html
+<dialog class="dialog" id="nonModalDialog">
+  <div class="dialog-content">
+    <div class="dialog-header">
+      <h1 class="dialog-title fs-5">Non-modal Dialog</h1>
+      <button type="button" class="btn-close" data-bs-dismiss="dialog" aria-label="Close"></button>
+    </div>
+    <div class="dialog-body">
+      This is a non-modal dialog. You can still interact with the page behind it.
+    </div>
+  </div>
+</dialog>
+```
+
+## How it works
+
+Before getting started with Bootstrap's dialog component, be sure to read the following as our menu options have recently changed.
+
+- Dialogs are built using the native HTML5 `<dialog>` element, providing better accessibility and built-in browser support.
+- The component uses the `scrollbar-gutter` CSS property instead of manually detecting scrollbar width for better performance.
+- Dialogs can be either modal (blocking page interaction) or non-modal (allowing page interaction).
+- Dialogs use a backdrop element. Click on the dialog backdrop to automatically close the dialog.
+- Only one dialog window at a time is supported. Nested dialogs aren't supported as we believe them to be poor user experiences.
+- Dialogs use `position: fixed`, which can sometimes be a bit particular about its rendering. Whenever possible, place your dialog HTML in a top-level position to avoid potential interference from other elements. You'll likely run into issues when nesting a dialog within another fixed element.
+- Once again, due to `position: fixed`, there are some caveats with using dialogs on mobile devices. [See our browser support docs]({{< docsref "/getting-started/browsers-devices#dialogs-and-dropdowns-on-mobile" >}}) for details.
+- Due to how HTML5 defines its semantics, [the `autofocus` HTML attribute](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#autofocus) has no effect in Bootstrap dialogs. To achieve the same effect, use some custom JavaScript.
+
+{{< callout info >}}
+The animation effect of this component is dependent on the `prefers-reduced-motion` media query. See the [reduced motion section of our accessibility documentation]({{< docsref "/getting-started/accessibility#reduced-motion" >}}).
+{{< /callout >}}
+
+Keep reading for demos and usage guidelines.
+
+## Accessibility
+
+Be sure to add `aria-labelledby="..."`, referencing the dialog title, to the `<dialog>` element. Additionally, you may give a description of your dialog with `aria-describedby` on the `<dialog>` element. Note that you don't need to add `role="dialog"` since the native `<dialog>` element already has the appropriate semantics.
+
+## Usage
+
+The dialog plugin toggles your hidden content on demand via the native HTML5 dialog element. Dialogs can be both modal and non-modal depending on your configuration.
+
+### Via data attributes
+
+#### Toggle
+
+Activate a dialog without writing JavaScript. Set `data-bs-toggle="dialog"` on a controller element, like a button, along with a `data-bs-target="#foo"` or `href="#foo"` to target a specific dialog to toggle.
+
+```html
+<button type="button" data-bs-toggle="dialog" data-bs-target="#myDialog">Launch dialog</button>
+```
+
+#### Dismiss
+
+Dismissal can be achieved with the `data-bs-dismiss` attribute on a button **within the dialog** as demonstrated below:
+
+```html
+<button type="button" class="btn-close" data-bs-dismiss="dialog" aria-label="Close"></button>
+```
+
+or on a button **outside the dialog** using the additional `data-bs-target` as demonstrated below:
+
+```html
+<button type="button" class="btn btn-secondary" data-bs-dismiss="dialog" data-bs-target="#my-dialog">Close</button>
+```
+
+{{< callout warning >}}
+While both ways to dismiss a dialog are supported, keep in mind that dismissing from outside a dialog does not match the [ARIA Authoring Practices Guide dialog (modal) pattern](https://www.w3.org/WAI/ARIA/apg/patterns/dialogmodal/). Do this at your own risk.
+{{< /callout >}}
+
+### Via JavaScript
+
+Create a dialog with a single line of JavaScript:
+
+```js
+const myDialog = new bootstrap.Dialog(document.getElementById('myDialog'), options)
+// or
+const myDialogAlternative = new bootstrap.Dialog('#myDialog', options)
+```
+
+### Options
+
+{{< markdown >}}
+{{< partial "js-data-attributes.md" >}}
+{{< /markdown >}}
+
+{{< bs-table "table" >}}
+| Name | Type | Default | Description |
+| --- | --- | --- | --- |
+| `backdrop` | boolean, `'static'` | `true` | Includes a dialog-backdrop element. Alternatively, specify `static` for a backdrop which doesn't close the dialog when clicked. |
+| `focus` | boolean | `true` | Puts the focus on the dialog when initialized. |
+| `keyboard` | boolean | `true` | Closes the dialog when escape key is pressed. |
+| `modal` | boolean | `true` | Makes the dialog modal (blocking page interaction) when `true`, or non-modal when `false`. |
+{{< /bs-table >}}
+
+### Methods
+
+{{< callout danger >}}
+{{< partial "callouts/danger-async-methods.md" >}}
+{{< /callout >}}
+
+All API methods are **asynchronous** and start a **transition**. They return to the caller as soon as the transition is started, but **before it ends**. In addition, a method call on a **transitioning component will be ignored**.
+
+[See our JavaScript documentation for more information]({{< docsref "/getting-started/javascript#asynchronous-functions-and-transitions" >}}).
+
+{{< bs-table >}}
+| Method | Description |
+| --- | --- |
+| `dispose` | Destroys an element's dialog. (Removes stored data on the DOM element) |
+| `getInstance` | *Static* method which allows you to get the dialog instance associated with a DOM element. |
+| `getOrCreateInstance` | *Static* method which allows you to get the dialog instance associated with a DOM element, or create a new one in case it wasn't initialized. |
+| `handleUpdate` | Manually readjust the dialog's position if the height of a dialog changes while it is open (i.e., in case a scrollbar appears). |
+| `hide` | Manually hides a dialog. **Returns to the caller before the dialog has actually been hidden** (i.e., before the `hidden.bs.dialog` event occurs). |
+| `show` | Manually opens a dialog. **Returns to the caller before the dialog has actually been shown** (i.e., before the `shown.bs.dialog` event occurs). Also, you can pass a DOM element as an argument that can be received in the dialog events (as the `relatedTarget` property of the event). |
+| `toggle` | Manually toggles a dialog. **Returns to the caller before the dialog has actually been shown or hidden** (i.e., before the `shown.bs.dialog` or `hidden.bs.dialog` event occurs). |
+{{< /bs-table >}}
+
+```js
+const myDialog = bootstrap.Dialog.getOrCreateInstance(document.getElementById('myDialog'))
+
+myDialog.show()
+```
+
+### Events
+
+Bootstrap's dialog class exposes a few events for hooking into dialog functionality. All dialog events are fired at the dialog itself (i.e., at the `<dialog>` element).
+
+{{< bs-table >}}
+| Event | Description |
+| --- | --- |
+| `hide.bs.dialog` | This event is fired immediately when the `hide` instance method has been called. |
+| `hidden.bs.dialog` | This event is fired when the dialog has finished being hidden from the user (will wait for CSS transitions to complete). |
+| `hidePrevented.bs.dialog` | This event is fired when the dialog is shown, its backdrop is `static` and a click outside the dialog is performed. The event is also fired when the escape key is pressed and the `keyboard` option is set to `false`. |
+| `show.bs.dialog` | This event fires immediately when the `show` instance method is called. If caused by a click, the clicked element is available as the `relatedTarget` property of the event. |
+| `shown.bs.dialog` | This event is fired when the dialog has been made visible to the user (will wait for CSS transitions to complete). If caused by a click, the clicked element is available as the `relatedTarget` property of the event. |
+{{< /bs-table >}}
+
+```js
+const myDialogEl = document.getElementById('myDialog')
+myDialogEl.addEventListener('hidden.bs.dialog', event => {
+  // do something...
+})
+```
\ No newline at end of file