/*!
- * 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 */
-{"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;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AAA;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/l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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
/*!
- * 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 */
-{"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
/*!
- * 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 */
-{"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":"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BZ;;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;;AmBjlCQ;EAOI,+BAAA;AnB8kCZ;;AmBrlCQ;EAOI,8BAAA;AnBklCZ;;AmBzlCQ;EAOI,oBAAA;AnBslCZ;;AmB7lCQ;EAOI,mBAAA;AnB0lCZ;;AmBjmCQ;EAOI,mBAAA;AnB8lCZ;;AmBrmCQ;EAOI,mBAAA;AnBkmCZ;;AmBzmCQ;EAOI,mBAAA;AnBsmCZ;;AmB7mCQ;EAOI,mBAAA;AnB0mCZ;;AmBjnCQ;EAOI,mBAAA;AnB8mCZ;;AmBrnCQ;EAOI,mBAAA;AnBknCZ;;AmBznCQ;EAOI,oBAAA;AnBsnCZ;;AmB7nCQ;EAOI,0BAAA;AnB0nCZ;;AmBjoCQ;EAOI,yBAAA;AnB8nCZ;;AmBroCQ;EAOI,uBAAA;AnBkoCZ;;AmBzoCQ;EAOI,yBAAA;AnBsoCZ;;AmB7oCQ;EAOI,uBAAA;AnB0oCZ;;AmBjpCQ;EAOI,uBAAA;AnB8oCZ;;AmBrpCQ;EAOI,0BAAA;EAAA,yBAAA;AnBmpCZ;;AmB1pCQ;EAOI,gCAAA;EAAA,+BAAA;AnBwpCZ;;AmB/pCQ;EAOI,+BAAA;EAAA,8BAAA;AnB6pCZ;;AmBpqCQ;EAOI,6BAAA;EAAA,4BAAA;AnBkqCZ;;AmBzqCQ;EAOI,+BAAA;EAAA,8BAAA;AnBuqCZ;;AmB9qCQ;EAOI,6BAAA;EAAA,4BAAA;AnB4qCZ;;AmBnrCQ;EAOI,6BAAA;EAAA,4BAAA;AnBirCZ;;AmBxrCQ;EAOI,wBAAA;EAAA,2BAAA;AnBsrCZ;;AmB7rCQ;EAOI,8BAAA;EAAA,iCAAA;AnB2rCZ;;AmBlsCQ;EAOI,6BAAA;EAAA,gCAAA;AnBgsCZ;;AmBvsCQ;EAOI,2BAAA;EAAA,8BAAA;AnBqsCZ;;AmB5sCQ;EAOI,6BAAA;EAAA,gCAAA;AnB0sCZ;;AmBjtCQ;EAOI,2BAAA;EAAA,8BAAA;AnB+sCZ;;AmBttCQ;EAOI,2BAAA;EAAA,8BAAA;AnBotCZ;;AmB3tCQ;EAOI,wBAAA;AnBwtCZ;;AmB/tCQ;EAOI,8BAAA;AnB4tCZ;;AmBnuCQ;EAOI,6BAAA;AnBguCZ;;AmBvuCQ;EAOI,2BAAA;AnBouCZ;;AmB3uCQ;EAOI,6BAAA;AnBwuCZ;;AmB/uCQ;EAOI,2BAAA;AnB4uCZ;;AmBnvCQ;EAOI,2BAAA;AnBgvCZ;;AmBvvCQ;EAOI,0BAAA;AnBovCZ;;AmB3vCQ;EAOI,gCAAA;AnBwvCZ;;AmB/vCQ;EAOI,+BAAA;AnB4vCZ;;AmBnwCQ;EAOI,6BAAA;AnBgwCZ;;AmBvwCQ;EAOI,+BAAA;AnBowCZ;;AmB3wCQ;EAOI,6BAAA;AnBwwCZ;;AmB/wCQ;EAOI,6BAAA;AnB4wCZ;;AmBnxCQ;EAOI,2BAAA;AnBgxCZ;;AmBvxCQ;EAOI,iCAAA;AnBoxCZ;;AmB3xCQ;EAOI,gCAAA;AnBwxCZ;;AmB/xCQ;EAOI,8BAAA;AnB4xCZ;;AmBnyCQ;EAOI,gCAAA;AnBgyCZ;;AmBvyCQ;EAOI,8BAAA;AnBoyCZ;;AmB3yCQ;EAOI,8BAAA;AnBwyCZ;;AmB/yCQ;EAOI,yBAAA;AnB4yCZ;;AmBnzCQ;EAOI,+BAAA;AnBgzCZ;;AmBvzCQ;EAOI,8BAAA;AnBozCZ;;AmB3zCQ;EAOI,4BAAA;AnBwzCZ;;AmB/zCQ;EAOI,8BAAA;AnB4zCZ;;AmBn0CQ;EAOI,4BAAA;AnBg0CZ;;AmBv0CQ;EAOI,4BAAA;AnBo0CZ;;AmB30CQ;EAOI,qBAAA;AnBw0CZ;;AmB/0CQ;EAOI,2BAAA;AnB40CZ;;AmBn1CQ;EAOI,0BAAA;AnBg1CZ;;AmBv1CQ;EAOI,wBAAA;AnBo1CZ;;AmB31CQ;EAOI,0BAAA;AnBw1CZ;;AmB/1CQ;EAOI,wBAAA;AnB41CZ;;AmBn2CQ;EAOI,2BAAA;EAAA,0BAAA;AnBi2CZ;;AmBx2CQ;EAOI,iCAAA;EAAA,gCAAA;AnBs2CZ;;AmB72CQ;EAOI,gCAAA;EAAA,+BAAA;AnB22CZ;;AmBl3CQ;EAOI,8BAAA;EAAA,6BAAA;AnBg3CZ;;AmBv3CQ;EAOI,gCAAA;EAAA,+BAAA;AnBq3CZ;;AmB53CQ;EAOI,8BAAA;EAAA,6BAAA;AnB03CZ;;AmBj4CQ;EAOI,yBAAA;EAAA,4BAAA;AnB+3CZ;;AmBt4CQ;EAOI,+BAAA;EAAA,kCAAA;AnBo4CZ;;AmB34CQ;EAOI,8BAAA;EAAA,iCAAA;AnBy4CZ;;AmBh5CQ;EAOI,4BAAA;EAAA,+BAAA;AnB84CZ;;AmBr5CQ;EAOI,8BAAA;EAAA,iCAAA;AnBm5CZ;;AmB15CQ;EAOI,4BAAA;EAAA,+BAAA;AnBw5CZ;;AmB/5CQ;EAOI,yBAAA;AnB45CZ;;AmBn6CQ;EAOI,+BAAA;AnBg6CZ;;AmBv6CQ;EAOI,8BAAA;AnBo6CZ;;AmB36CQ;EAOI,4BAAA;AnBw6CZ;;AmB/6CQ;EAOI,8BAAA;AnB46CZ;;AmBn7CQ;EAOI,4BAAA;AnBg7CZ;;AmBv7CQ;EAOI,2BAAA;AnBo7CZ;;AmB37CQ;EAOI,iCAAA;AnBw7CZ;;AmB/7CQ;EAOI,gCAAA;AnB47CZ;;AmBn8CQ;EAOI,8BAAA;AnBg8CZ;;AmBv8CQ;EAOI,gCAAA;AnBo8CZ;;AmB38CQ;EAOI,8BAAA;AnBw8CZ;;AmB/8CQ;EAOI,4BAAA;AnB48CZ;;AmBn9CQ;EAOI,kCAAA;AnBg9CZ;;AmBv9CQ;EAOI,iCAAA;AnBo9CZ;;AmB39CQ;EAOI,+BAAA;AnBw9CZ;;AmB/9CQ;EAOI,iCAAA;AnB49CZ;;AmBn+CQ;EAOI,+BAAA;AnBg+CZ;;AmBv+CQ;EAOI,0BAAA;AnBo+CZ;;AmB3+CQ;EAOI,gCAAA;AnBw+CZ;;AmB/+CQ;EAOI,+BAAA;AnB4+CZ;;AmBn/CQ;EAOI,6BAAA;AnBg/CZ;;AmBv/CQ;EAOI,+BAAA;AnBo/CZ;;AmB3/CQ;EAOI,6BAAA;AnBw/CZ;;AmB//CQ;EAOI,iBAAA;AnB4/CZ;;AmBngDQ;EAOI,uBAAA;AnBggDZ;;AmBvgDQ;EAOI,sBAAA;AnBogDZ;;AmB3gDQ;EAOI,oBAAA;AnBwgDZ;;AmB/gDQ;EAOI,sBAAA;AnB4gDZ;;AmBnhDQ;EAOI,oBAAA;AnBghDZ;;AmBvhDQ;EAOI,qBAAA;AnBohDZ;;AmB3hDQ;EAOI,2BAAA;AnBwhDZ;;AmB/hDQ;EAOI,0BAAA;AnB4hDZ;;AmBniDQ;EAOI,wBAAA;AnBgiDZ;;AmBviDQ;EAOI,0BAAA;AnBoiDZ;;AmB3iDQ;EAOI,wBAAA;AnBwiDZ;;AmB/iDQ;EAOI,6BAAA;EAAA,wBAAA;AnB4iDZ;;AmBnjDQ;EAOI,mCAAA;EAAA,8BAAA;AnBgjDZ;;AmBvjDQ;EAOI,kCAAA;EAAA,6BAAA;AnBojDZ;;AmB3jDQ;EAOI,gCAAA;EAAA,2BAAA;AnBwjDZ;;AmB/jDQ;EAOI,kCAAA;EAAA,6BAAA;AnB4jDZ;;AmBnkDQ;EAOI,gCAAA;EAAA,2BAAA;AnBgkDZ;;AmBvkDQ;EAOI,gDAAA;AnBokDZ;;AmB3kDQ;EAOI,4CAAA;AnBwkDZ;;AmB/kDQ;EAOI,4CAAA;AnB4kDZ;;AmBnlDQ;EAOI,0CAAA;AnBglDZ;;AmBvlDQ;EAOI,4CAAA;AnBolDZ;;AmB3lDQ;EAOI,6BAAA;AnBwlDZ;;AmB/lDQ;EAOI,0BAAA;AnB4lDZ;;AmBnmDQ;EAOI,6BAAA;AnBgmDZ;;AmBvmDQ;EAOI,6BAAA;AnBomDZ;;AmB3mDQ;EAOI,+BAAA;AnBwmDZ;;AmB/mDQ;EAOI,2BAAA;AnB4mDZ;;AmBnnDQ;EAOI,2BAAA;AnBgnDZ;;AmBvnDQ;EAOI,2BAAA;AnBonDZ;;AmB3nDQ;EAOI,2BAAA;AnBwnDZ;;AmB/nDQ;EAOI,2BAAA;AnB4nDZ;;AmBnoDQ;EAOI,8BAAA;AnBgoDZ;;AmBvoDQ;EAOI,yBAAA;AnBooDZ;;AmB3oDQ;EAOI,4BAAA;AnBwoDZ;;AmB/oDQ;EAOI,2BAAA;AnB4oDZ;;AmBnpDQ;EAOI,yBAAA;AnBgpDZ;;AmBvpDQ;EAOI,2BAAA;AnBopDZ;;AmB3pDQ;EAOI,4BAAA;AnBwpDZ;;AmB/pDQ;EAOI,6BAAA;AnB4pDZ;;AmBnqDQ;EAOI,gCAAA;AnBgqDZ;;AmBvqDQ;EAOI,qCAAA;AnBoqDZ;;AmB3qDQ;EAOI,wCAAA;AnBwqDZ;;AmB/qDQ;EAOI,oCAAA;AnB4qDZ;;AmBnrDQ;EAOI,oCAAA;AnBgrDZ;;AmBvrDQ;EAOI,qCAAA;AnBorDZ;;AmB3rDQ;EAOI,8BAAA;AnBwrDZ;;AmB/rDQ;EAOI,8BAAA;AnB4rDZ;;AmBjtDQ,qBAAA;AAcA;EAOI,gCAAA;EAAA,iCAAA;AnBksDZ;;AmB/qDQ,mBAAA;AA1BA;EAIQ,oBAAA;EAGJ,qEAAA;AnBwsDZ;;AmB/sDQ;EAIQ,oBAAA;EAGJ,uEAAA;AnB6sDZ;;AmBptDQ;EAIQ,oBAAA;EAGJ,qEAAA;AnBktDZ;;AmBztDQ;EAIQ,oBAAA;EAGJ,kEAAA;AnButDZ;;AmB9tDQ;EAIQ,oBAAA;EAGJ,qEAAA;AnB4tDZ;;AmBnuDQ;EAIQ,oBAAA;EAGJ,oEAAA;AnBiuDZ;;AmBxuDQ;EAIQ,oBAAA;EAGJ,mEAAA;AnBsuDZ;;AmB7uDQ;EAIQ,oBAAA;EAGJ,kEAAA;AnB2uDZ;;AmBlvDQ;EAIQ,oBAAA;EAGJ,mEAAA;AnBgvDZ;;AmBvvDQ;EAIQ,oBAAA;EAGJ,mEAAA;AnBqvDZ;;AmB5vDQ;EAIQ,oBAAA;EAGJ,wEAAA;AnB0vDZ;;AmBjwDQ;EAIQ,oBAAA;EAGJ,2CAAA;AnB+vDZ;;AmBtwDQ;EAIQ,oBAAA;EAGJ,oCAAA;AnBowDZ;;AmB3wDQ;EAIQ,oBAAA;EAGJ,0CAAA;AnBywDZ;;AmBhxDQ;EAIQ,oBAAA;EAGJ,2CAAA;AnB8wDZ;;AmBrxDQ;EAIQ,oBAAA;EAGJ,0CAAA;AnBmxDZ;;AmB1xDQ;EAIQ,oBAAA;EAGJ,0CAAA;AnBwxDZ;;AmB/xDQ;EAIQ,oBAAA;EAGJ,yBAAA;AnB6xDZ;;AmB9yDQ;EACE,uBAAA;AnBizDV;;AmBlzDQ;EACE,sBAAA;AnBqzDV;;AmBtzDQ;EACE,uBAAA;AnByzDV;;AmB1zDQ;EACE,oBAAA;AnB6zDV;;AmBpzDQ;EAOI,iDAAA;AnBizDZ;;AmBxzDQ;EAOI,mDAAA;AnBqzDZ;;AmB5zDQ;EAOI,iDAAA;AnByzDZ;;AmBh0DQ;EAOI,8CAAA;AnB6zDZ;;AmBp0DQ;EAOI,iDAAA;AnBi0DZ;;AmBx0DQ;EAOI,gDAAA;AnBq0DZ;;AmB50DQ;EAOI,+CAAA;AnBy0DZ;;AmBh1DQ;EAOI,8CAAA;AnB60DZ;;AmB91DQ;EACE,sBAAA;AnBi2DV;;AmB71DU;EACE,sBAAA;AnBg2DZ;;AmBt2DQ;EACE,uBAAA;AnBy2DV;;AmBr2DU;EACE,uBAAA;AnBw2DZ;;AmB92DQ;EACE,sBAAA;AnBi3DV;;AmB72DU;EACE,sBAAA;AnBg3DZ;;AmBt3DQ;EACE,uBAAA;AnBy3DV;;AmBr3DU;EACE,uBAAA;AnBw3DZ;;AmB93DQ;EACE,oBAAA;AnBi4DV;;AmB73DU;EACE,oBAAA;AnBg4DZ;;AmB53DQ;EAOI,yCAAA;AnBy3DZ;;AmBp3DU;EAOI,yCAAA;AnBi3Dd;;AmBp4DQ;EAOI,wCAAA;AnBi4DZ;;AmB53DU;EAOI,wCAAA;AnBy3Dd;;AmB54DQ;EAOI,yCAAA;AnBy4DZ;;AmBp4DU;EAOI,yCAAA;AnBi4Dd;;AmBp5DQ;EAIQ,8BAAA;EAGJ,uGAAA;EAAA,+FAAA;AnBk5DZ;;AmBz5DQ;EAIQ,8BAAA;EAGJ,yGAAA;EAAA,iGAAA;AnBu5DZ;;AmB95DQ;EAIQ,8BAAA;EAGJ,uGAAA;EAAA,+FAAA;AnB45DZ;;AmBn6DQ;EAIQ,8BAAA;EAGJ,oGAAA;EAAA,4FAAA;AnBi6DZ;;AmBx6DQ;EAIQ,8BAAA;EAGJ,uGAAA;EAAA,+FAAA;AnBs6DZ;;AmB76DQ;EAIQ,8BAAA;EAGJ,sGAAA;EAAA,8FAAA;AnB26DZ;;AmBl7DQ;EAIQ,8BAAA;EAGJ,qGAAA;EAAA,6FAAA;AnBg7DZ;;AmBv7DQ;EAIQ,8BAAA;EAGJ,oGAAA;EAAA,4FAAA;AnBq7DZ;;AmB57DQ;EAIQ,8BAAA;EAGJ,6GAAA;EAAA,qGAAA;AnB07DZ;;AmB38DQ;EACE,8BAAA;AnB88DV;;AmB18DU;EACE,8BAAA;AnB68DZ;;AmBn9DQ;EACE,gCAAA;AnBs9DV;;AmBl9DU;EACE,gCAAA;AnBq9DZ;;AmB39DQ;EACE,iCAAA;AnB89DV;;AmB19DU;EACE,iCAAA;AnB69DZ;;AmBn+DQ;EACE,gCAAA;AnBs+DV;;AmBl+DU;EACE,gCAAA;AnBq+DZ;;AmB3+DQ;EACE,iCAAA;AnB8+DV;;AmB1+DU;EACE,iCAAA;AnB6+DZ;;AmBn/DQ;EACE,8BAAA;AnBs/DV;;AmBl/DU;EACE,8BAAA;AnBq/DZ;;AmBj/DQ;EAIQ,kBAAA;EAGJ,8EAAA;AnB++DZ;;AmBt/DQ;EAIQ,kBAAA;EAGJ,gFAAA;AnBo/DZ;;AmB3/DQ;EAIQ,kBAAA;EAGJ,8EAAA;AnBy/DZ;;AmBhgEQ;EAIQ,kBAAA;EAGJ,2EAAA;AnB8/DZ;;AmBrgEQ;EAIQ,kBAAA;EAGJ,8EAAA;AnBmgEZ;;AmB1gEQ;EAIQ,kBAAA;EAGJ,6EAAA;AnBwgEZ;;AmB/gEQ;EAIQ,kBAAA;EAGJ,4EAAA;AnB6gEZ;;AmBphEQ;EAIQ,kBAAA;EAGJ,2EAAA;AnBkhEZ;;AmBzhEQ;EAIQ,kBAAA;EAGJ,4EAAA;AnBuhEZ;;AmB9hEQ;EAIQ,kBAAA;EAGJ,4EAAA;AnB4hEZ;;AmBniEQ;EAIQ,kBAAA;EAGJ,8EAAA;AnBiiEZ;;AmBxiEQ;EAIQ,kBAAA;EAGJ,wCAAA;AnBsiEZ;;AmB7iEQ;EAIQ,kBAAA;EAGJ,mFAAA;AnB2iEZ;;AmBljEQ;EAIQ,kBAAA;EAGJ,kFAAA;AnBgjEZ;;AmBjkEQ;EACE,oBAAA;AnBokEV;;AmBrkEQ;EACE,qBAAA;AnBwkEV;;AmBzkEQ;EACE,oBAAA;AnB4kEV;;AmB7kEQ;EACE,qBAAA;AnBglEV;;AmBjlEQ;EACE,kBAAA;AnBolEV;;AmB3kEQ;EAOI,wDAAA;AnBwkEZ;;AmB/kEQ;EAOI,0DAAA;AnB4kEZ;;AmBnlEQ;EAOI,wDAAA;AnBglEZ;;AmBvlEQ;EAOI,qDAAA;AnBolEZ;;AmB3lEQ;EAOI,wDAAA;AnBwlEZ;;AmB/lEQ;EAOI,uDAAA;AnB4lEZ;;AmBnmEQ;EAOI,sDAAA;AnBgmEZ;;AmBvmEQ;EAOI,qDAAA;AnBomEZ;;AmB3mEQ;EAOI,+CAAA;AnBwmEZ;;AmB/mEQ;EAOI,mCAAA;EAAA,gCAAA;EAAA,2BAAA;AnB4mEZ;;AmBnnEQ;EAOI,oCAAA;EAAA,iCAAA;EAAA,4BAAA;AnBgnEZ;;AmBvnEQ;EAOI,oCAAA;EAAA,iCAAA;EAAA,4BAAA;AnBonEZ;;AmB3nEQ;EAOI,+BAAA;AnBwnEZ;;AmB/nEQ;EAOI,+BAAA;AnB4nEZ;;AmBnoEQ;EAOI,iDAAA;AnBgoEZ;;AmBvoEQ;EAOI,2BAAA;AnBooEZ;;AmB3oEQ;EAOI,oDAAA;AnBwoEZ;;AmB/oEQ;EAOI,iDAAA;AnB4oEZ;;AmBnpEQ;EAOI,oDAAA;AnBgpEZ;;AmBvpEQ;EAOI,oDAAA;AnBopEZ;;AmB3pEQ;EAOI,qDAAA;AnBwpEZ;;AmB/pEQ;EAOI,6BAAA;AnB4pEZ;;AmBnqEQ;EAOI,sDAAA;AnBgqEZ;;AmBvqEQ;EAOI,0DAAA;EAAA,2DAAA;AnBqqEZ;;AmB5qEQ;EAOI,oCAAA;EAAA,qCAAA;AnB0qEZ;;AmBjrEQ;EAOI,6DAAA;EAAA,8DAAA;AnB+qEZ;;AmBtrEQ;EAOI,0DAAA;EAAA,2DAAA;AnBorEZ;;AmB3rEQ;EAOI,6DAAA;EAAA,8DAAA;AnByrEZ;;AmBhsEQ;EAOI,6DAAA;EAAA,8DAAA;AnB8rEZ;;AmBrsEQ;EAOI,8DAAA;EAAA,+DAAA;AnBmsEZ;;AmB1sEQ;EAOI,sCAAA;EAAA,uCAAA;AnBwsEZ;;AmB/sEQ;EAOI,+DAAA;EAAA,gEAAA;AnB6sEZ;;AmBptEQ;EAOI,2DAAA;EAAA,8DAAA;AnBktEZ;;AmBztEQ;EAOI,qCAAA;EAAA,wCAAA;AnButEZ;;AmB9tEQ;EAOI,8DAAA;EAAA,iEAAA;AnB4tEZ;;AmBnuEQ;EAOI,2DAAA;EAAA,8DAAA;AnBiuEZ;;AmBxuEQ;EAOI,8DAAA;EAAA,iEAAA;AnBsuEZ;;AmB7uEQ;EAOI,8DAAA;EAAA,iEAAA;AnB2uEZ;;AmBlvEQ;EAOI,+DAAA;EAAA,kEAAA;AnBgvEZ;;AmBvvEQ;EAOI,uCAAA;EAAA,0CAAA;AnBqvEZ;;AmB5vEQ;EAOI,gEAAA;EAAA,mEAAA;AnB0vEZ;;AmBjwEQ;EAOI,8DAAA;EAAA,6DAAA;AnB+vEZ;;AmBtwEQ;EAOI,wCAAA;EAAA,uCAAA;AnBowEZ;;AmB3wEQ;EAOI,iEAAA;EAAA,gEAAA;AnBywEZ;;AmBhxEQ;EAOI,8DAAA;EAAA,6DAAA;AnB8wEZ;;AmBrxEQ;EAOI,iEAAA;EAAA,gEAAA;AnBmxEZ;;AmB1xEQ;EAOI,iEAAA;EAAA,gEAAA;AnBwxEZ;;AmB/xEQ;EAOI,kEAAA;EAAA,iEAAA;AnB6xEZ;;AmBpyEQ;EAOI,0CAAA;EAAA,yCAAA;AnBkyEZ;;AmBzyEQ;EAOI,mEAAA;EAAA,kEAAA;AnBuyEZ;;AmB9yEQ;EAOI,6DAAA;EAAA,0DAAA;AnB4yEZ;;AmBnzEQ;EAOI,uCAAA;EAAA,oCAAA;AnBizEZ;;AmBxzEQ;EAOI,gEAAA;EAAA,6DAAA;AnBszEZ;;AmB7zEQ;EAOI,6DAAA;EAAA,0DAAA;AnB2zEZ;;AmBl0EQ;EAOI,gEAAA;EAAA,6DAAA;AnBg0EZ;;AmBv0EQ;EAOI,gEAAA;EAAA,6DAAA;AnBq0EZ;;AmB50EQ;EAOI,iEAAA;EAAA,8DAAA;AnB00EZ;;AmBj1EQ;EAOI,yCAAA;EAAA,sCAAA;AnB+0EZ;;AmBt1EQ;EAOI,kEAAA;EAAA,+DAAA;AnBo1EZ;;AmB31EQ;EAOI,8BAAA;AnBw1EZ;;AmB/1EQ;EAOI,6BAAA;AnB41EZ;;AmBn2EQ;EAOI,sBAAA;AnBg2EZ;;AmBv2EQ;EAOI,qBAAA;AnBo2EZ;;AmB32EQ;EAOI,qBAAA;AnBw2EZ;;AmB/2EQ;EAOI,qBAAA;AnB42EZ;;AmBn3EQ;EAOI,qBAAA;AnBg3EZ;;AW13EI;EQGI;IAOI,sBAAA;EnBq3EV;EmB53EM;IAOI,uBAAA;EnBw3EV;EmB/3EM;IAOI,sBAAA;EnB23EV;EmBl4EM;IAOI,iCAAA;IAAA,8BAAA;EnB83EV;EmBr4EM;IAOI,+BAAA;IAAA,4BAAA;EnBi4EV;EmBx4EM;IAOI,8BAAA;IAAA,2BAAA;EnBo4EV;EmB34EM;IAOI,oCAAA;IAAA,iCAAA;EnBu4EV;EmB94EM;IAOI,8BAAA;IAAA,2BAAA;EnB04EV;EmBj5EM;IAOI,0BAAA;EnB64EV;EmBp5EM;IAOI,gCAAA;EnBg5EV;EmBv5EM;IAOI,yBAAA;EnBm5EV;EmB15EM;IAOI,wBAAA;EnBs5EV;EmB75EM;IAOI,+BAAA;EnBy5EV;EmBh6EM;IAOI,yBAAA;EnB45EV;EmBn6EM;IAOI,6BAAA;EnB+5EV;EmBt6EM;IAOI,8BAAA;EnBk6EV;EmBz6EM;IAOI,wBAAA;EnBq6EV;EmB56EM;IAOI,+BAAA;EnBw6EV;EmB/6EM;IAOI,wBAAA;EnB26EV;EmBl7EM;IAOI,yBAAA;EnB86EV;EmBr7EM;IAOI,8BAAA;EnBi7EV;EmBx7EM;IAOI,iCAAA;EnBo7EV;EmB37EM;IAOI,sCAAA;EnBu7EV;EmB97EM;IAOI,yCAAA;EnB07EV;EmBj8EM;IAOI,uBAAA;EnB67EV;EmBp8EM;IAOI,uBAAA;EnBg8EV;EmBv8EM;IAOI,yBAAA;EnBm8EV;EmB18EM;IAOI,yBAAA;EnBs8EV;EmB78EM;IAOI,0BAAA;EnBy8EV;EmBh9EM;IAOI,4BAAA;EnB48EV;EmBn9EM;IAOI,kCAAA;EnB+8EV;EmBt9EM;IAOI,sCAAA;EnBk9EV;EmBz9EM;IAOI,oCAAA;EnBq9EV;EmB59EM;IAOI,kCAAA;EnBw9EV;EmB/9EM;IAOI,yCAAA;EnB29EV;EmBl+EM;IAOI,wCAAA;EnB89EV;EmBr+EM;IAOI,wCAAA;EnBi+EV;EmBx+EM;IAOI,kCAAA;EnBo+EV;EmB3+EM;IAOI,gCAAA;EnBu+EV;EmB9+EM;IAOI,8BAAA;EnB0+EV;EmBj/EM;IAOI,gCAAA;EnB6+EV;EmBp/EM;IAOI,+BAAA;EnBg/EV;EmBv/EM;IAOI,oCAAA;EnBm/EV;EmB1/EM;IAOI,kCAAA;EnBs/EV;EmB7/EM;IAOI,gCAAA;EnBy/EV;EmBhgFM;IAOI,uCAAA;EnB4/EV;EmBngFM;IAOI,sCAAA;EnB+/EV;EmBtgFM;IAOI,iCAAA;EnBkgFV;EmBzgFM;IAOI,2BAAA;EnBqgFV;EmB5gFM;IAOI,iCAAA;EnBwgFV;EmB/gFM;IAOI,+BAAA;EnB2gFV;EmBlhFM;IAOI,6BAAA;EnB8gFV;EmBrhFM;IAOI,+BAAA;EnBihFV;EmBxhFM;IAOI,8BAAA;EnBohFV;EmB3hFM;IAOI,oBAAA;EnBuhFV;EmB9hFM;IAOI,mBAAA;EnB0hFV;EmBjiFM;IAOI,mBAAA;EnB6hFV;EmBpiFM;IAOI,mBAAA;EnBgiFV;EmBviFM;IAOI,mBAAA;EnBmiFV;EmB1iFM;IAOI,mBAAA;EnBsiFV;EmB7iFM;IAOI,mBAAA;EnByiFV;EmBhjFM;IAOI,mBAAA;EnB4iFV;EmBnjFM;IAOI,oBAAA;EnB+iFV;EmBtjFM;IAOI,0BAAA;EnBkjFV;EmBzjFM;IAOI,yBAAA;EnBqjFV;EmB5jFM;IAOI,uBAAA;EnBwjFV;EmB/jFM;IAOI,yBAAA;EnB2jFV;EmBlkFM;IAOI,uBAAA;EnB8jFV;EmBrkFM;IAOI,uBAAA;EnBikFV;EmBxkFM;IAOI,0BAAA;IAAA,yBAAA;EnBqkFV;EmB5kFM;IAOI,gCAAA;IAAA,+BAAA;EnBykFV;EmBhlFM;IAOI,+BAAA;IAAA,8BAAA;EnB6kFV;EmBplFM;IAOI,6BAAA;IAAA,4BAAA;EnBilFV;EmBxlFM;IAOI,+BAAA;IAAA,8BAAA;EnBqlFV;EmB5lFM;IAOI,6BAAA;IAAA,4BAAA;EnBylFV;EmBhmFM;IAOI,6BAAA;IAAA,4BAAA;EnB6lFV;EmBpmFM;IAOI,wBAAA;IAAA,2BAAA;EnBimFV;EmBxmFM;IAOI,8BAAA;IAAA,iCAAA;EnBqmFV;EmB5mFM;IAOI,6BAAA;IAAA,gCAAA;EnBymFV;EmBhnFM;IAOI,2BAAA;IAAA,8BAAA;EnB6mFV;EmBpnFM;IAOI,6BAAA;IAAA,gCAAA;EnBinFV;EmBxnFM;IAOI,2BAAA;IAAA,8BAAA;EnBqnFV;EmB5nFM;IAOI,2BAAA;IAAA,8BAAA;EnBynFV;EmBhoFM;IAOI,wBAAA;EnB4nFV;EmBnoFM;IAOI,8BAAA;EnB+nFV;EmBtoFM;IAOI,6BAAA;EnBkoFV;EmBzoFM;IAOI,2BAAA;EnBqoFV;EmB5oFM;IAOI,6BAAA;EnBwoFV;EmB/oFM;IAOI,2BAAA;EnB2oFV;EmBlpFM;IAOI,2BAAA;EnB8oFV;EmBrpFM;IAOI,0BAAA;EnBipFV;EmBxpFM;IAOI,gCAAA;EnBopFV;EmB3pFM;IAOI,+BAAA;EnBupFV;EmB9pFM;IAOI,6BAAA;EnB0pFV;EmBjqFM;IAOI,+BAAA;EnB6pFV;EmBpqFM;IAOI,6BAAA;EnBgqFV;EmBvqFM;IAOI,6BAAA;EnBmqFV;EmB1qFM;IAOI,2BAAA;EnBsqFV;EmB7qFM;IAOI,iCAAA;EnByqFV;EmBhrFM;IAOI,gCAAA;EnB4qFV;EmBnrFM;IAOI,8BAAA;EnB+qFV;EmBtrFM;IAOI,gCAAA;EnBkrFV;EmBzrFM;IAOI,8BAAA;EnBqrFV;EmB5rFM;IAOI,8BAAA;EnBwrFV;EmB/rFM;IAOI,yBAAA;EnB2rFV;EmBlsFM;IAOI,+BAAA;EnB8rFV;EmBrsFM;IAOI,8BAAA;EnBisFV;EmBxsFM;IAOI,4BAAA;EnBosFV;EmB3sFM;IAOI,8BAAA;EnBusFV;EmB9sFM;IAOI,4BAAA;EnB0sFV;EmBjtFM;IAOI,4BAAA;EnB6sFV;EmBptFM;IAOI,qBAAA;EnBgtFV;EmBvtFM;IAOI,2BAAA;EnBmtFV;EmB1tFM;IAOI,0BAAA;EnBstFV;EmB7tFM;IAOI,wBAAA;EnBytFV;EmBhuFM;IAOI,0BAAA;EnB4tFV;EmBnuFM;IAOI,wBAAA;EnB+tFV;EmBtuFM;IAOI,2BAAA;IAAA,0BAAA;EnBmuFV;EmB1uFM;IAOI,iCAAA;IAAA,gCAAA;EnBuuFV;EmB9uFM;IAOI,gCAAA;IAAA,+BAAA;EnB2uFV;EmBlvFM;IAOI,8BAAA;IAAA,6BAAA;EnB+uFV;EmBtvFM;IAOI,gCAAA;IAAA,+BAAA;EnBmvFV;EmB1vFM;IAOI,8BAAA;IAAA,6BAAA;EnBuvFV;EmB9vFM;IAOI,yBAAA;IAAA,4BAAA;EnB2vFV;EmBlwFM;IAOI,+BAAA;IAAA,kCAAA;EnB+vFV;EmBtwFM;IAOI,8BAAA;IAAA,iCAAA;EnBmwFV;EmB1wFM;IAOI,4BAAA;IAAA,+BAAA;EnBuwFV;EmB9wFM;IAOI,8BAAA;IAAA,iCAAA;EnB2wFV;EmBlxFM;IAOI,4BAAA;IAAA,+BAAA;EnB+wFV;EmBtxFM;IAOI,yBAAA;EnBkxFV;EmBzxFM;IAOI,+BAAA;EnBqxFV;EmB5xFM;IAOI,8BAAA;EnBwxFV;EmB/xFM;IAOI,4BAAA;EnB2xFV;EmBlyFM;IAOI,8BAAA;EnB8xFV;EmBryFM;IAOI,4BAAA;EnBiyFV;EmBxyFM;IAOI,2BAAA;EnBoyFV;EmB3yFM;IAOI,iCAAA;EnBuyFV;EmB9yFM;IAOI,gCAAA;EnB0yFV;EmBjzFM;IAOI,8BAAA;EnB6yFV;EmBpzFM;IAOI,gCAAA;EnBgzFV;EmBvzFM;IAOI,8BAAA;EnBmzFV;EmB1zFM;IAOI,4BAAA;EnBszFV;EmB7zFM;IAOI,kCAAA;EnByzFV;EmBh0FM;IAOI,iCAAA;EnB4zFV;EmBn0FM;IAOI,+BAAA;EnB+zFV;EmBt0FM;IAOI,iCAAA;EnBk0FV;EmBz0FM;IAOI,+BAAA;EnBq0FV;EmB50FM;IAOI,0BAAA;EnBw0FV;EmB/0FM;IAOI,gCAAA;EnB20FV;EmBl1FM;IAOI,+BAAA;EnB80FV;EmBr1FM;IAOI,6BAAA;EnBi1FV;EmBx1FM;IAOI,+BAAA;EnBo1FV;EmB31FM;IAOI,6BAAA;EnBu1FV;EmB91FM;IAOI,iBAAA;EnB01FV;EmBj2FM;IAOI,uBAAA;EnB61FV;EmBp2FM;IAOI,sBAAA;EnBg2FV;EmBv2FM;IAOI,oBAAA;EnBm2FV;EmB12FM;IAOI,sBAAA;EnBs2FV;EmB72FM;IAOI,oBAAA;EnBy2FV;EmBh3FM;IAOI,qBAAA;EnB42FV;EmBn3FM;IAOI,2BAAA;EnB+2FV;EmBt3FM;IAOI,0BAAA;EnBk3FV;EmBz3FM;IAOI,wBAAA;EnBq3FV;EmB53FM;IAOI,0BAAA;EnBw3FV;EmB/3FM;IAOI,wBAAA;EnB23FV;EmBl4FM;IAOI,6BAAA;IAAA,wBAAA;EnB83FV;EmBr4FM;IAOI,mCAAA;IAAA,8BAAA;EnBi4FV;EmBx4FM;IAOI,kCAAA;IAAA,6BAAA;EnBo4FV;EmB34FM;IAOI,gCAAA;IAAA,2BAAA;EnBu4FV;EmB94FM;IAOI,kCAAA;IAAA,6BAAA;EnB04FV;EmBj5FM;IAOI,gCAAA;IAAA,2BAAA;EnB64FV;EmBp5FM;IAOI,2BAAA;EnBg5FV;EmBv5FM;IAOI,4BAAA;EnBm5FV;EmB15FM;IAOI,6BAAA;EnBs5FV;AACF;AWj6FI;EQGI;IAOI,sBAAA;EnB25FV;EmBl6FM;IAOI,uBAAA;EnB85FV;EmBr6FM;IAOI,sBAAA;EnBi6FV;EmBx6FM;IAOI,iCAAA;IAAA,8BAAA;EnBo6FV;EmB36FM;IAOI,+BAAA;IAAA,4BAAA;EnBu6FV;EmB96FM;IAOI,8BAAA;IAAA,2BAAA;EnB06FV;EmBj7FM;IAOI,oCAAA;IAAA,iCAAA;EnB66FV;EmBp7FM;IAOI,8BAAA;IAAA,2BAAA;EnBg7FV;EmBv7FM;IAOI,0BAAA;EnBm7FV;EmB17FM;IAOI,gCAAA;EnBs7FV;EmB77FM;IAOI,yBAAA;EnBy7FV;EmBh8FM;IAOI,wBAAA;EnB47FV;EmBn8FM;IAOI,+BAAA;EnB+7FV;EmBt8FM;IAOI,yBAAA;EnBk8FV;EmBz8FM;IAOI,6BAAA;EnBq8FV;EmB58FM;IAOI,8BAAA;EnBw8FV;EmB/8FM;IAOI,wBAAA;EnB28FV;EmBl9FM;IAOI,+BAAA;EnB88FV;EmBr9FM;IAOI,wBAAA;EnBi9FV;EmBx9FM;IAOI,yBAAA;EnBo9FV;EmB39FM;IAOI,8BAAA;EnBu9FV;EmB99FM;IAOI,iCAAA;EnB09FV;EmBj+FM;IAOI,sCAAA;EnB69FV;EmBp+FM;IAOI,yCAAA;EnBg+FV;EmBv+FM;IAOI,uBAAA;EnBm+FV;EmB1+FM;IAOI,uBAAA;EnBs+FV;EmB7+FM;IAOI,yBAAA;EnBy+FV;EmBh/FM;IAOI,yBAAA;EnB4+FV;EmBn/FM;IAOI,0BAAA;EnB++FV;EmBt/FM;IAOI,4BAAA;EnBk/FV;EmBz/FM;IAOI,kCAAA;EnBq/FV;EmB5/FM;IAOI,sCAAA;EnBw/FV;EmB//FM;IAOI,oCAAA;EnB2/FV;EmBlgGM;IAOI,kCAAA;EnB8/FV;EmBrgGM;IAOI,yCAAA;EnBigGV;EmBxgGM;IAOI,wCAAA;EnBogGV;EmB3gGM;IAOI,wCAAA;EnBugGV;EmB9gGM;IAOI,kCAAA;EnB0gGV;EmBjhGM;IAOI,gCAAA;EnB6gGV;EmBphGM;IAOI,8BAAA;EnBghGV;EmBvhGM;IAOI,gCAAA;EnBmhGV;EmB1hGM;IAOI,+BAAA;EnBshGV;EmB7hGM;IAOI,oCAAA;EnByhGV;EmBhiGM;IAOI,kCAAA;EnB4hGV;EmBniGM;IAOI,gCAAA;EnB+hGV;EmBtiGM;IAOI,uCAAA;EnBkiGV;EmBziGM;IAOI,sCAAA;EnBqiGV;EmB5iGM;IAOI,iCAAA;EnBwiGV;EmB/iGM;IAOI,2BAAA;EnB2iGV;EmBljGM;IAOI,iCAAA;EnB8iGV;EmBrjGM;IAOI,+BAAA;EnBijGV;EmBxjGM;IAOI,6BAAA;EnBojGV;EmB3jGM;IAOI,+BAAA;EnBujGV;EmB9jGM;IAOI,8BAAA;EnB0jGV;EmBjkGM;IAOI,oBAAA;EnB6jGV;EmBpkGM;IAOI,mBAAA;EnBgkGV;EmBvkGM;IAOI,mBAAA;EnBmkGV;EmB1kGM;IAOI,mBAAA;EnBskGV;EmB7kGM;IAOI,mBAAA;EnBykGV;EmBhlGM;IAOI,mBAAA;EnB4kGV;EmBnlGM;IAOI,mBAAA;EnB+kGV;EmBtlGM;IAOI,mBAAA;EnBklGV;EmBzlGM;IAOI,oBAAA;EnBqlGV;EmB5lGM;IAOI,0BAAA;EnBwlGV;EmB/lGM;IAOI,yBAAA;EnB2lGV;EmBlmGM;IAOI,uBAAA;EnB8lGV;EmBrmGM;IAOI,yBAAA;EnBimGV;EmBxmGM;IAOI,uBAAA;EnBomGV;EmB3mGM;IAOI,uBAAA;EnBumGV;EmB9mGM;IAOI,0BAAA;IAAA,yBAAA;EnB2mGV;EmBlnGM;IAOI,gCAAA;IAAA,+BAAA;EnB+mGV;EmBtnGM;IAOI,+BAAA;IAAA,8BAAA;EnBmnGV;EmB1nGM;IAOI,6BAAA;IAAA,4BAAA;EnBunGV;EmB9nGM;IAOI,+BAAA;IAAA,8BAAA;EnB2nGV;EmBloGM;IAOI,6BAAA;IAAA,4BAAA;EnB+nGV;EmBtoGM;IAOI,6BAAA;IAAA,4BAAA;EnBmoGV;EmB1oGM;IAOI,wBAAA;IAAA,2BAAA;EnBuoGV;EmB9oGM;IAOI,8BAAA;IAAA,iCAAA;EnB2oGV;EmBlpGM;IAOI,6BAAA;IAAA,gCAAA;EnB+oGV;EmBtpGM;IAOI,2BAAA;IAAA,8BAAA;EnBmpGV;EmB1pGM;IAOI,6BAAA;IAAA,gCAAA;EnBupGV;EmB9pGM;IAOI,2BAAA;IAAA,8BAAA;EnB2pGV;EmBlqGM;IAOI,2BAAA;IAAA,8BAAA;EnB+pGV;EmBtqGM;IAOI,wBAAA;EnBkqGV;EmBzqGM;IAOI,8BAAA;EnBqqGV;EmB5qGM;IAOI,6BAAA;EnBwqGV;EmB/qGM;IAOI,2BAAA;EnB2qGV;EmBlrGM;IAOI,6BAAA;EnB8qGV;EmBrrGM;IAOI,2BAAA;EnBirGV;EmBxrGM;IAOI,2BAAA;EnBorGV;EmB3rGM;IAOI,0BAAA;EnBurGV;EmB9rGM;IAOI,gCAAA;EnB0rGV;EmBjsGM;IAOI,+BAAA;EnB6rGV;EmBpsGM;IAOI,6BAAA;EnBgsGV;EmBvsGM;IAOI,+BAAA;EnBmsGV;EmB1sGM;IAOI,6BAAA;EnBssGV;EmB7sGM;IAOI,6BAAA;EnBysGV;EmBhtGM;IAOI,2BAAA;EnB4sGV;EmBntGM;IAOI,iCAAA;EnB+sGV;EmBttGM;IAOI,gCAAA;EnBktGV;EmBztGM;IAOI,8BAAA;EnBqtGV;EmB5tGM;IAOI,gCAAA;EnBwtGV;EmB/tGM;IAOI,8BAAA;EnB2tGV;EmBluGM;IAOI,8BAAA;EnB8tGV;EmBruGM;IAOI,yBAAA;EnBiuGV;EmBxuGM;IAOI,+BAAA;EnBouGV;EmB3uGM;IAOI,8BAAA;EnBuuGV;EmB9uGM;IAOI,4BAAA;EnB0uGV;EmBjvGM;IAOI,8BAAA;EnB6uGV;EmBpvGM;IAOI,4BAAA;EnBgvGV;EmBvvGM;IAOI,4BAAA;EnBmvGV;EmB1vGM;IAOI,qBAAA;EnBsvGV;EmB7vGM;IAOI,2BAAA;EnByvGV;EmBhwGM;IAOI,0BAAA;EnB4vGV;EmBnwGM;IAOI,wBAAA;EnB+vGV;EmBtwGM;IAOI,0BAAA;EnBkwGV;EmBzwGM;IAOI,wBAAA;EnBqwGV;EmB5wGM;IAOI,2BAAA;IAAA,0BAAA;EnBywGV;EmBhxGM;IAOI,iCAAA;IAAA,gCAAA;EnB6wGV;EmBpxGM;IAOI,gCAAA;IAAA,+BAAA;EnBixGV;EmBxxGM;IAOI,8BAAA;IAAA,6BAAA;EnBqxGV;EmB5xGM;IAOI,gCAAA;IAAA,+BAAA;EnByxGV;EmBhyGM;IAOI,8BAAA;IAAA,6BAAA;EnB6xGV;EmBpyGM;IAOI,yBAAA;IAAA,4BAAA;EnBiyGV;EmBxyGM;IAOI,+BAAA;IAAA,kCAAA;EnBqyGV;EmB5yGM;IAOI,8BAAA;IAAA,iCAAA;EnByyGV;EmBhzGM;IAOI,4BAAA;IAAA,+BAAA;EnB6yGV;EmBpzGM;IAOI,8BAAA;IAAA,iCAAA;EnBizGV;EmBxzGM;IAOI,4BAAA;IAAA,+BAAA;EnBqzGV;EmB5zGM;IAOI,yBAAA;EnBwzGV;EmB/zGM;IAOI,+BAAA;EnB2zGV;EmBl0GM;IAOI,8BAAA;EnB8zGV;EmBr0GM;IAOI,4BAAA;EnBi0GV;EmBx0GM;IAOI,8BAAA;EnBo0GV;EmB30GM;IAOI,4BAAA;EnBu0GV;EmB90GM;IAOI,2BAAA;EnB00GV;EmBj1GM;IAOI,iCAAA;EnB60GV;EmBp1GM;IAOI,gCAAA;EnBg1GV;EmBv1GM;IAOI,8BAAA;EnBm1GV;EmB11GM;IAOI,gCAAA;EnBs1GV;EmB71GM;IAOI,8BAAA;EnBy1GV;EmBh2GM;IAOI,4BAAA;EnB41GV;EmBn2GM;IAOI,kCAAA;EnB+1GV;EmBt2GM;IAOI,iCAAA;EnBk2GV;EmBz2GM;IAOI,+BAAA;EnBq2GV;EmB52GM;IAOI,iCAAA;EnBw2GV;EmB/2GM;IAOI,+BAAA;EnB22GV;EmBl3GM;IAOI,0BAAA;EnB82GV;EmBr3GM;IAOI,gCAAA;EnBi3GV;EmBx3GM;IAOI,+BAAA;EnBo3GV;EmB33GM;IAOI,6BAAA;EnBu3GV;EmB93GM;IAOI,+BAAA;EnB03GV;EmBj4GM;IAOI,6BAAA;EnB63GV;EmBp4GM;IAOI,iBAAA;EnBg4GV;EmBv4GM;IAOI,uBAAA;EnBm4GV;EmB14GM;IAOI,sBAAA;EnBs4GV;EmB74GM;IAOI,oBAAA;EnBy4GV;EmBh5GM;IAOI,sBAAA;EnB44GV;EmBn5GM;IAOI,oBAAA;EnB+4GV;EmBt5GM;IAOI,qBAAA;EnBk5GV;EmBz5GM;IAOI,2BAAA;EnBq5GV;EmB55GM;IAOI,0BAAA;EnBw5GV;EmB/5GM;IAOI,wBAAA;EnB25GV;EmBl6GM;IAOI,0BAAA;EnB85GV;EmBr6GM;IAOI,wBAAA;EnBi6GV;EmBx6GM;IAOI,6BAAA;IAAA,wBAAA;EnBo6GV;EmB36GM;IAOI,mCAAA;IAAA,8BAAA;EnBu6GV;EmB96GM;IAOI,kCAAA;IAAA,6BAAA;EnB06GV;EmBj7GM;IAOI,gCAAA;IAAA,2BAAA;EnB66GV;EmBp7GM;IAOI,kCAAA;IAAA,6BAAA;EnBg7GV;EmBv7GM;IAOI,gCAAA;IAAA,2BAAA;EnBm7GV;EmB17GM;IAOI,2BAAA;EnBs7GV;EmB77GM;IAOI,4BAAA;EnBy7GV;EmBh8GM;IAOI,6BAAA;EnB47GV;AACF;AWv8GI;EQGI;IAOI,sBAAA;EnBi8GV;EmBx8GM;IAOI,uBAAA;EnBo8GV;EmB38GM;IAOI,sBAAA;EnBu8GV;EmB98GM;IAOI,iCAAA;IAAA,8BAAA;EnB08GV;EmBj9GM;IAOI,+BAAA;IAAA,4BAAA;EnB68GV;EmBp9GM;IAOI,8BAAA;IAAA,2BAAA;EnBg9GV;EmBv9GM;IAOI,oCAAA;IAAA,iCAAA;EnBm9GV;EmB19GM;IAOI,8BAAA;IAAA,2BAAA;EnBs9GV;EmB79GM;IAOI,0BAAA;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
@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 {
--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 */
-{"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;IGz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;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;;EA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APJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;EAPJ;IAOI;;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
* 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,
-{"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
* 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 === '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;
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
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
-{"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
* 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,
-{"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
--- /dev/null
+/*!
+ * 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
--- /dev/null
+{"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":";;;;;;;;;;;EAAA;EACA;EACA;EACA;EACA;EACA;;;EAYA;EACA;EACA;;EAEA,MAAMA,IAAI,GAAG,QAAQ;EACrB,MAAMC,QAAQ,GAAG,WAAW;EAC5B,MAAMC,SAAS,GAAG,CAAA,CAAA,EAAID,QAAQ,CAAA,CAAE;EAChC,MAAME,YAAY,GAAG,WAAW;EAChC,MAAMC,UAAU,GAAG,QAAQ;EAE3B,MAAMC,UAAU,GAAG,CAAA,IAAA,EAAOH,SAAS,CAAA,CAAE;EACrC,MAAMI,oBAAoB,GAAG,CAAA,aAAA,EAAgBJ,SAAS,CAAA,CAAE;EACxD,MAAMK,YAAY,GAAG,CAAA,MAAA,EAASL,SAAS,CAAA,CAAE;EACzC,MAAMM,UAAU,GAAG,CAAA,IAAA,EAAON,SAAS,CAAA,CAAE;EACrC,MAAMO,WAAW,GAAG,CAAA,KAAA,EAAQP,SAAS,CAAA,CAAE;EACvC,MAAMQ,YAAY,GAAG,CAAA,MAAA,EAASR,SAAS,CAAA,CAAE;EACzC,MAAMS,mBAAmB,GAAG,CAAA,aAAA,EAAgBT,SAAS,CAAA,CAAE;EACvD,MAAMU,uBAAuB,GAAG,CAAA,iBAAA,EAAoBV,SAAS,CAAA,CAAE;EAC/D,MAAMW,qBAAqB,GAAG,CAAA,eAAA,EAAkBX,SAAS,CAAA,CAAE;EAC3D,MAAMY,oBAAoB,GAAG,CAAA,KAAA,EAAQZ,SAAS,CAAA,EAAGC,YAAY,CAAA,CAAE;EAE/D,MAAMY,eAAe,GAAG,aAAa;EACrC,MAAMC,eAAe,GAAG,MAAM;EAC9B,MAAMC,eAAe,GAAG,MAAM;EAC9B,MAAMC,iBAAiB,GAAG,eAAe;EAEzC,MAAMC,aAAa,GAAG,cAAc;EACpC,MAAMC,uBAAuB,GAAG,iBAAiB;EACjD,MAAMC,oBAAoB,GAAG,cAAc;EAC3C,MAAMC,oBAAoB,GAAG,2BAA2B;EAExD,MAAMC,OAAO,GAAG;EACdC,EAAAA,QAAQ,EAAE,IAAI;EACdC,EAAAA,KAAK,EAAE,IAAI;EACXC,EAAAA,QAAQ,EAAE,IAAI;EACdC,EAAAA,KAAK,EAAE;EACT,CAAC;EAED,MAAMC,WAAW,GAAG;EAClBJ,EAAAA,QAAQ,EAAE,kBAAkB;EAC5BC,EAAAA,KAAK,EAAE,SAAS;EAChBC,EAAAA,QAAQ,EAAE,SAAS;EACnBC,EAAAA,KAAK,EAAE;EACT,CAAC;;EAED;EACA;EACA;;EAEA,MAAME,MAAM,SAASC,aAAa,CAAC;EACjCC,EAAAA,WAAWA,CAACC,OAAO,EAAEC,MAAM,EAAE;EAC3B,IAAA,KAAK,CAACD,OAAO,EAAEC,MAAM,CAAC;EAEtB,IAAA,IAAI,CAACC,cAAc,GAAGC,cAAc,CAACC,OAAO,CAAChB,uBAAuB,EAAE,IAAI,CAACiB,QAAQ,CAAC;EACpF,IAAA,IAAI,CAACC,SAAS,GAAG,IAAI,CAACC,mBAAmB,EAAE;EAC3C,IAAA,IAAI,CAACC,UAAU,GAAG,IAAI,CAACC,oBAAoB,EAAE;MAC7C,IAAI,CAACC,QAAQ,GAAG,KAAK;MACrB,IAAI,CAACC,gBAAgB,GAAG,KAAK;MAE7B,IAAI,CAACC,kBAAkB,EAAE;EAC3B,EAAA;;EAEA;IACA,WAAWrB,OAAOA,GAAG;EACnB,IAAA,OAAOA,OAAO;EAChB,EAAA;IAEA,WAAWK,WAAWA,GAAG;EACvB,IAAA,OAAOA,WAAW;EACpB,EAAA;IAEA,WAAW5B,IAAIA,GAAG;EAChB,IAAA,OAAOA,IAAI;EACb,EAAA;;EAEA;IACA6C,MAAMA,CAACC,aAAa,EAAE;EACpB,IAAA,OAAO,IAAI,CAACJ,QAAQ,GAAG,IAAI,CAACK,IAAI,EAAE,GAAG,IAAI,CAACC,IAAI,CAACF,aAAa,CAAC;EAC/D,EAAA;IAEAE,IAAIA,CAACF,aAAa,EAAE;EAClB,IAAA,IAAI,IAAI,CAACJ,QAAQ,IAAI,IAAI,CAACC,gBAAgB,EAAE;EAC1C,MAAA;EACF,IAAA;MAEA,MAAMM,SAAS,GAAGC,YAAY,CAACC,OAAO,CAAC,IAAI,CAACd,QAAQ,EAAE7B,UAAU,EAAE;EAChEsC,MAAAA;EACF,KAAC,CAAC;MAEF,IAAIG,SAAS,CAACG,gBAAgB,EAAE;EAC9B,MAAA;EACF,IAAA;MAEA,IAAI,CAACV,QAAQ,GAAG,IAAI;MACpB,IAAI,CAACC,gBAAgB,GAAG,IAAI;;EAE5B;EACAU,IAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,eAAe,GAAG,QAAQ;MAC9CH,QAAQ,CAACC,IAAI,CAACG,SAAS,CAACC,GAAG,CAAC3C,eAAe,CAAC;EAE5C,IAAA,IAAI,CAACuB,SAAS,CAACU,IAAI,CAAC,MAAM,IAAI,CAACW,YAAY,CAACb,aAAa,CAAC,CAAC;EAC7D,EAAA;EAEAC,EAAAA,IAAIA,GAAG;MACL,IAAI,CAAC,IAAI,CAACL,QAAQ,IAAI,IAAI,CAACC,gBAAgB,EAAE;EAC3C,MAAA;EACF,IAAA;MAEA,MAAMiB,SAAS,GAAGV,YAAY,CAACC,OAAO,CAAC,IAAI,CAACd,QAAQ,EAAEhC,UAAU,CAAC;MAEjE,IAAIuD,SAAS,CAACR,gBAAgB,EAAE;EAC9B,MAAA;EACF,IAAA;MAEA,IAAI,CAACV,QAAQ,GAAG,KAAK;MACrB,IAAI,CAACC,gBAAgB,GAAG,IAAI;EAC5B,IAAA,IAAI,CAACH,UAAU,CAACqB,UAAU,EAAE;MAE5B,IAAI,CAACxB,QAAQ,CAACoB,SAAS,CAACK,MAAM,CAAC7C,eAAe,CAAC;EAE/C,IAAA,IAAI,CAAC8C,cAAc,CAAC,MAAM,IAAI,CAACC,WAAW,EAAE,EAAE,IAAI,CAAC3B,QAAQ,EAAE,IAAI,CAAC4B,WAAW,EAAE,CAAC;EAClF,EAAA;EAEAC,EAAAA,OAAOA,GAAG;EACRhB,IAAAA,YAAY,CAACiB,GAAG,CAACC,MAAM,EAAElE,SAAS,CAAC;MACnCgD,YAAY,CAACiB,GAAG,CAAC,IAAI,CAAC9B,QAAQ,EAAEnC,SAAS,CAAC;EAE1C,IAAA,IAAI,CAACoC,SAAS,CAAC4B,OAAO,EAAE;EACxB,IAAA,IAAI,CAAC1B,UAAU,CAACqB,UAAU,EAAE;MAE5B,KAAK,CAACK,OAAO,EAAE;EACjB,EAAA;EAEAG,EAAAA,YAAYA,GAAG;EACb;EAAA,EAAA;;EAGF;EACA9B,EAAAA,mBAAmBA,GAAG;MACpB,OAAO,IAAI+B,QAAQ,CAAC;QAClBC,SAAS,EAAEC,OAAO,CAAC,IAAI,CAACC,OAAO,CAACjD,QAAQ,CAAC;EAAE;EAC3CkD,MAAAA,UAAU,EAAE,IAAI,CAACT,WAAW,EAAE;EAC9BU,MAAAA,SAAS,EAAE;EACb,KAAC,CAAC;EACJ,EAAA;EAEAlC,EAAAA,oBAAoBA,GAAG;MACrB,OAAO,IAAImC,SAAS,CAAC;QACnBC,WAAW,EAAE,IAAI,CAACxC;EACpB,KAAC,CAAC;EACJ,EAAA;IAEAsB,YAAYA,CAACb,aAAa,EAAE;EAC1B;MACA,IAAI,CAACO,QAAQ,CAACC,IAAI,CAACwB,QAAQ,CAAC,IAAI,CAACzC,QAAQ,CAAC,EAAE;QAC1CgB,QAAQ,CAACC,IAAI,CAACyB,MAAM,CAAC,IAAI,CAAC1C,QAAQ,CAAC;EACrC,IAAA;;EAEA;EACA,IAAA,IAAI,IAAI,CAACoC,OAAO,CAAC9C,KAAK,EAAE;EACtB,MAAA,IAAI,CAACU,QAAQ,CAAC2C,SAAS,EAAE;EAC3B,IAAA,CAAC,MAAM;EACL,MAAA,IAAI,CAAC3C,QAAQ,CAACW,IAAI,EAAE;EACtB,IAAA;EAEA,IAAA,IAAI,CAACX,QAAQ,CAAC4C,SAAS,GAAG,CAAC;MAE3B,MAAMC,UAAU,GAAG/C,cAAc,CAACC,OAAO,CAACf,oBAAoB,EAAE,IAAI,CAACa,cAAc,CAAC;EACpF,IAAA,IAAIgD,UAAU,EAAE;QACdA,UAAU,CAACD,SAAS,GAAG,CAAC;EAC1B,IAAA;EAEAE,IAAAA,eAAM,CAAC,IAAI,CAAC9C,QAAQ,CAAC;MAErB,IAAI,CAACA,QAAQ,CAACoB,SAAS,CAACC,GAAG,CAACzC,eAAe,CAAC;MAE5C,MAAMmE,kBAAkB,GAAGA,MAAM;EAC/B,MAAA,IAAI,IAAI,CAACX,OAAO,CAAChD,KAAK,EAAE;EACtB,QAAA,IAAI,CAACe,UAAU,CAAC6C,QAAQ,EAAE;EAC5B,MAAA;QAEA,IAAI,CAAC1C,gBAAgB,GAAG,KAAK;QAC7BO,YAAY,CAACC,OAAO,CAAC,IAAI,CAACd,QAAQ,EAAE5B,WAAW,EAAE;EAC/CqC,QAAAA;EACF,OAAC,CAAC;MACJ,CAAC;EAED,IAAA,IAAI,CAACiB,cAAc,CAACqB,kBAAkB,EAAE,IAAI,CAAClD,cAAc,EAAE,IAAI,CAAC+B,WAAW,EAAE,CAAC;EAClF,EAAA;EAEArB,EAAAA,kBAAkBA,GAAG;MACnBM,YAAY,CAACoC,EAAE,CAAC,IAAI,CAACjD,QAAQ,EAAExB,qBAAqB,EAAE0E,KAAK,IAAI;EAC7D,MAAA,IAAIA,KAAK,CAACC,GAAG,KAAKpF,UAAU,EAAE;EAC5B,QAAA;EACF,MAAA;EAEA,MAAA,IAAI,IAAI,CAACqE,OAAO,CAAC/C,QAAQ,EAAE;UACzB,IAAI,CAACqB,IAAI,EAAE;EACX,QAAA;EACF,MAAA;QAEA,IAAI,CAAC0C,0BAA0B,EAAE;EACnC,IAAA,CAAC,CAAC;EAEFvC,IAAAA,YAAY,CAACoC,EAAE,CAAClB,MAAM,EAAE1D,YAAY,EAAE,MAAM;QAC1C,IAAI,IAAI,CAACgC,QAAQ,IAAI,CAAC,IAAI,CAACC,gBAAgB,EAAE;EAG/C,IAAA,CAAC,CAAC;MAEFO,YAAY,CAACoC,EAAE,CAAC,IAAI,CAACjD,QAAQ,EAAEzB,uBAAuB,EAAE2E,KAAK,IAAI;EAC/D;QACArC,YAAY,CAACwC,GAAG,CAAC,IAAI,CAACrD,QAAQ,EAAE1B,mBAAmB,EAAEgF,MAAM,IAAI;EAC7D,QAAA,IAAI,IAAI,CAACtD,QAAQ,KAAKkD,KAAK,CAACK,MAAM,IAAI,IAAI,CAACvD,QAAQ,KAAKsD,MAAM,CAACC,MAAM,EAAE;EACrE,UAAA;EACF,QAAA;EAEA,QAAA,IAAI,IAAI,CAACnB,OAAO,CAACjD,QAAQ,KAAK,QAAQ,EAAE;YACtC,IAAI,CAACiE,0BAA0B,EAAE;EACjC,UAAA;EACF,QAAA;EAEA,QAAA,IAAI,IAAI,CAAChB,OAAO,CAACjD,QAAQ,EAAE;YACzB,IAAI,CAACuB,IAAI,EAAE;EACb,QAAA;EACF,MAAA,CAAC,CAAC;EACJ,IAAA,CAAC,CAAC;EACJ,EAAA;EAEAiB,EAAAA,WAAWA,GAAG;EACZ;EACA,IAAA,IAAI,CAAC3B,QAAQ,CAACwD,KAAK,EAAE;MAErB,IAAI,CAAClD,gBAAgB,GAAG,KAAK;EAE7B,IAAA,IAAI,CAACL,SAAS,CAACS,IAAI,CAAC,MAAM;QACxBM,QAAQ,CAACC,IAAI,CAACG,SAAS,CAACK,MAAM,CAAC/C,eAAe,CAAC;EAC/CsC,MAAAA,QAAQ,CAACC,IAAI,CAACC,KAAK,CAACC,eAAe,GAAG,EAAE;QACxCN,YAAY,CAACC,OAAO,CAAC,IAAI,CAACd,QAAQ,EAAE9B,YAAY,CAAC;EACnD,IAAA,CAAC,CAAC;EACJ,EAAA;EAEA0D,EAAAA,WAAWA,GAAG;MACZ,OAAO,IAAI,CAAC5B,QAAQ,CAACoB,SAAS,CAACqB,QAAQ,CAAC9D,eAAe,CAAC;EAC1D,EAAA;EAEAyE,EAAAA,0BAA0BA,GAAG;MAC3B,MAAM7B,SAAS,GAAGV,YAAY,CAACC,OAAO,CAAC,IAAI,CAACd,QAAQ,EAAE/B,oBAAoB,CAAC;MAC3E,IAAIsD,SAAS,CAACR,gBAAgB,EAAE;EAC9B,MAAA;EACF,IAAA;EAEA,IAAA,MAAM0C,mBAAmB,GAAG,IAAI,CAACzD,QAAQ,CAAC0D,YAAY,GAAG1C,QAAQ,CAAC2C,eAAe,CAACC,YAAY;MAC9F,MAAMC,gBAAgB,GAAG,IAAI,CAAC7D,QAAQ,CAACkB,KAAK,CAAC4C,SAAS;EACtD;EACA,IAAA,IAAID,gBAAgB,KAAK,QAAQ,IAAI,IAAI,CAAC7D,QAAQ,CAACoB,SAAS,CAACqB,QAAQ,CAAC5D,iBAAiB,CAAC,EAAE;EACxF,MAAA;EACF,IAAA;MAEA,IAAI,CAAC4E,mBAAmB,EAAE;EACxB,MAAA,IAAI,CAACzD,QAAQ,CAACkB,KAAK,CAAC4C,SAAS,GAAG,QAAQ;EAC1C,IAAA;MAEA,IAAI,CAAC9D,QAAQ,CAACoB,SAAS,CAACC,GAAG,CAACxC,iBAAiB,CAAC;MAC9C,IAAI,CAAC6C,cAAc,CAAC,MAAM;QACxB,IAAI,CAAC1B,QAAQ,CAACoB,SAAS,CAACK,MAAM,CAAC5C,iBAAiB,CAAC;QACjD,IAAI,CAAC6C,cAAc,CAAC,MAAM;EACxB,QAAA,IAAI,CAAC1B,QAAQ,CAACkB,KAAK,CAAC4C,SAAS,GAAGD,gBAAgB;EAClD,MAAA,CAAC,EAAE,IAAI,CAAChE,cAAc,CAAC;EACzB,IAAA,CAAC,EAAE,IAAI,CAACA,cAAc,CAAC;EAEvB,IAAA,IAAI,CAACG,QAAQ,CAACZ,KAAK,EAAE;EACvB,EAAA;;EAEA;EACA,EAAA,OAAO2E,eAAeA,CAACnE,MAAM,EAAEa,aAAa,EAAE;EAC5C,IAAA,OAAO,IAAI,CAACuD,IAAI,CAAC,YAAY;QAC3B,MAAMC,IAAI,GAAGzE,MAAM,CAAC0E,mBAAmB,CAAC,IAAI,EAAEtE,MAAM,CAAC;EAErD,MAAA,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;EAC9B,QAAA;EACF,MAAA;EAEA,MAAA,IAAI,OAAOqE,IAAI,CAACrE,MAAM,CAAC,KAAK,WAAW,EAAE;EACvC,QAAA,MAAM,IAAIuE,SAAS,CAAC,CAAA,iBAAA,EAAoBvE,MAAM,GAAG,CAAC;EACpD,MAAA;EAEAqE,MAAAA,IAAI,CAACrE,MAAM,CAAC,CAACa,aAAa,CAAC;EAC7B,IAAA,CAAC,CAAC;EACJ,EAAA;EACF;;EAEA;EACA;EACA;;EAEAI,YAAY,CAACoC,EAAE,CAACjC,QAAQ,EAAEvC,oBAAoB,EAAEQ,oBAAoB,EAAE,UAAUiE,KAAK,EAAE;EACrF,EAAA,MAAMK,MAAM,GAAGzD,cAAc,CAACsE,sBAAsB,CAAC,IAAI,CAAC;EAE1D,EAAA,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAACC,QAAQ,CAAC,IAAI,CAACC,OAAO,CAAC,EAAE;MACxCpB,KAAK,CAACqB,cAAc,EAAE;EACxB,EAAA;IAEA1D,YAAY,CAACwC,GAAG,CAACE,MAAM,EAAEpF,UAAU,EAAEyC,SAAS,IAAI;MAChD,IAAIA,SAAS,CAACG,gBAAgB,EAAE;EAC9B;EACA,MAAA;EACF,IAAA;EAEAF,IAAAA,YAAY,CAACwC,GAAG,CAACE,MAAM,EAAErF,YAAY,EAAE,MAAM;EAC3C,MAAA,IAAIgE,kBAAS,CAAC,IAAI,CAAC,EAAE;UACnB,IAAI,CAAC9C,KAAK,EAAE;EACd,MAAA;EACF,IAAA,CAAC,CAAC;EACJ,EAAA,CAAC,CAAC;;EAEF;EACA,EAAA,MAAMoF,WAAW,GAAG1E,cAAc,CAACC,OAAO,CAACjB,aAAa,CAAC;EACzD,EAAA,IAAI0F,WAAW,EAAE;MACfhF,MAAM,CAACiF,WAAW,CAACD,WAAW,CAAC,CAAC9D,IAAI,EAAE;EACxC,EAAA;EAEA,EAAA,MAAMuD,IAAI,GAAGzE,MAAM,CAAC0E,mBAAmB,CAACX,MAAM,CAAC;EAE/CU,EAAAA,IAAI,CAACzD,MAAM,CAAC,IAAI,CAAC;EACnB,CAAC,CAAC;AAEFkE,4CAAoB,CAAClF,MAAM,CAAC;;;;;;;;"}
\ No newline at end of file
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'
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'
Button,
Carousel,
Collapse,
+ Dialog,
Dropdown,
Modal,
Offcanvas,
--- /dev/null
+/**
+ * --------------------------------------------------------------------------
+ * 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
--- /dev/null
+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
--- /dev/null
+@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
@use "breadcrumb";
@use "card";
@use "carousel";
+@use "dialog";
@use "dropdown";
@use "list-group";
@use "modal";
--- /dev/null
+---
+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